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

二开学习2-1表单插件

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

二开学习2-1表单插件

原帖来自于:二开案例.Python插件.表单插件执行SQL
业务场景模拟:采购订单根据选择的供应商获取供应商的已下单次数
BOS新建一个整数类型的字段和一个按钮
image.webp

  • #单据头菜单点击事件,从参数e中获取菜单标识,来判断是哪个菜单发生了点击

    def BarItemClick(e):

        key=e.BarItemKey.ToUpperInvariant();#菜单标识大写

        if(key=="TESTBTN1".ToUpperInvariant()):#替换成自己添加的按钮标识

            msg=("菜单[{0}]点击事件捕捉到了,可以继续菜单的功能啦!").format(key);

            this.View.ShowMessage(msg);

  • 获取供应商字段标识,绑定实体属性

    billObj = this.View.Model.DataObject;

            supplierObj = billObj['supplierid'];

  • 判断供应商是否选择

    if supplierObj == None:

                this.View.ShowWarnningMessage('请先选择供应商!');

                return  

  • 根据结果进行判断

    if count == 0:

                this.Model.SetValue('F_VSZN_OrderCount',dbs);

                this.View.ShowWarnningMessage('供应商'+format(supplierObj["NAME"])+'目前没有采购记录。');

            else:

                this.Model.SetValue('F_VSZN_OrderCount',dbs);

                this.View.ShowMessage('下单次数已获取到,供应商是:'+format(supplierObj["NAME"]));

完整代码

#引入clr运行库
import clr
#添加对cloud插件开发的常用组件的引用
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.DataEntity')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.App.Core')
clr.AddReference('Kingdee.BOS.ServiceHelper')
#导入cloud基础库中的常用实体对象(分命名空间导入,不会递归导入)
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DependencyRules import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from System import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.Metadata.EntityElement import *
from Kingdee.BOS.Core.Metadata.FieldElement import *
from Kingdee.BOS.Orm.DataEntity import *

def BarItemClick(e):
    key=e.BarItemKey.ToUpperInvariant();#菜单标识大写
    if(key=="VSZN_tbGetOrderCount".ToUpperInvariant()):
        msg=("菜单[{0}]点击事件捕捉到了,可以继续菜单的功能啦!").format(key);
        billObj = this.View.Model.DataObject;
        supplierObj = billObj['supplierid'];
  

二开学习2-1表单插件

原帖来自于:二开案例.Python插件.表单插件执行SQL业务场景模拟:采购订单根据选择的供应商获取供应商的已下单次数BOS新建一个整数类型的字...
点击下载文档文档为doc格式

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

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