即时库存明细格式化数据处理实现案例

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

即时库存明细格式化数据处理实现案例

一、【业务需求】

物料设置了默认仓库,添加了自定义文本字段,添加到了即时库存中显示(基础资料属性),想实现即时库存中物料仓库如果是默认仓库,显示扩展字段,如果即时库存中物料仓库不是默认仓库,则显示为空


二、【实现】

二开列表插件重写FormatCellValue方法


import clr
clr.AddReference("System")
clr.AddReference("System.Core")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS.DataEntity")
clr.AddReference('Kingdee.BOS.App')

from System import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.List.PlugIn import *
from Kingdee.BOS.Core.List.PlugIn.Args import *
from Kingdee.BOS.Util import *
from Kingdee.BOS.Orm.DataEntity import *

def FormatCellValue(args):
    if args.Header.Key == "F_ora_BaseProperty":
        material_Ref = args.DataRow["FMaterialId_Ref"]
        materialStocks = material_Ref["MaterialStock"]
        materialStock = materialStocks[0]["StockId"]
        defaultStockName = Convert.ToString(materialStock["Name"])
        if args.DataRow.ColumnContains("FStockName") == True:
            stockName = Convert.ToString(args.DataRow["FStockName"])
            if defaultStockName != stockName:
                args.FormateValue = ""


image.webp


说明:

1、通过args.DataRow["FMaterialId_Ref"]可以获取整个物料基础资料的DynamicObject数据包(前提:添加了相关的引用属性)

2、args.DataRow[""]能够返回各种类型的数据包:基础资料,数量,价格,文本等

3、测试发现即使类型是"基础资料属性",也可以进行任意的赋值


即时库存明细FormatCellValue.rar

即时库存明细格式化数据处理实现案例

一、【业务需求】物料设置了默认仓库,添加了自定义文本字段,添加到了即时库存中显示(基础资料属性),想实现即时库存中物料仓库如果是默...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息