Python实例4:使用AfterCreateModelData事件原创
金蝶云社区-风以灵
风以灵
24人赞赏了该文章 202次浏览 未经作者许可,禁止转载编辑于2024年04月11日 08:52:44

实例描述:费用核销单下推生成付款单后将对应单据体的金额赋值给不同单据体字段


实例效果:

image.png

注册python:

image.png


python代码:

def AfterCreateModelData(f):
    # 获取单据体行数
    rowIndex = this.Model.GetEntryRowCount('FPAYBILLSRCENTRY')
    # 存储所有应付金额
    amounts = []
    # 判断源单明细每一行的应付金额是否有值,没有值不处理,有值则将应付金额携带到明细信息.应付金额
    for i in range(0, rowIndex):
        # 判断付款单源单明细第一行应付金额是否为空
        if this.Model.GetValue('FREALPAYAMOUNT_S', i):
            # 不为空时获取付款单源单明细对应行的应付金额
            a = this.Model.GetValue('FREALPAYAMOUNT_S', i)
            # 将获取的源单明细应付金额添加到列表中
            amounts.append(a)
    # 计算所有应付金额之和
    total_amount = sum(amounts)
    # 更新到明细信息.应付金额
    this.Model.SetValue('FPAYTOTALAMOUNTFOR', total_amount)


赞 24