单据转换.常见问题.选单后辅助属性字段值丢失
【场景】选单后辅助属性字段值丢失
对应下图所示 修改值被复原为 [深圳]
![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...
点击下载文档
本文2024-09-16 18:16:32发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-21077.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章