审批王
快速部署、有效监控并持续优化各类业务流程。
审批王提供图形化的表单与流程设计界面,帮助用户快速地将公司各类审批业务转换为可严格执行的电子流程。
如何设置审批王流程
表单设计
我们所说的表单就是申请单,用户在提交申请的时候,什么地方可以填,需要填写什么内容,是输入还是选择等等,这些都是管理员在后台设置里面定义的。
设计表单的操作就是对照实际的申请单,从系统中选择相应的字段类型,逐一添加,形成一张电子申请单的样式。不同的字段类型,展现给用户的界面也是不同的。比如下拉框,用户就是从几个选项中选择一个内容;比如数值字段,用户只能输入数字等。字段类型可参照下一节“字段”。
以下以“日常费用报销”单为例,为您演示设计表单的操作步骤。
- 登录管理后台后,点击“设置-审批王-流程”,点击右上角的“流程设计器”按钮。
- 在系统弹出的页面中,点击右上角的“新增流程”按钮。
- 输入流程名称,如“日常费用报销”,点击“好”按钮后,双击刚刚创建的记录进入详细表单流程设计页面。新增的流程如果没有指定表单分类就会被分配到“未分类”中。
- 系统默认显示的是流程步骤设计页面,在窗口上方选择“表单”。
- 点击右侧的添加字段栏目。报销单的第一个字段是“所在部门”,为录入的文本,所以添加一个“文本”字段。鼠标点中右侧“添加字段”标签下的“文本”,拖动到左侧的合适位置,然后松开鼠标。或者鼠标直接单击右侧“添加字段”标签下的“文本”,这时,左侧会增加一行“文本”字段。
- 鼠标选中左侧的“文本”,再点击右侧的“属性”标签,这时出现的就是“文本”字段的所有属性,可酌情修改。修改“字段名”为“所在部门”,不修改“显示名称”。在“公式”一栏的输入框内,输入“{applicant.organization.fullname}”,这样,在填写该表单时,系统将会自动显示“所在部门”为提交人所在部门。关于公式,可参考"字段公式"
- 报销单的第二块是“报销明细”,其下包括数个字段,实际填写报销单时,可以增加不定行数的明细数据。所以,需要添加一个“表格”字段,并将其下字段都置于此“表格”的范围之内。鼠标点中右侧“添加字段”标签下的“表格”,拖动到左侧的合适位置,然后松开鼠标。也可以直接单击右侧“添加字段”标签下的“表格”,这时,左侧会增加一行“表格”字段。
- 鼠标选中左侧的此“表格”,点击右侧的“属性”标签,这时出现的就是“表格”字段的所有属性,可修改:“字段名”为“报销明细”,“描述”内则填上“注:若用其他发票代替,请选择实际用途。如购买办公用品由于没有发票而用车票代替,那么费用类别里应该选择办公用品。”
- 报销明细中的第一个字段是“费用类别”,属于下拉框字段。拖动右侧“下拉框”到左侧的“报销明细”中。
- 在该下拉框属性下,修改字段名,在“输入选项”框内填上可供选择的选项(以回车为分隔),并将该字段设置为必填字段。
- 报销明细中的第二个字段是“报销金额”,属于数值字段,拖动右侧“数值”到左侧的“报销明细”中。
- 在该数值字段属性处,设置字段名、小数点位数,以及“必填”等。
- 继续为表格添加“日期”字段,并在该日期字段的属性处设置字段名为“费用产生日期”,以及设置改字段为必填字段。
- 在表格中继续添加文本字段,并在该字段的属性处设置该字段的字段名为“备注”。
- 报销单中还有一字段“报销金额合计”,为“报销明细”中的“报销金额”的合计值。所以,需要增加一个“数值”字段,并设置其值为“报销金额”的合计值。这时,我们点击表头区域,通过拖动或单击添加一个“数值”字段,设置字段名为“报销金额合计”,在公式输入栏内填入“sum({报销金额})”。这样,在填写该申请单时,输入明细的报销金额,系统会自动计算并将报销金额合计显示在“报销金额合计”处。
- 点击左侧某字段的右上角的“-”即可删除该字段。
- 上下拖动字段,则可以更改字段的上下位置。
- 在界面的左上角有“保存”和“关闭”选项。设计过程中,点击“保存”可随时保存;设计完毕后,点击“关闭”,则保存新表单的内容,并关闭“流程设计器”。
- 回到表单设置界面,将表单的“启用状态”按钮点开,即可开始使用该表单。
字段
为了更便捷的设计申请单,审批王提供了多种类型的字段类型。
申请单中的字段类型包括了三类:输入类字段、选择类字段、以及其他字段。
输入类字段
输入类字段指通过输入方式添加内容的字段,包括:
- 文本:适用于输入文本内容的填写框,是最常用的的字段类型,对输入内容没有限制。
- 数值:要求填写的内容必须是数字,适用于金额、合计等,也可用于计算公式的编写。
- 日期:可用于选择年月日的日期,格式为“yy-mm-dd”。默认值:{now},表示当天日期。
- 日期-时间:在日期的基础上增加了具体的几点几分。
- 勾选框:用于选择是或否。
选择类字段
- 下拉框:通过字段属性预置可选择的内容,只可选择一项。
- 选择用户:可在系统已有的用户中选择,名字将会显示在表单中,已邀请的用户无论激活与否都在选择范围内。默认值:{applicant},表示当前登陆用户。
- 选择部门:可在系统已有的部门中选择,部门的全路径名字将会显示在表单中。默认值:{applicant.organization},表示当前登陆用户的部门。
- 单选:通过字段属性可预置选择项,用户只能选择一项。
- 多选:通过字段属性可预置选择项,用户可选择多项。
- Odata:通过字段属性可预置选择项,默认只可选择一项,属性可设置多选;可参照使用技巧,进行配置,必填属性“字段名”为下拉数据的id,“Odata API”配置下拉数据的URL地址,“可搜索字段”配置下拉数据相关属性值,“公式”配置下拉数据的显示名,非必填项“过滤条件”按需填写下拉数据的某个属性的条件。
其他类型字段说
- 分组:可将说明同一事务的字段进行归类。
- 表格:插入一个表格,可填写明细信息等。
字段属性
- 字段名:实际存放在数据库中的名字,此名字在同一张申请单中不可重复。今后公式和条件判断都将使用字段名。
- 显示名称:审批单中实际显示的名字,同一张申请单中可重复,默认的显示名和字段名相同,用户也可自行修改。
- 必填:必填打勾后,提交的申请单不允许为空,画布上以“*”标记。若不打勾,则在提交申请单时候可以为空。
- 宽字段:打勾后,字段显示宽度跨两列,不打勾,字段显示宽度只有一列。
- 列表显示:打勾后,在任何地方,进入高级搜索界面后,选择该字段所在的流程,会在列表显示的时候就会多一列显示此字段的内容。
- 内容可搜:打勾后,在任何申请单的列表界面,根据该字段的内容,搜索都可搜索到相应申请单。
- 默认值:根据需要,预置在字段中的值,可修改。
- 勾选、多选、单选字段属性:输入选项—设置可选项。
- 用户、部门选择字段属性:选择类型—可选一个还是多个。
注:字段名需唯一,显示名称可以重复。
子表
在日常工作中,一个主表单里面通常还会嵌套另一个表格,我们称之为“子表”。子表的作用类似于明细表,它拥有多行数据,且字段名都是相同的,用户在填写表单时,可以输入任意多行数据。以“日常报销申请单”为例,报销明细就是子表。子表添加的方式如下:
- 设计表单时,选择“添加字段”下的表格。
- 选中表格,“属性”的描述中输入“报销明细”。
- 在该表格中添加不同的字段,比如增加下拉框“报销类别”,输入办公用品、交通费等选项。
- 添加数值字段“报销金额”,添加日期字段“费用产生日期”。
这样,用户在填写日常报销申请单时,点击“+”就会出现“报销类别”“报销金额”“费用产生日期”三个字段,填写完内容后,子表中会出现这一条记录,再点击“+”,输入一行数据,重复操作,可以将每一笔报销的费用都输入到表格中。
表单模板
如果您熟悉HTML的编写,可以使用 html 自定义表单样式。默认表格样式的表单,一行显示2个字段,宽字段一行显示1个,宽度高度等都是系统固定的,不能通过字段属性进行调整,但是您可以通过导出默认模板,下载html文件,并修改表单的 html 结构和样式来实现自定义功能。
例如,为了实现如下图中的Excel表格样式,具体操作如下:
- 管理员登录系统后,首先点击“设置-流程设置-流程”,点击“资本性支出项目费用指标控制审批单”,进入到流程详情页。
- 点击右上角的按钮组合键中的“导出默认模板”,下载该流程的默认表单html文件,文件名为'资本性支出项目费用指标控制审批单.html'。
- 用代码编辑工具或记事本打开html文件,根据实际情况,修改表单的html结构,以及添加css样式。
- html文件修改完成后,选中所有代码并复制,在流程详情页的“模板”-“表单模板”,点击编辑,将复制的代码粘贴到表单模板中,并保存确认。
<style>
//在这里通过id、class等定义样式
</style>
<div class='instance-template'>
<table class="table-page-title form-table no-border text-align-center" style="width: 100%;display: inline-table;">
<tr class="instance-name">
<td class="instance-table-name-td page-title">
{{instance.name}}
</td>
</tr>
</table>
<table class="table-page-body form-table">
<tr style="height:0px">
//默认是2个字段4列,可通过添加th增加多列,以及设置width的大小来定义每列的宽度
<th style='width: 11%'></th>
<th style='width: 11%'></th>
<th style='width: 8%'></th>
<th style='width: 10%'></th>
<th style='width: 8%'></th>
<th></th>
<th style='width: 12%'></th>
<th></th>
<th style='width: 12%'></th>
<th></th>
</tr>
//下面是表单内容
...
</table>
</div>
以上代码为html文件的默认格式,在不破坏整体结构的前提下,通过增加或删除相关内容,以及增加css样式,改变表单的显示样式。
签字意见设置
意见栏公式
配置意见栏公式,将流程某一步骤处理人的意见显示在申请单的某一栏上。 以下以发文流程为例介绍意见栏公式的配置过程:
- 进入流程设计器,发文流程中有一步骤叫“领导签发”,需要领导在处理时填写个人意见。
- 进入申请单设计,添加一个文本类型的字段,鼠标选中新加的文本字段,在右侧栏里切换到“属性”栏,将此字段命名为“领导批示”。
- 下方“公式”栏里写
{yijianlan:{step:"领导签发"}}
,注意step.后面跟流程某一步骤名。 - 保存之后,当“领导签发”步骤,领导可以在申请单上看到“领导批示”栏,在其右下角有“签批”按钮。
常见的意见栏公式
常见的意见栏公式如下:
- 一个步骤一个意见栏:
{yijianlan:{step:"领导签发"}}
。该步骤如果传阅给其他人,并勾选签批字段框,则发件者和收件者的意见都会出现在意见栏中。 - 只显示传阅人员签批意见栏:
{yijianlan:{step:"集团文书处理",only_cc: true}}
。在文书处理步骤传阅给其他人,可在此意见栏上签批意见;该步骤如果传阅给其他人也只显示收件者的意见。 - 只显示处理人员意见:
{yijianlan:{step:"领导批示", only_handler:true}}
- 多个步骤一个意见栏:
{yijianlan:{step:"股份公司领导意见"}};{yijianlan:{step:"集团公司领导意见"}}
。股份公司领导步骤签的意见和集团公司领导签的意见出现在同一个意见栏上。 - 图片签名:
{yijianlan:{step:"领导批示", default:"已阅", image_sign: true, only_cc: false}}
,配置了图片签名的处理人,签批意见之后,申请单上会以图片签名结尾。 - 配置默认意见:
{yijianlan:{step:"领导批示", default:"已阅"}}
,处理人在提交申请单后,在意见栏为空的情况下,系统会默认为您签下“已阅”的意见。
标题公式
审批王中每个提交的申请单都有系统标题,系统默认格式是流程名称+流水号。为了更便捷的定位申请单,申请单的标题可以使用申请单中的某一字段值或多个字段值组合,达到自定义文件标题的目的。
标题公式设置
- 登录系统,点击“流程设计器”。
- 通过流程分类找到需要设置文件标题的流程。
- 点击“表单”选项,进入表单编辑页面,选中表单名称部分,在页面右侧会显示表单属性设置页。
- 在标题公式一栏中可设施标题显示的内容。
标题公式编写
- 取单个表单字段内容为文件标题:{字段名}。如销售合同申请单需要把合同名称作为文件标题,则为{合同名称}。
- 取多个表单字段组合为文件标题:{字段名}+{字段名}。如请假申请单需要把请假类型和请假天数作为文件标题,则为{请假类别}+{tianshu}。
- 默认值加系统字段为文件标题:"默认值"+{字段名}。如用印申请单的文件标题为"申请使用"+{印章类型}。
- 含有系统字段的文件标题:常用的系统字段如提交日期{submit_date},申请人名称{applicant_name},审批单编号{insname}。如工作周报的文件标题为{applicant.name}+"周报 "+{submit.date}
表单脚本
如果您熟悉脚本的编写,可以通过使用JavaScript脚本语言在表单中添加脚本。除了使用我们提供的公式、条件等格式之外,您还可以通过添加脚本来实现自定义功能。
例如,为了实现对数值型金额字段自动转换成大写金额,可以在表单脚本中输入以下语句:
CoreForm.custom_numToCny = function (num) {
if(isNaN(num))return "无效数值!";
var strPrefix="";
if(num<0)strPrefix ="(负)";
num=Math.abs(num);
if(num>=1000000000000)return "无效数值!";
var strOutput = "";
var strUnit = '仟佰拾亿仟佰拾万仟佰拾元角分';
var strCapDgt='零壹贰叁肆伍陆柒捌玖';
num += "00";
var intPos = num.indexOf('.');
if (intPos >= 0){
num = num.substring(0, intPos) + num.substr(intPos + 1, 2);
}
strUnit = strUnit.substr(strUnit.length - num.length);
for (var i=0; i < num.length; i++){
strOutput += strCapDgt.substr(num.substr(i,1),1) + strUnit.substr(i,1);
}
return strPrefix+strOutput.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零{2,}/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+元/, '元').replace(/亿零{0,3}万/, '亿').replace(/^元/, "零元");
};
字段脚本:
CoreForm.custom_numToCny({total});
字段公式
给字段增加公式之后,填写审批单的时候,就无需录入此字段的值,而是由系统根据公式得到相应的值。常见的公式包括:
- 取一个字段的值:使用
{
和}
(注意都是半角)将字段名扩起来,如:{请假天数}
- 基于数值字段的函数:
- 加:{字段名1}+{字段名2}
- 减:{字段名1}-{字段名2}
- 乘:{单价}*{数量}
- 除:{总金额}/{数量}
- 基于表格(子表)中的数值字段的函数:
- 合计: sum({费用})
- 平均值:average({费用})
- 计数: count({物品})
- 最大值:max({费用})
- 最小值:min({费用})
- 金额大写:numToRMB({金额})
- 基于提交人的系统变量:包括姓名、角色、部门等
- 提交人的姓名:{applicant.name}
- 提交人所在部门(当申请人属于多个部门时,为所在主部门的全路径): {applicant.organization.fullname}
- 提交人所在部门(最底层部门名): {applicant.organization.name}
- 提交人的角色名: {applicant.roles}
- 提交人的手机: {applicant.mobile}
- 提交人的固定电话: {applicant.work_phone}
- 提交人的职务: {applicant.position}
- 基于姓名表单字段的系统变量:包括姓名、角色、部门等
- “报销人”所在部门(当报销人属于多个部门时,为所在主部门的全路径): {报销人}.organization.fullname
- “报销人”所在部门(最底层部门名): {报销人}.organization.name
- “报销人”的角色名: {报销人}.roles
- “报销人”的姓名: {报销人}.name
- “报销人”的手机: {报销人}.mobile
- “报销人”的固定电话: {报销人}.work_phone
- “报销人”的职务: {报销人}.position
- 基于签批字段的公式使用:
- 显示此步骤所有意见,含传阅 : {traces.步骤名称}
- 只显示此步骤的传阅意见: {traces.步骤名称.cc}
流程设计
设计完表单后,管理员要设计流程的走向,即文件的审批过程及每一步相应的处理人。
在审批王中,每个审批环节我们称为“节点”,节点与节点之间用连线进行串联。一个节点之后可以只有一个节点即只有一种后续的审批情况,也可以通过连线串联多个节点,即有多种的后续审批情况。后续的审批节点即可以由上一步人员在审批时指定也可以根据设置的判断条件系统自动判断。
流程设计
以创建一个“日常费用报销”流程为例,为您演示如何创建新流程。
具体步骤如下:
-
登入管理后台,进入“设置-审批王-流程”,点击“流程设计器”;
\
-
系统会弹出新窗口,在表单分类中选择某一类别的表单(也可直接点击“新增分类”来新建流程表单分类),再在该类别的在流程列表页中,单击选择已建立好的表单分类,如“财务 流程”,流程列表中会显示表单分类下对应的所有流程;点击右上角的新建流程,填写流程名称“日常费用报销”。
- 点击新建完成的流程,在流程界面中,选中“开始”,右侧的面板中有流程信息、画图、属性、权限三个选项。
- 流程信息中可填写流程名称,如将流程命名为“日常费用报销”;
- 设置流程权限:可设置流程的发起、查看、监控权限;
- 画图中有审批、会签、填写、条件四个选项,可以添加流程的审批步骤(即节点),流程新建完成后,系统会默认生成开始和结束节点。
- 一个审批步骤对应“流程设计器”中的一个节点。可通过“画画”选中相应的节点类型拖到流程图上,然后将鼠标悬停在某个节点,点击“+”号,拖拽到另一个节点上,即可添加两个节点之间的连线。您也将鼠标放到线上点击“-”号,将连线删除。根据实际需求选择节点,用连线进行节点间的连接。 各个不同类型的节点可参考以下介绍:
- “审批”类型的节点,处理人必须选择核准与驳回;
- “填写”类型的节点,处理人可以填写意见或直接提交申请单到下一步处理人,但不能核准或驳回;
- “会签”节点允许多人同时审批,即处理人可以是2个或2个以上的人,审批时必须选择核准或驳回。而“条件”类型节点,系统将会根据设置的条件自动选择下一步。
- “会签”节点的驳回不同于审批节点的驳回,不能退回到任意一个已经流转过的步骤。当所有会签节点的处理人都审批完成后,不管是否其中有人进行了驳回都将根据流程设置进入到下一步骤,由下一步骤的人员来汇总处理意见,根据意见来选择后续节点。需要注意的是“会签”节点后面不允许再紧接着另一个“会签”节点。建议二者之间增加一个类似于“秘书汇总意见”的节点,指定好具体的某个人员,来综合第一个会签节点的意见,再来选择第二个会签节点的处理人员。
- 点击节点,右侧面板中会有流程信息、画图、属性、权限四个选项。
- 属性:对每个节点进行细节设置,包含步骤名称、审批处理人、审批超时提醒、批量审批、审批条件判断等。如本案中,依次添加了名称为总经理审批、财务部审核、报销人提交纸质报销单至财务部、发放报销款、确认收款等节点。选择审批处理人。
- 权限:可以单独设置各个审批节点表单字段的编辑权限,节点用户可编辑勾选字段。
- “开始”步骤,默认所有字段都可以编辑(已定义了公式的字段除外);“非开始”步骤,默认所有字段都为只读。可按实际需要设置。
- 批量审批,默认不勾选,“审批”、“会签”和“填写”节点都支持该属性,可按实际需要进行设置。注:后续是单一路径,并且指定了处理人,才支持批量审核。该功能只支持企业版并且@adminos/adminos-plugin-workflow@2.0.9以上版本支持。
- 保存流程,关闭返回流程列表界面,启用新建的流程,完成流程的新建。
- 流程新增并设计后,需要启用才可以让用户提交申请。
- 未启用的流程,用户将无法看见。
- 在“流程设计器”下的“表单列表”中,点击启用状态后的开关,即可启用/停用表单。
- 在表单列表的右侧,点击“X”按钮,可以删除表单及其下的所有流程,所以删除表单时,请谨慎操作。
条件节点
审批王里的条件节点的目标是智能选择审批路径。
如费用报销流程中,根据报销金额的不同,审批步骤/审批人也会有所不同,判断规则是报销金额是否大于10000,如果是的话,申请单提交给总经理审批后再交给财务经理,如果不是的话,申请单直接交给财务经理审批即可。
这里的“报销金额判断”就是一个典型的“条件”节点。条件公式为:{报销金额合计}>=10000 和 {报销金额合计}<10000,两个公式分别连线到“总经理审批”节点和“财务经理”审批节点。
这样,当用户提交申请单后,系统会根据本次申请的实际金额作判断,决定下一步执行“总经理审批”还是是“财务经理审批”。
条件节点注意事项
- 所有的条件分支不能相互重叠。如上例,假设两个条件分支为“报销金额合计>=10000”和“报销金额合计<=10000”,则重叠了金额为10000的情况,如果“报销金额合计=10000”,则系统无法判断走分支1还是分支2。
- 条件分支应能涵盖所有的情况。如上例,假设两个条件分支为“报销金额合计>10000”和“报销金额合计<10000”,则遗漏了金额为10000的情况,如果“报销金额合计=10000”,则系统也无法判断走分支1还是分支2。
设置上述条件节点的具体步骤如下:
- 添加条件步骤。拖动属性面板画图设置的的“条件”至左侧界面。
- 在条件节点的属性区域对条件步骤命名,这里将其命名为“报销金额合计是否大于10000”。
- 左侧点击提交节点右上角的“+”,添加两根连线。
- 编辑连线一的条件。左侧点击连线一,右侧的属性区域下,设置连线名称与连线条件。这里设置连线条件为“{报销金额合计}>=10000”。具体为什么要这么设置条件,请参考“流程条件的编写规则”。
- 编辑另一条连线条件。设置连线条件为“{采购金额合计}<10000”。 具体为什么要这么设置条件,请参考“条件节点规则”。
流程分类
管理员可以在“流程分类”中可以修改流程类别的名称和顺序,这样新建流程的弹出框中的流程类别的名称和顺序会随之变化;
在“设置”界面中,点击“审批王”下的“流程分类”,来调整流程分类的显示顺序。排序号是按着从大到小的序号进行排序的,默认是空,也是最小的序号。
流程导入导出
工作区管理员可以进行流程导入导出,流程一键导入导出功能可以帮助您快捷新增流程,节省大量时间。具体操作如下:
导入
- 设置->审批王->流程,
- 进入流程导入导出界面,在右上角点击“导入流程”。
- 在弹出的窗口中,点击“选择文件”按钮,选择您已经准备好的.json文件
- 进入流程设计器,在相应的分类下(如果流程有所属分类,导入时在相同的分类下;如果没有分类,导入时就在“未分类”下)找到该流程。
- 进入流程,确保每一步都有对应的处理人,修改之后(甚至是移动几根连线的位置)保存,然后打开流程即可。
导出
- 设置->审批王->流程,
- 在流程列表点击在需要导出的流程后的“导出”按钮即可。即可导出流程.json文件。
批量导入导出
- 设置->审批王->流程,
- 在流程列表中,勾选上待导出流程名前面的所有方框,若全部导出可勾选顶部全选,再点击右上角的“导出”按钮即可导出所有流程.json文件的压缩包,并进行解压缩。
- 进入新系统的流程导入导出界面,在右上角点击“导入流程”。
- 在弹出的窗口中,点击“选择文件”按钮,打开解压缩的文件夹,选中第一个json文件并按住“Shift”键进行全选,打开并确认即完成批量导入。
流程设置
表单字段
每一步的处理人对于表单内容都可以查看,但修改和填写的权限都是不同的,如发文流程,办公室编号步骤只能填写“发文编号”字段,但不能填写或修改其他字段,如此将步骤和字段编辑权限进行对应关系的设置需要管理员在后台进行操作。
字段填写权限设置
- “开始”步骤默认对所有字段有编辑权限。
- 选中流程步骤中的某个步骤,点击右侧面板中的“权限”,列出的是该申请单里的所有字段。
- 允许本步骤处理人编辑的字段前打勾,那么文件流转到这一步的时候,处理人可以对表单的字段进行修改。如果没有勾选的话,处理人对表单内容只能看,不能改。
节点处理人
流程设置时,节点处理人可选择以下几种:
审批时指定人员
- 设置时,不作其它指定。
- 流转时,系统默认为空;由上一步人员选择这一步的处理人员。
指定人员
- 设置时,指定一个或多个人员。
- 流转时,系统以指定的一个或多个人员为可选项;由上一步人员选择其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。
指定审批岗位
- 设置时,指定一个审批岗位。
- 流转时,系统以“提交人”对应这个“审批岗位”的一个或多个人员为可选项;由上一步人员选择其中其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。
申请人的上级
- 设置时,不作其它指定。
- 流转时,系统找到“提交人”对应的“直属上级”(仅一位)为可选项;因为只有一位,上一步人员无需选择这一步的处理人员。
申请人
- 设置时,不作其它指定。
- 流转时,系统找到“提交人”本人为可选项;因为只有一位,上一步人员无需选择这一步的处理人员。
指定部门
- 设置时,指定一个或多个部门。
- 流转时,系统以这个“部门”所辖的所有人员为可选项;由上一步人员选择其中其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。
指定人员字段
- 设置时,指定表单中的一个字段,这个字段填写的是用户的姓名。
- 流转时,系统以申请单上的这个“字段”值(即某用户)为可选项;上一步人员无需选择这一步的处理人员。
指定部门字段
- 设置时,指定表单中的一个字段,这个字段填写的是部门名称。
- 流转时,系统以申请单上的这个“字段”的值即某部门所辖的所有人员为可选项;由上一步人员选择其中其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。
指定人员字段相关审批岗位
- 设置时,指定表单中的一个字段(这个字段填写的是用户的姓名)、一个审批岗位。
- 流转时,系统以申请单上的这个“字段”值(即某用户)对应这个“审批岗位”的一个或多个人员为可选项;由上一步人员选择其中其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。
指定部门字段相关审批岗位
- 设置时,指定表单中的一个字段(这个字段填写的是部门名称)、一个审批岗位。
- 流转时,系统以申请单上的这个“字段”值(即某部门)对应这个“审批岗位”的一个或多个人员为可选项;由上一步人员选择其中其中之一(“处理”节点/“审批”节点)或任意多个(“会签节点”)来作为这一步的处理人员。
流程权限设置
谁能新增申请单
您可以设置新建该申请单的权限。可以选择整个公司均有权限、也可以选择某个部门或者某些个人有权限提交本申请。如果没有权限的人员则在新增流程文件时就看不到此流程。
设置的方法有两种:
- 打开流程设计器,在“开始”节点的“属性”中设置可以新建此表单的人员、部门。设置完成后只要当前用户在这个部门中或是此人员时,就可以提交这个流程申请单。
- 打开流程设计器,点击右侧“流程信息”,点击“设置流程权限”。系统显示当前的权限设置情况。如需修改,点击“授权部门”、“授权用户”,勾选相应的部门、用户即可。
谁能查看所有的申请单
有些用户,虽然不一定参与申请单的审批过程,如某些业务的分管领导或总经理,但是需要随时查看某些流程的所有申请单。有时,我们将这样的权限称为“监控权限”。这个需求,可以通过如下设置来实现。
- 打开流程设计器,点击右侧“流程信息”,点击“设置流程权限”。
- 系统显示当前的权限设置情况。如需修改,点击“授权部门”、“授权用户”,勾选相应的部门、用户即可。
谁能删除所有的申请单
有些用户,虽然不一定参与申请单的审批过程,但是需要随时查看某些流程的所有申请单,并且需要在特定情况下,删除某些申请单。有时,我们将这样的权限称为“管理权限”。这个需求,可以通过如下设置来实现。
- 打开流程设计器,点击右侧“流程信息”,点击“设置流程权限”。
- 系统显示当前的权限设置情况。如需修改,点击“授权部门”、“授权用户”,勾选相应的部门、用户即可。
流程编号设置
目前系统可以实现根据流程相关名称(文本),或根据表单字段公式实现自动生成文件编号功能。
具体编号设置规则如下:
- 打开流程设计器,在需要自动生成编号的字段配置好的公式:auto_number(预算外指标调整)。
-
进入“审批王”,选择“流程编号”。
点击进入到编号设置规则界面后,点击“新建”来新建流程编号规则。
- 名称:即流程编号字段默认值auto_number方法中的名称,即“预算外指标调整”。
- 年份:流程编号中涉及到年份需设置好编号开始年份。
- 起始序号:流程编号中的开始的编号,默认为1。
- 序号:流程当前在系统中待编号的序号,默认为0,调整默认值为1,新建流程单后该序号会实时变化。
- 编号规则:需要配置好的公式会根据此规则格式来进行自动编号,建议开头加上字母或中文以区分不同的流程编号。
以OB[{YYYY}]{NUMBER}为例,简要说明当前编号规则情况:
- OB:代表该流程名的英文缩写off budget。
- [{YYYY}]:代表自动生成的年份。即取值“年份”。
- {NUMBER}:代表流程需要显示的编号,即取值“序号”。
编号规则:OB[{YYYY}]{NUMBER} ,在表单上显示的编号样式为:OB[2020]6。
流程脚本
管理员在流程脚本中可以对该工作区中所有的流程进行配置“打印模板”、“表单模板”、“自定义脚本”、“字段关系”的脚本,以及“流程导出”,还可将其他的流程导入到该工作区.
具体的操作流程如下:
- 在“设置”界面,点击“审批王”下的“流程”,流程列表只显示流程状态为启用的流程;
- 点击流程名称,就会弹出流程详情信息界面;点击“编辑”按钮即可对该流程添加流程脚本。
流程正文模板
管理员在流程详细界面可以上传名为 “正文.docx” 的文档作为申请单新建正文时的模板,如需使用此功能需要满足以下条件: 1、流程设计器中流程的步骤属性中需要勾选“修改正文”,如在开始节点想上传正文则在开始节点的属性中勾选“修改正文”; 2、在设置-流程进入流程的详细信息页面上传名为 “正文.docx” 的文档; 3、需要windows桌面客户端,在桌面客户端中新建申请单后即可看到正文新建按钮,点击“新建”按钮即可在“正文.docx”的基础上在线编辑正文内容。
流程附件模板
管理员在流程详细界面可以上传文档作为申请单上传附件时的模板,在新建申请单后会在附件上传按钮旁显示‘模板’按钮,点击按钮即可下载附件模板,本地编辑后即可上传。
条件节点规则
- 条件中引用字段需使用字段名+{},如:{请假天数};
- 条件中使用的符号必须是半角符号;
- 条件中嵌套条件时,用();
- 条件中可以使用公式和函数。
条件中的判断项目
-
数值类型常量:直接使用数值,如:1000
-
字符类型常量:使用“"”(注意是半角)将字符串扩起来,如:"北京"
-
表单字段变量:使用“{”和“}” (注意都是半角)将字段名扩起来,如:{请假天数}
-
基于提交人的系统变量:包括姓名、角色、部门等
-
提交人的所在部门(全路径):
{applicant.organization.fullname}
-
提交人的所在部门(最底层部门名):
{applicant.organization.name}
-
提交人的角色名:
{applicant.roles}
-
提交人的姓名:
{applicant.name}
-
基于姓名表单字段的系统变量:包括姓名、角色、部门等
- “报销人”的所在部门(全路径):
{报销人}.organization.fullname
- “报销人”的所在部门(最底层部门名):
{报销人}.organization.name
- “报销人”的角色名:
{报销人}.roles
- “报销人”的姓名:
{报销人}.name
- “报销人”的所在部门(全路径):
-
基于数值字段的函数:
- 加:{字段名1}+{字段名2}
- 减:{字段名1}-{字段名2}
- 乘:{单价}*{数量}
- 除:{总金额}/{数量}
-
基于表格(子表)中的数值字段的函数:
- 合计:sum({费用})
- 平均值:average({费用})
- 计数:count({物品})
- 最大值:max({费用})
- 最小值:min({费用})
-
统计多选项中有几项被选中了:length({交通工具})
-
数值类型的判断,允许使用以下符号:
- 等于,如:{借款金额}=1000
- 大于,如:{借款金额}>1000
- 小于,如:{借款金额}<1000
- 大于等于,如:sum({报销费用合计})>=1000
- 小于等于,如:max({单笔费用金额})<=1000
- !等于,如:sum({借款金额})!=1000
- 不等于,如:sum({借款金额})< >1000
-
字符类型的判断,允许使用以下符号/函数:
=:是,如:{项目}="北京"
!=:非,如:{项目}!="北京"
.contains():包含,如:.contains({applicant.roles},'部门经理') 提交人是部门经理。请注意:由于一个人可能承担了多个审批岗位,所以应该用_.contains(包含)来判断,而不能用“=”。
-
一个条件判断如果不够,可以多个条件判断组合使用。允许组合关系包括:
- ||:或,如:{借款金额}<1000 ||{项目}="北京"
- &&: 与,如:{借款金额}<1000 &&{项目}="北京"
- !: 非,如:!({借款金额}<1000)
条件判断的实际运用
-
对数值进行判断
如请假天数大于三天需要总经理审批,小于等于三天只需要人事部审核。这类型的判断还用于金额等。
-
对提交人进行判断
如提交人是Tony则由总经理直接审批,若不是则需要部门经理审批。如何取得提交人是谁,则通过公式的编写。
- 对提交人岗位进行判断
如当提交人是部门员工,则由部门经理审批;而当提交人是部门经理,则由总经理审批。条件中,首先要使用系统提供的函数来获取相关的信息。如:{applicant.roles}获取提交人的角色。
- 组合条件进行判断
运用或、与的关系进行多个条件组合判断。如是部门经理或者是办公室人员由办公室审批,而不是部门经理且不是办公室人员的由部门经理审批。
审批岗位
岗位,岗位是根据流程定的,不同的流程,经过的岗位不同,对应的处理人也不同。 本产品将岗位分为两种,一种管辖范围为某个部门,如部门经理;一种管辖范围为整个公司,如人事专员、法务、办公室主任、总经理等。
例如:一个普通员工请假,请假这件事,从开始提出申请,到部门经理审核,再根据请假天数判断是否上报总经理,再到人事部备案,最后通知提交人。整件事做下来,在不同的步骤需要不同的人来做。
上例中的部门经理是一个岗位,管辖范围就是本部门,在这个岗位的人需要审核请假单。但这个岗位的人可以不唯一,根据部门而定,财务部员工请假需要财务部经理审核,销售部员工请假需要销售部经理审核。同理,总经理也是一个岗位,管辖范围是整个公司,这个岗位的人在一固定阶段是唯一的而且就是公司的总经理。
管辖范围根据岗位不同而不同,同一个人在不同的岗位上管辖范围就不同。如财务部经理,在请假流程上管辖范围是财务部,在费用报销流程上管辖范围就是整个公司。
岗位成员,指岗位的处理人。一般一个岗位有一个或多个岗位成员。如上面的例子中,部门经理是一个岗位,财务部经理、销售部经理、安监部经理等都是岗位“部门经理”的岗位成员。“总经理”也是一个岗位,而这个岗位成员往往就只有公司总经理一个人了。 如上图(大写字母表示人),可以建立岗位“总经理”、“分管领导”、“部门经理”,其中“总经理”对应岗位成员A,管辖整个公司;“分管领导”对应岗位成员B、C分别管辖财务和行政两大模块;“部门经理”对应岗位成员D、E、F、G、H、I,分别管辖对应的部门。
设置岗位
管理员在设计审批流程时,需要对“岗位”和“岗位成员”进行设置。因为当审批流程的某一处理步骤的“处理人”类型是“指定审批岗位”时,“审批岗位”中的选项就是就是管理员所设置的“岗位”;
例如:当在“岗位”中新建了“部门经理”,“科长”等时,审批流程中的“审批岗位”的选项中就包括了“部门经理”,“科长”;
岗位设置的详细步骤:
- 设置界面中,点击“审批王”后,点击“审批岗位”。
- 点击右上角的“新建”按钮后弹出新建岗位的弹出框,在“岗位名称”中填写新建岗位的名称后,点击“创建”按钮,完成审批岗位的新增。
- 在岗位列表页中,点击岗位名右侧的更多按钮,可以对该岗位进行修改、删除。
设置岗位成员
“岗位成员”就是岗位上的处理人。假设岗位是“部门经理”,则“岗位成员”对应具体的部门的部门经理,例如人事部的部门经理,财务部的部门经理,技术部的部门经理。
岗位成员设置的详细步骤:
- 设置界面中,点击“审批王”后,点击“岗位”,选中进入某个岗位后,在下面“岗位成员”点击“新建”,岗位成员窗口,选择成员姓名和管辖范围后,点击“保存”即可。
- 在弹出的岗位信息窗口中,选择需要修改的岗位成员,可进行编辑和删除。
基于“岗位”来定义流程的优点:
-
减小了人员调整对流程设置的影响:
如果部门经理要换人,假设有10个流程都定义了某步骤为这个人处理,那么就需要分别修改这10个流程。而如果这10个流程的步骤是审批岗位“部门经理”处理,那么就无需修改这10个流程,只需在审批岗位的设置中,将此部门的部门经理换为他人即可。
注意:
-
一个用户可以对应多个岗位 ,例如,同一个人,既是办公室的部门经理,也是公司的办公室主任。
-
一个岗位也可以有多个用户,(对应相同或不同的管辖范围即部门)。例如,“部门经理”的岗位,可以财务部的岗位成员1人、人事部的岗位成员是2人,这样,人事部的审批过程中,有时需要在这两个部门经理中选择一人。
对象流程映射
资产调拨流程与同步
在管理后台中定义的业务对象,可以与管理后台中定义的审批流程进行集成。这样的信息同步包括两种方式:
- 从业务对象台账中发起业务审批流程;
- 将管理后台中的业务流程归档到业务对象台账中。
首先,我们先新建一个资产调拨流程。
新建流程:资产调拨流程
进入流程设计器表单开发界面,如下图配置表单字段,添加资产调拨台账相关字段“资产名称”、“调出部门”、“调入部门”等。
设计完表单后,设计流程走向,添加所有审批节点,并配置节点的字段权限,完成审批人的字段修改权限。
配置对象流程映射
完成资产调拨流程的配置后,需要与资产台账进行集成关联,点击“审批王”-“对象流程映射”,新建一个对象流程“台账发起资产调拨申请”;
运行资产调拨同步
进入资产调拨台账,新建一条记录:U盘调拨,并发起审批,点击流程名在审批里自动发起一个资产调拨申请,相关字段自动带出。
审批节点“调入单位审批”,选择实际调拨日期,完成流程审批,并同步字段进入资产调拨台账。
图片签名
图片签名,即手写签名,是OA系统中领导审批完成后一种替换文字的技术途径,显示的表单样式给用户类似纸质审批单的感受,在打印存档时会给用户更高的文档认可度。
显示规则
在流程审批过程中,我们可以将相关的签名信息通过图片的形式上传到系统中进行保管。上传后的图片签名将在审批时自动获取,流程没有提交之前不显示图片签名,若审批人未上传系统将自动获取到审批人的人员名称。
例如:上图中,签核历程的前2个审批环节“处室负责人”以及“主管领导签字”,系统中上传了审批人的图片签名,审批完成后自动替换文本名称,而第3个审批环节“办公室负责人查阅”的审批人未上传图片签名,审批完成后未显示图片签名,默认显示审批人名称。
设置图片签名
图片签名设置的详细步骤:
- 设置界面中,点击“审批王”后,点击“图片签名”。
- 点击右上角的“新建”按钮后弹出新建图片签名的弹出框,点击“用户”选人弹窗中选择需加图片签名的人员后,再点击“签名”的“选择文件”按钮,选中对应人员的图片签名,点击“保存”按钮,完成图片签名的新增。
使用技巧
针对一些常见的需求问题(包括管理员设置时碰到的,以及不同用户在审批时可能提到的),我们一起看下在审批王系统中,究竟如何实现?
系统使用类
如何方便地把已在其他工作区定义好的流程迁移到现在的工作区?
表单和流程的设置过程相对复杂,特别是引入一些更细致的需求之后。所以,如果在一个工作区里,已经设置完善了某一个流程,而现在又需要在另一个工作区里重建这样的流程,这时,有类似“拷贝”的方法将非常方便,可节省大量时间。
审批王中的“拷贝”过程,就是通过导出流程和导入流程来实现的。
导出流程的具体操作如下:
- 管理员进入系统后,切换“设置”应用程序,并在“审批”目录下点击“流程”,可查看所有流程;
- 在流程名称前,勾选需导出的流程,点击右上角的“导出流程”按钮,即可将该流程导出成为一个json文件。
导入流程的具体操作如下:
- 管理员进入系统后,切换“设置”应用程序,并在“审批王”目录下点击“流程”;
- 点击右上角的“导入流程”按钮,选中之前导出的json文件,完成上传即可。
如何替他人代填申请单?
申请单一般为本人填写并提交。如果需要帮别人代填,该怎么操作了?
如果和自己填写一样操作、只是在标题或备注里标记“代***申请”,这样做未尝不可,但是也可能会带来一些问题:
- 部门经理应该不是您的经理,而是别人的经理;
- 返回申请人时,直接给别人比发回给您可能更好。
实际上,系统提供给了代填的机制,具体操作方法可参考下图的实例:
新建一条日常费用报销表单,在左下角的“提交人”位置,点击即打开选人界面,在搜索框输入您需要代填人的名字,回车选中名称,即可帮他人代填申请单。这时,表单上的“提交人”就是他人的名字。
想由提交者在提交表单的时候,就把后续节点的处理人指定好,如何设置?
管理员设置流程时的一般考虑,是尽可能地给各个步骤都设置好处理人的范围,越准确越好。这样,在申请单流转时,要么能自动找到下一步处理人;要么由当前处理人选择发给谁继续处理。
实际的情况相对复杂。举个例子,当某公司的人员流动较大时,系统的人员变更往往没那么及时,审批人不准确的情况可能会频繁发生。换个角度,有时流程的提交人对业务比较熟悉、对人员变动也较清楚。这样,改由提交人在填写表单时就能选择好后续的处理人,不失为一种较好的处理方式。
在流程中进行相应设置,能实现这样的需求。具体步骤如下:
- 管理员进入“设置-审批王-流程”,选择流程名,点击进入详情页,
- 点开底部“高级”,选择“申请人指定步骤、审批人”进入编辑窗口,勾选上并保存即可。
完成以上操作,打开申请表单,流程的审批步骤会出现在表单底部,提交人可选择所有后续节点的处理人。
比如,上面的请假申请已设置为“申请人指定步骤、审批人”。申请人填写完成请假信息后,底部会出现流程的审批步骤,后续节点的处理人默认为空,在每个步骤的“操作”(人员选择器)进行选人,即可完成所有节点的选人,这时提交即可。
办公室主任可以随时查看所有的发文进展吗?怎么设置?
我们知道,申请单流转过程中的参与人员都能在收件箱里查找到这些申请单,并能查看最新的流程进展情况。
还存在这样的需求,有些高级别的用户,即便没有参与流转、或是申请单尚未流转到达,也希望能随时看到这些申请单。典型如办公室主任,需要随时能查看到公司的所有发文单的进展详情。
为此,系统加入了“监控权限”这一概念。对于特定流程而言,具有“监控权限”的人员,可以在自己的“监控箱”中,看到这个流程下所有的申请单。
“监控权限”的设置方法如下:
- 打开流程设计器,点击具体流程,再点击右侧“流程信息”,点击“设置流程权限”。
- 系统显示当前的权限设置情况。
- 中间“谁能查看所有的申请单”,“授权用户”给“办公室主任”,保存即可。
上图中的3种权限,如需修改,点击“授权部门”、“授权用户”,勾选相应的部门、用户即可。
表单设计类
根据现有的数据源,如何配置odata字段?
选择类型字段,除了设置默认值选项的下拉框外,还有odata字段:可通过API配置系统中的其他数据源,或外部数据库、其他业务系统接口,并填写字段名、可搜索字段、公式这4个字段属性可预置选择项,再根据实际应用,增加过滤条件。
以‘XX公司单车核算明细表’为例,现有车牌号台账,为queue_import数据导入,使用部门为“信息管理部”的车牌号如下图所示:
odata字段“车牌号码”,配置 [过滤条件-函数支持] (#函数支持) 实例,根据申请人分部带出对应车牌号。
可参照下图,进行配置:
- “设置-审批王-流程”,点击流程名“XX单车核算明细表”进入流程详细页,点击右上角按钮“表单设计器”,打开新版表单设计器编辑表单。
- 点击右侧新建Odata字段,勾选必填,并输入必填属性:字段名、Odata API、可搜索字段、公式等。
字段属性
- 必填:必填打勾后,提交的申请单不允许为空,表单上以红色“*”标记。若不打勾,则在提交申请单时可以为空。
- 字段名:必填项,实际存放在数据库中的名字,此名字在同一张申请单中不可重复,示例:number_plate_id。注:字段名为下拉数据的id。
- 显示名称:审批单中实际显示的名字,同一张申请单中可重复,默认的显示名和字段名相同,用户也可自行修改。
- 描述:申请单上鼠标放在该字段上面,显示的说明文字。
- Odata API:必填项,申请单中该字段选项值保存所在位置,即下拉数据的URL地址,示例:推荐简写为相对路径
/api/v4/number_plate
。 - 详细页面URL:必须包含{_id}标识,示例:
http://cn.adminos.com/app/-/contracts/view/{_id}
。 - 过滤条件:按需可配置某个属性的条件,支持js脚本,示例:state eq '启用'。
- 可搜索字段:必填项,配置下拉数据相关属性值,示例:company。
- 宽字段:打勾后,字段显示宽度跨两列;不打勾,字段显示宽度只有一列。
- 列表显示:打勾后,在任何地方,进入高级搜索界面后,选择该字段所在的流程,会在列表显示的时候就会多一列显示此字段的内容。
- 多选:打勾后,该字段可以选择多个下拉选项。
- 公式:必填项,配置下拉数据的显示名,示例:
{number_plate_id.name}
。
过滤条件
OData支持一组内置过滤器操作,比如:
运算符
- "eq": 等于,
state eq '启用'
,即显示状态等于启用的数据。 - "gt": 大于,
amount gt 10000
,即显示金额大于1万的数据。 - "in": 属于,
in array
,即属于数组。
组合过滤
- "and": 逻辑与,state eq '启用' and amount gt 10000,即显示状态等于启用同时金额也要大于1万的数据。
- "or": 逻辑或,amount lt 1000 or amount gt 10000,即显示金额小于1千或者金额大于1万的数据。
函数支持
支持js脚本,实例:
function () {
var ins = WorkflowManager.getInstance();
if (ins && ins.applicant_company) {
return `(company eq '${ins.applicant_company}') and (state eq '启用')`
}
}
详细运算符的使用可参考 [odata $filter](https://docs.oasis-open.org/odata/odata/v4.01/os/part1-protocol/odata-v4.01-os-part1-protocol.html#sec_BuiltinFilterOperations) 官方网站。
如何在表单里增加领导意见栏?
下图为两种不同的请假申请单。
观察可知,右侧的请假申请单上有“部门经理意见”等两个领导意见栏。部门经理签署的意见,不但显示在签核历程之中,也同时显示在请假申请单的对应意见栏中。这样,请假单打印或归档时,就自带了领导意见。
以下以请假流程为例,介绍意见栏公式的配置过程:
- 进入流程设计器,请假流程中有一步骤叫“部门经理审核”,需要部门经理在处理时填写个人意见。
- 切换到“表单”,添加一个文本类型的字段,鼠标选中新加的文本字段,在右侧栏里切换到“属性”栏,将此字段命名为“部门经理意见”。
- 下方“公式”栏里写{yijianlan:{step:"部门经理审核"}},注意step后面跟的是流程的某一个步骤名。
- 保存之后,“部门经理审核”步骤,部门经理可以在申请单上看到“部门经理意见”栏,在其右下角有“签批”按钮。
常见的意见栏公式包括:
- 一个步骤对应一个意见栏:“{yijianlan:{step:"领导签发"}}”。该步骤如果传阅给其他人,并勾选签批字段框,则发件者和收件者的意见都会出现在意见栏中。
- 只显示传阅人员签批意见栏:“{yijianlan:{step:"集团文书处理",only_cc: true}}”。在文书处理步骤传阅给其他人,可在此意见栏上签批意见;该步骤如果传阅给其他人也只显示收件者的意见。
- 只显示处理人员意见:“{yijianlan:{step:"领导批示", only_handler:true}}”
- 多个步骤对应一个意见栏:“{yijianlan:{step:"股份公司领导意见"}};{yijianlan:{step:"集团公司领导意见"}}”。股份公司领导步骤签的意见和集团公司领导签的意见出现在同一个意见栏上。
- 配置默认意见:“{yijianlan:{step:"领导批示", default:"已阅"}}”,处理人在提交申请单后,在意见栏为空的情况下,系统会默认为您签下“已阅”的意见。
申请人的所在部门如何自动显示在申请单上?
很多申请单都有申请部门这一字段,用于录入申请人所在的部门。如下图:
上面这个请假申请的“部门”,除了由申请人自行录入之外,也可以给这一字段增加公式。这样,在填写申请表的时候,就无需录入此字段的值,系统自动得出申请人的所在部门。
设置方法如下:
- 管理员进入系统后,切换“设置-审批王-流程”,点击“流程设计器”按钮,进入到流程设计界面。
- 点击具体流程,切换进入“表单”设计,点击字段“申请部门”,并在右侧栏里切换到“属性”栏。
- 在公式中录入:{applicant.organization.name}。然后保存即可。
请注意,所在部门的公式有两种,可根据需要来进行设置。
{applicant.organization.fullname}
:是指申请人所在部门的全路径名。形如"华炎软件/客户服务事业部/大客户服务部”。当申请人同时隶属于多个部门时,则为所在主部门的全路径。{applicant.organization.name}
:是指申请人所在部门的名称。形如“大客户服务部”,这是最底层的部门名,不包含上级组织名。当申请人同时隶属于多个部门时,则为所在主部门的名称。
字段公式的设置,可参考 审批王表单设计-字段公式 。
如何实现申请单的自动文件编号?
以发文流程为典型,很多申请单都需要自动编号功能。
例如上图的发文单,就实现了依据表头字段、自动生成文件编号的功能。
其设置方法如下:
- 打开流程设计器,在需要自动生成编号的字段配置好的公式:auto_number({标头})。“标头”代表表单上标头字段,文件自动编号会根据不同的标头值来生成不同的文件编号。
- 进入“设置”,选择“审批王”下的“流程编号”。
- 点击进入到编号设置规则界面后,点击“新建”来新建用户编号规则。
- 名称:即表单标头字段的可取值。
- 年份:文件编号中涉及到年份需设置好编号开始年份。
- 起始序号:文件编号中文件的开始的编号。
- 序号:文件当前在系统中待编号的序号。
- 编号规则:需要配置好的公式会根据此规则格式来进行自动编号。
简要说明目前编号规则情况:
- [{YYYY}]:代表自动生成的年份。即取值“年份”。
- {NUMBER}:代表文件需要显示的编号,即取值“序号”。
编号规则:河北港口党办字[{YYYY}]{NUMBER}号,在表单上显示的标号样式为:河北港口党办字[2017]392号。
可参考 审批王流程设计-流程编号设置 。
申请单上,如何自动得到几个数值字段的和?
申请单经常会有数值型的字段,例如下图表单上的的餐费、办公费、业务费、其他费用、合计等都是数值。其中,合计应为餐费等费用的数值之和。
合计的数由系统自动计算得出,既简化了填单的工作,数值也会更加准确。
如上图所示,当餐费金额为1000、业务费为500、其他费用为300时,合计应自动计算为1800,无须单独填写。
通过设置“合计”字段的公式,可实现自动求和的想法。具体操作如下:
- 管理员进入系统后,切换“设置-审批王-流程”,点击“流程设计器”按钮,进入到流程设计界面。
- 切换进入“表单”设计,点击这个数值型的字段“合计”,并在右侧栏里切换到“属性”栏。
- “公式”栏里输入:{train_fee}+{traffic_fee}+{vehicle_fee}+{stay_fee}+{meals}+{office_fee}+{business_fee}+{o_fee},所有费用字段累加,保存即可。其中的“train_fee”等分别是交通费字段的字段名。
设置字段公式时,除了数值型的加减乘除,您还可以使用其他函数,具体使用方法,可参考 审批王表单设计-字段公式
如何设置申请单在列表显示时的标题?
在本系统中,待审核、已审核、监控箱的列表显示时,会显示每个申请单的“标题”。
申请单的默认标题是“流程名”+序号,如上图中的第2条的“请假申请5”,这样的标题不太直观,如果显示为上图中的第1条的“陈磊申请年假2天”,就会更好。
那么,如何自定义这样的标题了?具体操作如下:
- 管理员进入系统后,切换“设置-审批王-流程”,点击“流程设计器”按钮,进入到流程设计界面。
- 当选中某个流程,系统默认显示的是流程步骤设计页面,在窗口上方选择“表单”,进入表单编辑页面,在标题公式一栏中可填写标题显示的内容。
如上图,在标题公式里输入:{applicant_name}+"申请"+{请假类别}+{tianshu}+"天" 。这样,当陈磊提交请假申请时,如果请假类别为“年假”、请假天数为2天,则列表显示的标题就是“陈磊申请年假2天”。
自定义标题,可以选取多个表单字段、系统字段以及默认值组合而成,当然也可以只选取其中之一。
- 取单个表单字段内容为文件标题:{字段名}。如销售合同申请单需要把合同名称作为文件标题,则为{合同名称}。
- 取多个表单字段组合为文件标题:{字段名1}+{字段名2}。如请假申请单需要把请假类型和请假天数作为文件标题,则为{请假类别}+{请假天数}。
- 默认值加系统字段为文件标题:"默认值"+{字段名}。如用印申请单的文件标题为"申请使用"+{印章类型}。
- 含有系统字段的文件标题:常用的系统字段如提交日期{submit_date},申请人名称{applicant_name},审批单编号{insname}。如工作周报的文件标题为{applicant.name}+"周报 "+{submit.date}。
关于标题公式的设置,可以参考 审批王表单设计-标题公式
流程设计类
不同部门的员工有不同的部门经理,审批时如何按提交者的不同自动发给对应的部门经理?
每个组织由多个部门组成,每个部门除成员外会有1个部门经理。下图为组织内的2个部门组成人员的简单例子。
员工提交差旅费用报销时,先发给“部门经理”。如果是技术部的员工,则发给技术部经理;如果是行政部的员工,则应发给行政部经理。这里的“部门经理”,在系统中的对应概念就是“审批岗位”。
不同的员工提交后,自动发给自己的部门经理,需要预先做好的工作包括:
- 设置:每个部门对应的“部门经理”是谁?
这里的主要工作,是新建一个名叫“部门经理”的“审批岗位”,并给每个部门指定好谁是这个部门的“部门经理”。
- 设置:差旅费用报销流程中的“部门审批”节点的处理人是这样的“部门经理”。
就是把流程的这个步骤的“处理人”设为“指定审批岗位”,“审批岗位”则设为“部门经理”。这样,系统就会根据申请人所在部门,自动定位到对应的“部门经理”。
具体操作如下:
- 管理员进入系统后,切换“设置-审批王-审批岗位”,点击“新建”按钮。
- 岗位名称中录入“部门经理”。
- 点击“保存”按钮,即新建岗位成功。
- 进入该岗位,在对应子表“岗位成员”,点击“新建”按钮。
- 岗位选择“部门经理”、岗位成员选择“王武兹”、审批范围选择“技术部”。
- 点击“保存”按钮,即制定技术部的部门经理成功。然后再依次制定其他部门的部门经理。
- 切换“设置-审批王-流程”,点击“流程设计器”按钮,进入到流程设计界面。
- 点击流程“差旅费用报销”,切换进入“流程”设计。
- 点击的流程审批环节“部门审批”,“处理人”选择“指定审批岗位”,“审批岗位”设置为“部门经理”即可。
关于审批岗位,具体可参考 审批王审批岗位 。
请假天数较多时须请总经理审批、较少时无需总经理审批,如何实现?
流程经常涉及到总经理审批这一节点,例如请假流程。但并不是所有的单子都要提请总经理审批。
比如,典型的请假流程可能是:如果请假天数大于或等于3天,则请假申请单必须提交总经理批准;如果请假天数小于3天,则只需部门经理批准即可、无需提交总经理批准。
通过在流程中增加“条件节点”,可实现上述智能选择审批路径的需求。
设置的具体步骤如下:
- 管理员进入进入到流程设计界面,
- 在“总经理审批”节点之前,增加一个条件节点,相连的后续节点分别为“总经理审批”、“人事部备案”,
- 给这个条件节点设置连线条件:指向“总经理审批”的连线条件中录入‘{请假天数}>=3’,另一个连线条件则为‘{请假天数}<3’,即完成设置。注意其中的“请假天数”为本表单中的一个字段名。
这么设置后,当流转到“部门经理审批”这一步时,系统会根据申请单的不同来自动指定下一步骤:如果请假天数大于或等于3天,则下一步为“总经理审批”;如果小于3天,则下一步为“人事部备案”,这就跳过了“总经理审批”这一步。
关于如何设置条件节点,可参考 审批王流程设计-条件节点 。
员工提交申请需先发部门经理审批,那么部门经理自己提交申请时,如何自动跳过“部门经理审批”这一步?
流程中最常见的节点可能就是“部门经理审批”了,例如这个流程:
如果提交人是部门员工,则发给部门经理审批;而当提交人就是部门经理时,也还是发给部门经理审批。这样一来,第一步、第二步都同为部门经理一人,显然有些重复与累赘。
我们知道,要跳过某一步骤,审批王的推荐做法是增加一个条件节点。例如这篇参考: 判断是否发总经理 ,连线条件设置为“{请假天数}<3”,意即申请单上的“请假天数”<3就跳过“总经理审批”节点。与之类似,这里的跳过“部门经理审批”的连线条件就是:如果提交人自己是部门经理。而某用户是否是某角色可以使用系统提供的函数来获取:{applicant.roles}就能获取到提交人的所有角色。
根据上面的分析,我们可以通过在流程中增加“条件节点”判断提交人的角色,来实现上述智能选择审批路径的需求。
设置的具体步骤如下:
- 管理员进入到流程设计界面,
- 在“部门经理审核”节点之前,增加一个条件节点,相连的后续节点分别为“部门经理审核”、“财务部审核”,
- 给这个条件节点设置连线条件:指向“部门经理审核”的连线条件中录入‘!{applicant.roles}.contains('部门经理') ’,另一条连线条件则为‘{applicant.roles}.contains('部门经理')’,即完成设置。请注意:由于一个人可能承担了多个审批岗位,所以应该用_.contains(包含)来判断,而不能用“=”。
如此设置,部门经理自己提交申请时,会自动跳过“部门经理审批”。
关于条件判断的实际运用,可参考审批王流程设计-条件判断的实际运用
可以让某一步的人员无法修改某个字段吗?
管理员设置好了表单和流程后,如果不加限制,每一步的处理人都可以修改表单上的内容。例如这个付款申请单:
但是依据实际的管理要求,每一步的处理人对于表单内容修改权限应该各不相同。上图中的“实际付款日期”就应该等到出纳付款之时才能填写,之前或之后的处理人都没有填写的权限。
对于某一步的人员能或是不能修改某个字段,诸如此类的需求,可以由管理员在后台进行操作,设置好步骤与字段编辑权限的对应关系。
- 管理员进入系统后,切换“设置-审批王-流程”,点击“流程设计器”按钮,进入到流程设计界面。
- 点击流程,切换进入“流程”设计,点击字段“申请部门”,并在右侧栏里切换到“属性”栏。
- 依次选中各节点,并在右侧点击“权限”,将某个字段勾选去掉,即完成禁止修改该字段的设置。如果勾选上,则表示可以修改该字段。
- 例如付款申请,“出纳付款”审批,只可编辑字段“实际付款日期”,故权限仅勾选该字段,其他字段的勾选都去掉即完成禁止修改其他字段。
- 全部设置完成后,保存即可。
关于字段填写权限,请参考 审批王流程设计-表单字段。