Python实例1:使用DataChanged触发实时提示并锁定保存按钮

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

Python实例1:使用DataChanged触发实时提示并锁定保存按钮

实例描述:采购订单中新增源单采购数量,根据采购数量变动,判断采购数量是否低于源单采购数量的10%,进行实时异常提示并锁定保存按钮


实例效果:

image.webp


注册python:

image.webp

pyhton代码:


def DataChanged(f):
    # 获取当前修改的字段名
    fieldName = f.Key
    # 单据体行数
    fieldRow = this.Model.GetEntryRowCount('FPOOrderEntry')
    # 单据体字段状态
    fieldType = []
    # 判断当前修改的字段是否为采购数量
    if fieldName.Equals("FQty"):
        for i in range(fieldRow):
            # 获取单据体源单采购数量第i行数据
            sourceData = this.Model.GetValue('F_PAEZ_Qty', i)
            # 获取单据体采购数量第i行数据
            purchaseData = this.Model.GetValue('FQTY', i)
            if purchaseData<sourceData*0.1:
                # 显示异常提示信息
                this.View.ShowErrMessage("保存按钮已被锁定!原因为:第"+str(i+1)+"行的填写的采购数量小于源单采购数量"+str(sourceData)+"的10%,请修改!")
                # 锁定保存/暂存按钮
                this.View.GetMainBarItem("tbSplitSave").Enabled = False
                this.View.GetMainBarItem("tbSave").Enabled = False
                this.View.GetMainBarItem("tbSaveTemp").Enabled = False
                fieldType.append(0)
            else: fieldType.append(1)
        fieldTypeTotal = sum(fieldType)
        if fieldRow==fieldTypeTotal:
            # 解锁保存按钮
            this.View.GetMainBarItem("tbSplitSave").Enabled = True
            this.View.GetMainBarItem("tbSave").Enabled = True
            this.View.GetMainBarItem("tbSaveTemp").Enabled = True



参考信息:

A>二开案例.表单插件.事件.DataChanged@金蝶云社区 

https://wenku.my7c.com/article/377501467575349760?productLineId=1&isKnowledge=2&lang=zh-CN


B>金蝶云星空BOS二次开发案例演示@金蝶云社区 

https://wenku.my7c.com/article/94751030918525696?lang=zh-CN&productLineId=1&isKnowledge=2


C>【新手入门】插件实操【分享汇总】@林荫大道cc

https://wenku.my7c.com/article/64993872014591232?lang=zh-CN&productLineId=1


Python.Check.PurchaseData.SourceData.ShowMessage.zip

Python实例1:使用DataChanged触发实时提示并锁定保存按钮

实例描述:采购订单中新增源单采购数量,根据采购数量变动,判断采购数量是否低于源单采购数量的10%,进行实时异常提示并锁定保存按钮实例...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息