在单据界面上,给单据体字段赋值时,使用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]);

相关文章:

  • 2022-12-23
  • 2021-07-15
  • 2022-12-23
  • 2022-12-23
  • 2021-07-29
  • 2021-08-11
  • 2021-12-21
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
  • 2021-07-03
  • 2021-07-13
相关资源
相似解决方案