功能按钮非常有用,功能按钮主要作用如下:
修改:修改页面上指定的字段;
新增子单据:点击后进去“单据新增”页面;
单据下推:点击后根据指定的下推规则生成新的单据;
单据转换:点击后执行指定的单据转换规则;
1、修改:修改可以用在非常多的业务场景:
用于控制某个角色的人只能够修改单据上的某些字段;
用于单据审核后修改单据的某些字段(比如保单审核后才能收费,收费后保单不能反审核,那么如果需要修改某些不会涉及到费用变化的字段就可以用功能按钮);
用于批量修改,通过功能按钮的修改字段能力,在查询列表中实现批量修改;
通过操作按钮修改单据状态,实现流程控制;
比如某张单审核收费后,还能需要能够改门店,如下图:
那么我们可以在开发平台的此表单设计页面增加一个“功能按钮”,并设置其属性,如下图:
属性说明:
文本:按钮显示的文本;
布局列数:功能按钮的弹出窗口上每行有几个基础控件(如这里设置为1,则第一图所示的2个控件每个占弹窗的1行);
在工具条中显示:表示显示在客户端页面的工具条中(Web客户端总是显示在工具条中的),如第1图;
在工具条中平铺显示:True-平铺显示在工具条中,如第1图;False-显示在工具条的“其他操作”的子菜单下:
可批量操作:True-则会显示在查询列表中,可以批量修改选中的记录的指定字段值;
显示顺序:用于设置多个操作按钮在工具条上平铺显示时候的显示顺序(从小到大表示在工具条上从左到右显示);
弹窗高度:默认功能按钮的弹出窗口是根据控件数量自动计算高度和宽度的,但是如果用到了“日期控件”那么日期框选择日期的时候下拉框会被挡住,此时可以设置弹窗高度(如下图,日期选择框被挡住了,所以可以把弹窗设置高一点);
事件:
初始化:初始化时间用得最多,比如设置功能按钮弹出时候每个控件的默认值,比如一个“提交审核”的功能按钮,希望弹窗时“状态”为“已提交”,提交时间为当前时间,提交人为当前用户,如下图:
那么就可以在“初始化”中设置E6脚本进行控制了(具体脚本参考《脚本》、《输入框之间的联动计算》、《根据条件隐藏显示》、《子表单元格之间的计算》、《子表列汇总》等):
SetValue("__Status__", "已提交") ; 表示设置“统筹单状态(字段名为__Status__)”的值为“已提交”;
SetValue("__SubmitAuditTime__", Now()); 表示设置“提交审核时间(字段名为__SubmitAuditTime__)”的值为当前时间,Now()表示取当前时间,精确到秒;
LoadRefData("Employee", UserID(), "SubmitAudit"); 表示设置“提交审核人”为当前登录用户,因为表单中“提交审核人”字段设置的所属单据分组为SubmitAudit,所以这里第三个参数就填字段的所属单据分组。
数据属性:
ID:必填,在客户端“基础资料-权限设置-附加功能角色权限”中设置功能按钮权限时候需要根据这个ID;
别名:别名主要用于显示标签(Web上用“文本”属性,所以填了文本属性以后“别名”不填也没有问题);
操作类型:修改、新增子单据、单据下推、单据转换(现在正在说的就是“修改”,其他3类后面会分别说明);
关联字段:选择要修改的字段(下图中选择了4个字段,其中__FK_StoreMgt_和__FK_Employee_设置了隐藏,是因为选择门店的时候设置了与他们相关的个过滤条件);
记录操作日志:True-表示记录操作按钮的操作日志,操作后会在单据ID=OperationButtonLog,数据库表名=__OperationButtonLog__的表单中记录操作日志,详细记录当前操作的值,如下图(如果您的系统没有这个模块,请联系我们给你发送):
2、新增子单据:
假设我们希望在表单中(或者查询列表中,会有单独的章节,在查询列表中增加“操作列”,可以选择操作哪个功能按钮)点击工具条中的按钮能够弹出子单据新增页面,则可以使用操作按钮(或者插件按钮,不在本章讨论范围),如下图:
那么我们可以在开发平台中设置功能按钮的属性,如下图:
操作类型:选择“新增子单据”;
模板单据编号:点击后面的按钮可以选择本单据的子单据(只要引用了本单据字段的单据都可以选择),由于“客户联系人”表单ID是CustomerContact所以我们就填这个表单ID。
弹出窗口:对于“操作类型”为“新增子单据”的时候表示子单据新增页面是弹窗还是显示到系统主页面的tabs中;
上面4个属性设置完后,保存发布就可以在客户端表单页面的工具条中看到此按钮了(需要设置“附加功能权限”),点击即可弹出子单据新增页面;
附:只要单据上引用了其他单据那么这里就可以进行设置,如下图“客户联系人”表单上引用了“客户”表单字段,怎么引用字段请参考《引用字段》:
3、单据下推
点击后执行指定的单据下推规则,新增单据,需要先配置好下推规则。
比如我们希望“微商城投保单”能够下推生成“保单”,则需要配置一个从“微商城投保单”到“保单”的“单据下推”规则(具体单据下推配置,请参考《单据下推》),如下图:
配置完成下推规则后,添加一个功能按钮并设置“操作类型”为“单据下推”,目标单据编号填“Policy”(因为我们的下推规则中配置的目标表单编号就是Policy):
保存发布后,在Web客户端中,微商城投保单详情页面就会出现“生成保单”按钮:
点击后弹出“保单管理新增”页面,自动执行下推规则填并填写了保单上面的字段:
4、单据转换
操作按钮点击后同样也可以调用单据转换服务,怎么配置请参考《单据转换》,完成单据转换服务以后,增加功能按钮并指定单据转换服务即可。