业务:通过自定义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星辰助力解决仓库管理难题。
金蝶云星辰老板参谋以AI技术为核心,为企业提供智能决策支持,通过数据洞察优化运营效率,助力管理者精准把握经营状况,在复杂市场环境中提升竞争力。
国内ERP软件众多,金蝶AI星辰凭借其全面的云服务模块,为中小企业提供了财务、进销存、生产及零售等一体化解决方案,助力企业高效管理。
对于初创企业而言,高效的仓库管理是运营基石。金蝶AI星辰提供简单易用的出入库管理功能,帮助您轻松跟踪库存、优化流程,实现降本增效,是初创团队不可多得的成长助手。
在企业数字化转型浪潮中,ERP是整合业务、提升效率的核心工具,企业尤其中小企业常陷入传统与SaaS ERP选择困境,两者在部署、成本、迭代等维度的本质差异,决定转型门槛、效率与效果。
参数化选配让企业快速定制ERP系统,摘要内容为金蝶AI星辰通过模块化配置,灵活适配财务、进销存、生产等核心业务需求,实现高效个性化部署。
数字化转型加速下,中小企业因基础管理工具落后,Excel记录、人工盘点等致数据误差高、难实时掌握采销存动态,专业进销存系统成降本增效关键,金蝶AI星辰整合核心环节提升数据同步效率与库存周转率。
数字化转型加速下,中小企业财务受传统会计高成本、数据割裂、移动办公难及政策更新滞后等痛点困扰,转型焦虑凸显,亟需降本提效的云会计方案。