销售订单的自定义字段(项目基础资料)携带至收款计划页签(项目基础资料)原创
金蝶云社区-许畅畅
许畅畅
15人赞赏了该文章 81次浏览 未经作者许可,禁止转载编辑于2024年09月27日 16:13:02

前提:销售订单的收款条件必须为按物料明细收款

操作路径:销售订单-表单插件-注册Python脚本:

image.png

import clr

clr.AddReference('mscorlib')

from System import *

def DataChanged(e):

    #监控是不是指定字段发生改变

    if e.Field.Key == "FRecConditionId" or e.Field.Key == "F_VOPH_xm":

        UpdatePriceAndDecimal()

def UpdatePriceAndDecimal():

    FRecCondition = this.View.Model.GetValue("FRecConditionId")#表头收款条件

    if not FRecCondition is None:

        if  FRecCondition["RECMETHOD"] == "3":#收款条件按物料明细收款

            SaleOrderEntry = this.View.Model.DataObject["SaleOrderEntry"]#明细信息页签

            FSaleOrderPlan = this.View.Model.DataObject["SaleOrderPlan"]#收款计划页签

            if not SaleOrderEntry is None and SaleOrderEntry.Count > 0 and  not FSaleOrderPlan is None and FSaleOrderPlan.Count > 0:

                for itemSOEntry in SaleOrderEntry:

                    seqSO = itemSOEntry["Seq"]

                    for itemFI in FSaleOrderPlan:

                        seqFI = itemFI["MaterialSeq"]

                        if seqSO == seqFI:#当收款计划的物料行号跟明细的行号一致时

                           #当字段为基础资料等结构型字段时

                           p = this.View.BillBusinessInfo.GetField("F_VOPH_xm1")

                           this.View.Model.SetValue(p,itemFI,itemSOEntry["F_VOPH_xm"])

                    this.View.UpdateView("FSaleOrderPlan")#更新视图

实现效果:

image.png

image.png

赞 15