Filemaker Pro 18升19后发票到期天数计算脚本异常求助
FileMaker Pro 19 发票到期天数计算脚本调整方案
问题分析
原计算脚本If(GetAsNumber(Amount Paid)<GetAsNumber(Order Total);Today- Invoice Date;0)存在两个核心问题:
- 当系统当前日期早于发票创建日期时,会出现负数到期天数,不符合创建时显示0的需求
Today函数在FileMaker 19中虽与Get(CurrentDate)等价,但使用后者的行为更明确,能规避版本适配的潜在差异
调整后的计算脚本
If( GetAsNumber(Amount Paid) < GetAsNumber(Order Total); Max( Get(CurrentDate) - Invoice Date; 0 ); 0 )
关键调整说明
- 用
Max(..., 0)做兜底:未付款时,无论当前日期早于或等于发票创建日期,都会显示0,完全匹配需求 - 替换
Today为Get(CurrentDate):函数语义更清晰,适配FileMaker 19的计算逻辑规范 - 务必将Days Due字段的计算选项设置为「不存储」:确保每次查看记录时,都会基于实时日期重新计算,避免缓存旧值导致的异常
额外验证项
- 确认「Invoice Date」字段确实自动绑定为记录创建日期,未被其他脚本或手动操作篡改
- 测试付款流程,验证款项付清时到期天数仍能正确归零
内容的提问来源于stack exchange,提问作者Artios Media
相关产品推荐
相关产品推荐

