电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

WebAPI对接分步式调入单BOM版本问题处理案例

来源:金蝶云社区作者:金蝶2024-09-164

WebAPI对接分步式调入单BOM版本问题处理案例

一、【业务问题】

第三方系统通过星空系统WebAPI对接分步式调出单、分步式调入单,保存分步式调出单,物料启用了BOM且系统配置有该物料清单,默认会携带一个最新的bom版本赋值到分步式调出单的BOM版本字段。通过接口保存生成的分步式调入单如何自动调用最新的bom版本号,当前写入分步式调入单保存提示"调出物料启用BOM管理,BOM不允许为空"


image.webp


二、【分析解决】

系统的设计中分步式调入单不允许手工新增,均是由分步式调出单下推生成,由于上游分步式调出单针对调入调出的数据都已填写完整,下推分步式调出,通过单据转换的字段映射携带,BOM相关赋值没有问题。客户直接对接写入分步式调入单,按理说数据包中调出调入BOM都有值,调用保存依然提示"调出BOM为空"。


分步式调出单插件赋值逻辑:物料 --值更新触发--> 加载,赋值调出BOM, 物料 --值更新触发--> 同步赋值调入物料 --值更新触发--> 加载,赋值调入BOM


参考分步式调出单的赋值逻辑,分析定位问题,查看分步式调入单的表单插件,要满足BOM的赋值,几个地方需要做修改

反编译组件Kingdee.K3.SCM.Stock.Business.PlugIn.dll,定位分步式调入单表单插件

image.webp


调试分析定位问题,查看分步式调入单的表单插件,要满足BOM的赋值,几个地方需要做修改。

1、物料赋值时,默认会触发对BOM版本的赋值,在BOM版本添加值更新,触发调出BOM的赋值

image.webp


调用报错,未解决问题。定位调入物料配置有值更新,导致调出BOM被清空,将值更新服务修改为"引入和WEB API禁用"

image.webp


调用报错,未解决问题。发现DataChanged事件中,this.View.Model.SetValue("FBOMID")操作没有触发"BOM版本"字段的值更新,二开表单插件,通过this.View.InvokeFieldUpdateService("FBOMID", e.Row)强制触发字段更新服务

image.webp

import clr
clr.AddReference("System")
clr.AddReference("System.Core")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.K3.SCM.Business")

from System import *
from System import StringComparison
from Kingdee.B

WebAPI对接分步式调入单BOM版本问题处理案例

一、【业务问题】第三方系统通过星空系统WebAPI对接分步式调出单、分步式调入单,保存分步式调出单,物料启用了BOM且系统配置有该物料清单...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信