单据体附件字段显示附件名称
1 业务场景
分录上的附件,需要直接显示附件名称的场景。
2 解决方案
通过二开的方式实现。
在afterCreateNewData和propertyChange事件中,获取到分录附件名,然后展示到文本字段中。
3 操作步骤
代码示例
public class ShowAttachmentNameTest extends AbstractFormPlugin implements UploadListener { public static final String FIELD_ATTACH = "my_attfield_entry"; public static final String ENTRY_ID = "my_entryentity"; public static final String FIELD_ATTACH_NAME = "attname"; @Override public void afterUpload(UploadEvent evt) { UploadListener.super.afterUpload(evt); } @Override public void afterCreateNewData(EventObject e) { DynamicObjectCollection collection = this.getModel().getEntryEntity(ENTRY_ID); if (CollectionUtils.isEmpty(collection)) { return; } DynamicObject entryDyn = collection.get(0); DynamicObjectCollection attachs = (DynamicObjectCollection) entryDyn.get(FIELD_ATTACH); String attnames = genAttachName(attachs); this.getModel().setValue(FIELD_ATTACH_NAME, attnames, 0); } @Override public void propertyChanged(PropertyChangedArgs e) { if (!e.getProperty().getName().equals(FIELD_ATTACH)) { return; } ChangeData[] changeSet = e.getChangeSet(); DynamicObjectCollection attachs = (DynamicObjectCollection) changeSet[0].getNewValue(); String attnames = genAttachName(attachs); this.getModel().setValue(FIELD_ATTACH_NAME, attnames, 0); } private String genAttachName(DynamicObjectCollection attachs) { StringBuilder attnames = new StringBuilder(); for (DynamicObject attach : attachs) { DynamicObject att = (DynamicObject) attach.get("fbasedataid"); Object name = att.get("name"); attnames.append(name).append("、"); } if (attnames.length() > 0) { attnames.deleteCharAt(attnames.length() - 1); } return attnames.toString(); } }
单据体附件字段显示附件名称
1 业务场景分录上的附件,需要直接显示附件名称的场景。2 解决方案通过二开的方式实现。在afterCreateNewData和propertyChange事件中,获...
点击下载文档
上一篇:附件常见问题排查方法说明下一篇:工作流节点打印出来没有值,应该如何排查
本文2024-09-23 00:35:50发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-140486.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章