本文回答了关于API接口数据处理的多个问题,包括JSON字段传值顺序导致字段值丢失或错误、API保存明细金额与计划金额不等、字段值丢失或数据错误、单据未自动核销、单据编号不匹配、审核时插入NULL值失败、必录字段未校验以及到期日自动变更等问题,并提供了相应的解决方案。
1、某字段值丢失,联动关系传了A字段的值但没有带其属性值给到字段B?
答:JSON字段传值顺序问题,字段赋值后被后面的字段触发实体服务规则清空字段值 。
解决方案:按实际情况调整json值顺序
2、应收应付单API保存,明细金额不等于计划金额?
答:平台为了提高性能,API接口明细数量金额字段不触发计划重算,物料变更会触发,单据头金额发生变化会触发,如果前后两次保存总金额不变会导致计划最 后一行金额为0。
调整方案:新增且需要传入计划时,需要传入单据头价税合计字段并赋值正确;不传计划时,无需传入价税合计字段。
修改时且需要传入计划时,需传入FID以及正确的单据头价税合计字段,不传计划时修改单据头之类的字段,出入价税合计赋值0即可。
3、不管字段顺序怎么调整某字段值丢失或是没按预期执行实体服务规则导致数据错误?
答:其原因是JSON字符里传了IsAutoAdjustField=true,系统字段调整JSON顺序,导致客户不管怎么调整JSON传值顺序都没有效果。
4、API传入的单据跟上游建立关联关系后,没有实现自动核销?
答:关联关系表:FEntityDetail_Link , 原始携带量(上游单据总量)、 修改携带量(本次下推多少)这两个字段没有传值,导致核销取不到金额。
参考:https://vip.kingdee.com/article/535835758863496192?productLineId=1&lang=zh-CN
5、JSON传了单据编号,但实际生产单据单据编码不对,非传递的值? 答:其原因是字段的功能控制没有勾选允许引用。
6、API保存成功后,审核时提示:不能将值 NULL 插入列 'FAMOUNT',表#TM_AP_MATCHSOURCETARGET';列不允许有 Null 值。INSERT 失败。语句已终止? 答:单据通过API传值,建立了关联关系但原始携带量(上游单据总量)、修改携带量(本次下推多少)这两个字段没有传值
7、设置了字段为必录,但JSON里该字段没有值单据也保存成功了?
答:其原因是ValidateFlag参数传了False,设为false时不对数据合法性进行校验。
8、其他应付单保存的API接口,JSON里面输入的到期日是 8.15 ,但是生成单据显示的到期日会自动跳转到下月最后一天
答:其原因是JSON报文到期日字段先于往来单位字段赋值,而往来单位变更会根据往来单位配置的付款条件自动计算到期日从而覆盖接口传的值,把到期日字段放在往来单位之后即可。 备 注:大部分数据异常问题都是字段传值顺序所致。
推荐阅读