销售退货单Python干预退货校验逻辑试例
在金蝶云星空版本 PT-146906 [8.0.0.202203] 之前,销售退货单中的 ReturnStockEdit 单据插件(此插件在程序集文件 Kingdee.K3.SCM.Sal.Business.PlugIn.dll中)会拒绝录入退货检验的物料,退货检验的物料必须先走完校验流程后从退货通知单下推过来,相关逻辑是在方法 BeforeF7Select 和 BeforeSetItemValueByNumber (这两个方法都调用了另一个方法GetFieldFilter)中控制的,反编译截图如下图1-1所示:
图1-1
上图1-1中是星空新版本(PT-146906 [8.0.0.202203])之后的插件反编译截图,其中添加了对WebApi操作的兼容逻辑。如果是WebApi,则允许赋值成功(在之前的版本中,if语句中是没有 base.View.ClientType != ClientType.WebApi),并且在保存操作上挂载了一个校验器,相关截图如下图1-2所示:
图1-2
针对客户通过WebApi生成销售退货单(物料为退货检验的),则只需要升级到PT-146906 [8.0.0.202203]版本并将保存操作上的校验 '需退货检验物料不能直接退货,请走检验线路!' 禁用即可。如果想在销售退货单新增界面上也能选择到退货检验物料,则可以扩展销售退货单,在表单插件列表的最后位置注册一个Python插件,如下图1-3所示:
图1-3
上图中的Python代码如下(请使用附件中的代码,不要直接在论坛中复制下文):
# -*- coding: utf-8 -*- #销售退货单表单插件 import clr clr.AddReference('System') clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') from System import * from Kingdee.BOS import * from Kingdee.BOS.Core import * global checkMaterialFilter; checkMaterialFilter = "AND FCHECKRETURN <> '1'"; def BeforeF7Select(e): if(e.FieldKey.ToUpperInvariant() == "FMATERIALID"): if e.ListFilterParameter.Filter is not None: e.ListFilterParameter.Filter = e.ListFilterParameter.Filter.Replace(checkMaterialFilter, ""); def BeforeSetItemValueByNumber(e): if(e.BaseDataFieldKey.ToUpperInvariant() == "FMATERIALID"): if e.Filter is not None: e.Filter = e.Filter.Replace(checkMaterialFilter, "");
上文中的代码逻辑大致为:Python插件执行前会先执行通版的 ReturnStockEdit 插件(按插件列表中的顺序执行),通版插件会向e.ListFilterParameter.Filter 追加 AND FCHECKRETURN <> '1' 过滤条件,而我们新加的Python逻辑只是按条件去删除过滤条件 AND FCHECKRETURN <> '1' 而已。注册完后,则可以选择到检验物料了,如下图1-4所示:
图1-4
销售退货单Python干预退货校验逻辑试例
本文2024-09-16 19:03:28发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-26116.html
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf