本文讨论了关于单据列表中分录行选择功能的需求、实现思路与方案。为满足对列表分录行进行单独处理的需求,提出了三种实现方式:通过列表选项参数、插件设置或入口参数设置来实现分录行的可选择性。并详细说明了各方案的实现步骤,包括个性化场景下的注意事项及参考资料。
关键词:
分录行、选择一、需求
1.1 需求背景
单据列表默认是按单据头合并,但是有时候需要对列表分录做单独的业务处理。把鼠标放在一列,默认选中整个单。
1.2 原型图
而对于有些场景,需要点击的时候,能只选中某条单据中的一条分录,如下图
二、思路与方案
列表分录拆分,即列表分录支持被选择的实现方式有三种,如果下面三种实现方式都实现了,那么生效的优先顺序为插件->应用菜单的入口参数->列表选项参数
三、实现过程
方案一:列表选项参数
设置个人列表分录支持被选择
在单据列表界面点击,“设置-列表控制-选项”中有个分录支持被选择的选项,默认是关闭的,开启之后列表的分录就可以支持被选到,从设置这里开启“分录行支持被选择”,只对于当前用户有效。
2.设置该单据列表所有用户支持列表分录行支持被选择。
需要修改该列表选项的参数默认值。
(1) 新增页面,选择参数,然后公共模板选择列表选项模板
(2)保存修改后的列表选项模板,并修改列表的选项参数为新建的列表选项模板的单据标识
3. 设置所有单据列表选项参数“分录行支持被选中”默认值为开启。直接扩展单据bos_listoptiontpl(所有的单据列表默认都是选择bos_listoptiontpl作为列表参数)
方案二:插件设置
1. 通过列表插件,设置自定义参数ismerger为false
@Override
public void afterCreateNewData(EventObject e) {
this.getView().getFormShowParameter().setCustomParam("ismergerows", false);
super.afterCreateNewData(e);
}
方案三:入口参数设置
打开列表所在的应用菜单,配置入口参数ismergerows:false
四、效果图
五、开发环境版本
COSMICV4.0.010.0
六、注意事项
(1)个性化场景:
a单据列表的列表选项参数“分录行支持被选择”为开启,b单据表单中添加了“单据列表”的控件x,绑定实体为a单据。 需求:在新增b单据的时候,“单据列表”控件x的分录行需要设置成分录行支持被选择。
(2)个性化方案:
这时不能直接通过方案一直接修改a单据列表的列表参数,而是需要通过方案二或者方案三修改b单据所在的应用菜单的入口参数或者插件修改参数ismergerows为false。
七、参考资料
推荐阅读