使用WEBAPI工序计划下推生成工序汇报原创
金蝶云社区-田野落日
田野落日
7人赞赏了该文章 475次浏览 未经作者许可,禁止转载编辑于2024年07月12日 14:21:09

由于工序计划下推工序汇报,不能以分录行下推的原因,参考如下官方帖子。


二开案例.WEBAPI.使用WEBAPI工序计划下推生成工序汇报 (kingdee.com)


实际在Postman测试,总是报如下错误:


{"IsSuccess":"false","Message":{"ClassName":"System.ArgumentException","Message":"已添加了具有相同键的项。",...}}


在这个坑里面折腾了一天,数据包各种尝试都无法解决,但奇怪的是单据保存与审核是成功的。


通过对ILSpy对源码的的分析发现,报错是如下代码行:


DynamicObjectToJsonConverter.MapDataObjectProperty(meta.BusinessInfo, jSONObject, x);


根据报错提示是此方法内部 SetBaseDataField 抛出的错误,再深入到此方法内部发现BUG所在行:


 if (bdField.NameProperty != null)
{
            bdObj.Add(bdField.NameProperty.Key, bdField.GetRefPropertyValue(baseDataObj, bdField.NameProperty.Key));
}


修改为:


if (bdField.NameProperty != null && !bdObj.ContainsKey(bdField.NameProperty.Key))

{

    bdObj.Add(bdField.NameProperty.Key, bdField.GetRefPropertyValue(baseDataObj, bdField.NameProperty.Key));

}


希望官方尽快修复。

图标赞 7
7人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!