单据转换.常见问题.选单后辅助属性字段值丢失

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

单据转换.常见问题.选单后辅助属性字段值丢失

【场景】选单后辅助属性字段值丢失 对应下图所示 修改值被复原为 [深圳] ![231025 1046.webp](/download/0100a0badbd60c1c4a8995f5bb255f62c531.webp) 【原因】 (1)弹性域字段不同于基础资料字段,原则上基础资料是不能修改基础资料内的值; 而弹性域是支持修改的,在原来的弹性域数据包上修改,在保存时判断维度值和当前内码是否匹配,是否重新生成新的内码 (2)选单再做字段映射后,因为映射值是内码,会当生成的数据包进行引用数据包加载(基础资料) 其中会使用弹性域内码重新加载数据包,导致值还原 【方案】选单前,强制保存一遍当前界面的辅助属性字段 ![image.webp](/download/0100a55dd2df939b481fbe05a94dfc7dc74a.webp) ```python import clr clr.AddReference("mscorlib") clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") clr.AddReference("Kingdee.BOS.App.Core") clr.AddReference("System.Data") from Kingdee.BOS import * from Kingdee.BOS.App.Core import * from Kingdee.BOS.Util import * from System import * from System.Collections.Generic import * from System.Data import * def BeforeDoOperation(e): if e.Operation == None or e.Operation.FormOperation == None: return; opKey = e.Operation.FormOperation.Operation; if opKey == None: return; if (opKey.Equals("Draw", StringComparison.OrdinalIgnoreCase)): flexSaveService = FlexSaveService(this.View.Context, "Save"); billObj = this.Model.DataObject; objArray = Array.CreateInstance(billObj.GetType(), 1); objArray[0] = billObj; flexSaveService.SaveFlexFixedColumn(this.View.BillBusinessInfo, objArray); ``` 【效果】 ![231025 1132.webp](/download/010035b3192730cf4f41b6d5ab2ff2467f7d.webp)

单据转换.常见问题.选单后辅助属性字段值丢失

【场景】选单后辅助属性字段值丢失对应下图所示 修改值被复原为 [深圳]![231025 1046.webp](/download/0100a0badbd60c1c4a8995f5bb255f6...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息