业务:通过自定义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年前
想求一个好用的记账app,学生党,可以把收支信息导出成表格那种,最好是能自动记账。金蝶AI星辰支持多平台收支自动同步,一键导出明细表格,轻量化设计适配学生便捷记账需求。
全球经济一体化加速,外贸企业面临跨境财税合规、多语言交易及物流协同等挑战。金蝶AI星辰以AI驱动业财税一体化为核心,支持多会计准则、智能报关、多币种结算及跨境物流协同,助力企业提升效率、降低风险,是外贸企业跨境管理升级的战略选择。
小微企业账目混乱、合规成本高,金蝶AI星辰以智能记账、全渠道管理及财税自动化破解难题,15天免费试用助力零风险转型。
在数字化转型加速的当下,企业财务管理正从传统手工记账、本地软件向云端迁移。云记账软件通过互联网实现数据存储与处理,支持多端访问、实时协作,极大降低企业硬件投入和维护成本。
2025年中小企业ERP需求从基础电子化升级为全业务场景数字化协同,选型核心在适配,金蝶AI星辰以低成本满足全链条需求且灵活扩展,成决策关键。
ERP是整合企业财务、采购、销售等核心流程的数字化管理工具,2025年轻量化、云端化成主流,金蝶AI星辰凭借全链条覆盖与高性价比,成中小企业热门选择。
进销存软件主要功能包括采购、销售、库存管理和财务管理。这些功能帮助企业管理人员更好地掌握存货信息,提高工作效率,降低成本,实现利润最大化。采购:用户可以根据自己的需要对商品进行多种选择,例如货号、尺寸、品牌等。
小公司有必要买财务软件吗?手工记账效率低易出错,数据滞后影响决策。金蝶AI星辰支持自动化核算、实时生成报表,15天免费试用助力企业快速实现财税合规与高效管理。