库存状态转换单转换前后数据联动处理

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

库存状态转换单转换前后数据联动处理

一、【业务需求】

1、需求场景: 库存状态转换单,主要关注转换前后的库存状态,其他维度应该是保持一致的

2、库存查询返回数据携带同样的数量和仓库到转换后的对应行数据,如何设置?

3、修改转换前的仓库、数量字段,对应转换后的字段联动赋值


二、【分析实现】

实现思路:如何找到同组关系,

1、修改转换前仓库,找到同组的转换后分录,赋值仓库,数量

2、修改转换后仓库,找到同组的转换前分录,赋值仓库,数量


注册表单插件脚本

import clr
clr.AddReference("System")
clr.AddReference("System.Core")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.Core")

from System import *
from System import StringComparison
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *

def DataChanged(e):
    if e.Field.Key.Equals("FStockId", StringComparison.InvariantCultureIgnoreCase) or e.Field.Key.Equals("FConvertQty", StringComparison.InvariantCultureIgnoreCase):
        changeType = this.View.Model.GetValue("FConvertType", e.Row)
        stockId = this.View.Model.GetValue("FStockId", e.Row)
        convertQty = this.View.Model.GetValue("FConvertQty", e.Row)
        if stockId is not None:
            if changeType == "A":
                totalRow = this.View.Model.GetEntryRowCount("FEntity");
                if totalRow - e.Row > 1: # 转换前分录 存在对应转换后分录
                    this.View.Model.SetValue("FStockId", stockId, e.Row + 1)
                    this.View.Model.SetValue("FConvertQty", convertQty, e.Row + 1)
            else: # 操作转换后
                for i in reversed(range(0, e.Row)):
                    changeType = this.View.Model.GetValue("FConvertType", i)
                    if changeType == "A":
                        this.View.Model.SetValue("FStockId", stockId, i)
                        this.View.Model.SetValue("FConvertQty", convertQty, i)
                        break


image.webp

库存状态转换单转换前后数据联动处理.rar

库存状态转换单转换前后数据联动处理

一、【业务需求】1、需求场景: 库存状态转换单,主要关注转换前后的库存状态,其他维度应该是保持一致的2、库存查询返回数据携带同样的数...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息