K3Cloud 设置基础资料字段值

在单据界面上,给单据体字段赋值时,使用this.Model.SetValue(key, value, row),需要传入单据体行的索引,而单据头却不需要传入行索引。

在单据转换插件中,采用DynamicProperty.SetValue(obj, value),第一参数是数据包,如果给单据头字段赋值,则传入单据数据包,如果给单据体字段赋值,则传入单据体数据包。两种情况在赋值语句上,没有任何差别。


附:给仓库字段赋值代码示例
BaseDataField stockFld = e.TargetBusinessInfo.GetField("FStockId") as BaseDataField;
long stockId = Convert.ToInt64(reader["FStockId"]);

IViewService viewService = ServiceHelper.GetService<IViewService>();
DynamicObject[] stockObjs = viewService.LoadFromCache(this.Context, new object[] { stockId }, stockFld.RefFormDynamicObjectType);

stockFld.RefIDDynamicProperty.SetValue(newRowObj, stockId);
stockFld.DynamicProperty.SetValue(newRowObj, stockObjs[0]);

原文地址:https://www.cnblogs.com/jlz-s/p/5541810.html