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

销售退货单Python干预退货校验逻辑试例

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

销售退货单Python干预退货校验逻辑试例

    在金蝶云星空版本 PT-146906 [8.0.0.202203] 之前,销售退货单中的 ReturnStockEdit 单据插件(此插件在程序集文件 Kingdee.K3.SCM.Sal.Business.PlugIn.dll中)会拒绝录入退货检验的物料,退货检验的物料必须先走完校验流程后从退货通知单下推过来,相关逻辑是在方法 BeforeF7SelectBeforeSetItemValueByNumber (这两个方法都调用了另一个方法GetFieldFilter)中控制的,反编译截图如下图1-1所示:

image.webp

图1-1


    上图1-1中是星空新版本(PT-146906 [8.0.0.202203])之后的插件反编译截图,其中添加了对WebApi操作的兼容逻辑。如果是WebApi,则允许赋值成功(在之前的版本中,if语句中是没有 base.View.ClientType != ClientType.WebApi,并且在保存操作上挂载了一个校验器,相关截图如下图1-2所示:

image.webp

图1-2


    针对客户通过WebApi生成销售退货单(物料为退货检验的),则只需要升级到PT-146906 [8.0.0.202203]版本并将保存操作上的校验 '需退货检验物料不能直接退货,请走检验线路!' 禁用即可。如果想在销售退货单新增界面上也能选择到退货检验物料,则可以扩展销售退货单,在表单插件列表的最后位置注册一个Python插件,如下图1-3所示:

image.webp图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

销售退货单Python干预退货校验逻辑试例

在金蝶云星空版本 PT-146906 [8.0.0.202203] 之前,销售退货单中的 ReturnStockEdit 单据插件(此插件在程序集文件 Kingdee.K3.SCM.S...
点击下载文档文档为doc格式

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

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