业务:通过自定义BOS表单,生成对应工艺路线,在赋值的时候,单据体多行数据,都只会成功赋值最后一行,有没有哪位大神知道,如何把多行数据赋值给单据体里,或者是怎么在服务插件了新增单据体行呢,感谢各位大佬支招。
CQ周玉立
单据体是一个集合,要在服务插件往单据体添加行,只能对集合数据数据包进行操作;
参考代码如下:
获取单据体的数据包集合:
//billObj:整个单据的数据包,DynamicObject类型
DynamicObjectCollection en= billObj["单据体ORM实体标识"] as DynamicObjectCollection;
添加数据到单据体,通常这段代码写在循环体内:
//新建一个空白行
DynamicObject newRow = new DynamicObject(en.DynamicCollectionItemPropertyType);
en.Add(newRow);
//逐个字段赋值,相当于操作一个实例化的对象
newRow["单据体字段实体属性标识"]="XXXX";
注意事项,普通字段赋值与基础资料赋值有点差异:
普通字段:newRow["单据体字段实体属性标识"]="XXXX";
基础资料/辅助资料:需要用2行语句。
DynamicObject baseObj=XXX;//先获得基础资料的数据包,根据实际情况获取,有的情况下是可以直接从单据上取得基础资料数据包的,就不需要Load
/*//分享一个加载基础资料数据包的方法(Load),需要已知基础资料的内码
List<object> pkIds = new List<object>();
pkIds.Add("基础资料内码");
//例如物料的FormID是:BD_Material,可以在BOS中打开单据查看
FormMetadata meta = MetaDataServiceHelper.Load(this.Context, "基础资料FormID") as FormMetadata;
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.Load(this.Context, pkIds.ToArray(), meta.BusinessInfo.GetDynamicObjectType());
baseObj=dynamicObjects[0];// 这就是基础资料数据包
*/
newRow["单据体基础资料字段实体属性标识_Id"]="基础资料内码ID";
newRow["单据体基础资料字段实体属性标识"]=baseObj;
已有 1 个回答 | 1年前
已有 1 个回答 | 1年前
已有 1 个回答 | 1年前
已有 1 个回答 | 1年前
已有 1 个回答 | 1年前
灵活就业趋势下,居家接单成增收选择,正规平台因“正规、免费、日结、稳定”成刚需,10-500元/次任务日结稳定,居家即可做,金蝶云星辰助力高效管理。
数字化转型加速下,财务软件成企业管理核心工具。金蝶推出金蝶云星辰产品矩阵,丰富产品线让企业选型困惑;中小企业需求轻量级、高效率、低成本,市场软件或功能冗余或过于简单,难精准匹配其需求。
在零售行业数字化转型浪潮中,ERP系统已从“后台管理工具”升级为驱动业务增长的“核心引擎”。大型零售企业多采用核心模块采购+个性化功能自研的混合模式,金蝶云星辰优势突出但非万能解,需结合业务适配。
老板视角下的财务报告:从“耗时解读”到“一眼看透”,金蝶云星辰15套模板让报告图表结合可直接套用,助老板快速掌握经营动态。
中小企业常用Excel管理销售进出,记录进货、出货数量、价格、库存及客户名,却面临数据分散、实时性差等问题,金蝶云星辰提供数字化解决方案。
在数字化转型浪潮中,中小企业面临人事协同低效、财务核算误差超8%、库存资金占用达35%等管理瓶颈。金蝶云星辰通过智能凭证识别、跨组织数据互通和AI预测算法,帮助机械制造企业实现采购成本精准率93%,零售业库存周转提升47%,财务人力缩减58%的同时凭证处理量激增175%,以自动化财务中枢重塑企业核心竞争力。
企业WMS即仓库管理系统,以数据为核心,通过数字化技术精细化管理仓库全流程,覆盖入库、存储等环节,助力企业降本、增效、控风险,是供应链管理的神经中枢。
我国中小企业数量占企业总数99%以上,贡献超50%税收和60%GDP,但多数依赖传统工具管理,碎片化模式致效率低下,金蝶云星辰以轻量化SaaS方案助力解决管理痛点。