如何给分录的多选基础资料赋值原创
863次浏览
编辑于2024年05月08日 14:13:11
1.生成分录多选基础资料的值
/** * 生成分录的多选基础资料值集合 * @param mainEntity 主单据实体 * @param entryPropName 分录的多选基础资料属性名 * @param objs 多选基础资料属性值 * @return */ public static DynamicObjectCollection generateEntryMultiPropValue(DynamicObject mainEntity, String entryPropName, DynamicObject... objs) { MainEntityType entityType = EntityMetadataCache.getDataEntityType(mainEntity.getDataEntityType().getName()); // 注意:关键在于使用findProperty才能找到分录的属性,如果是表头的多选基础资料属性只需要使用getProperty即可获取到 DynamicCollectionProperty currencyProp = (DynamicCollectionProperty) entityType.findProperty(entryPropName); DynamicObjectCollection collection = new DynamicObjectCollection(multiProp.getDynamicCollectionItemPropertyType(), entity); for (DynamicObject obj : objs) { DynamicObject newObj = new DynamicObject(multiProp.getDynamicCollectionItemPropertyType()); newObj.set("fbasedataid", obj); newObj.set("fbasedataid_id", obj.getPkValue()); collection.add(newObj); } return collection; }
2.给分录多选基础资料属性赋值
DynamicObjectCollection collection = generateEntryMultiPropValue(mainEntity, entryPropName, objs); entryDynamicObject.set(entryPropName, collection);
赞 0
0人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读