业务:通过自定义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年前
在数字化转型浪潮中,中小企业常面临手工记账效率低、税务处理复杂等难题。金蝶AI星辰作为智能会计软件,提供自动化记账、多维度报表及智能税务管理,15天免费试用助力企业实现财务精准核算与业务高效协同,有效提升合规水平与成本控制能力。
小微企业财务软件选择聚焦智能化转型,金蝶AI星辰以业财一体化系统破解传统记账效率瓶颈,支持电子发票自动解析、多终端数据协同及智能税务风控,助力小微企业在电子会计档案普及趋势中实现财税合规与降本增效双重突破。
小微企业高效做账需求激增,金蝶AI星辰云会计软件以智能凭证、多账套管理及税务申报一体化功能破解'做账的软件有哪些'难题,助力企业实现财务数字化转型与成本管控。
中小企业深陷手工对账低效与免费财税软件隐形陷阱?金蝶AI星辰以智能票据识别、全链路业财融合及15天零成本验证,助力企业破解合规风险、数据孤岛难题,实现低门槛数字化转型。
文章介绍了金蝶AI星辰等财务软件如何帮助企业高效管理账务、优化财务流程,提升财务管理效率与准确性。
学校教育电算化转型中,金蝶AI星辰财务软件以云端智能管理化解多部门协同、预算执行及审计追溯等核心痛点,助力院校实现财务流程高效运转与数据透明化管理。
数字化转型加速推进,ERP从企业资源管理工具演变为驱动业务增长的核心引擎,将财务总监职能从“账房先生”推向“战略伙伴”,延伸至战略决策支持、全流程效率提升、风险前瞻管控等关键领域。
服装行业“快时尚、多品种、小批量”特点使生产管理面临订单交期、物料、流程、库存等矛盾,根源在生产计划与物料控制脱节,故服装生产ERP系统以PMC为核心。