MetaTocom Questions & Answers
为什么我新建的流程别人看不到
MTC 在新建模版时,将模版的可见人,设置为作者本人。因此,其它人看不到。 这样做的目的,是防止在流程尚不完善时被他人使用。
在流程修改完善以后,即可去除这个可见人,使所有人可见,或者指定部分人,使部分人可见
如何让每个流程只能部分人可见
如何将新工作任务提醒发送到个人邮箱
进入 “设置-> 个人设置", 设置 “有新任务时发送邮件给我”为选中状态. 取消选中状态,则当有新任务时不再发送邮件
如何在有新工作任务时发送提醒到企业微信
- 在企业微信中拉另外两个人,建立一个群
- 此时,可以在群中添加机器人,检查机器人的 URL 地址,并将最后面的 key 值复制出来
- 进入“设置 -> 待办机器人 -> 点击添加,
- 录入需要提醒的流程模版编号和企业微信机器人的 ID,如归属于每个流程的新工作任务都需要接收企业微信通知,可使用“All”作为模版编号
此后,每当该流程中有你的新工作任务时,你就会在以上企业微信群里收到一个提醒信息。 注意:
- 企业微信对单一机器人每分钟内的消息发送数量有限制,请勿依赖本提醒功能;
- 建群时拉入的两个人,在成功添加机器人后,可以移出。这样就拥有了一个仅提醒你一个人的机器人
如何在工作项完成时发送通知给多个相关人
* 方法一,模版中使用 INFORM 节点
在一个工作项后放置一个通知节点,这个通知节点与需要将执行结果通知给相关人的当前节点的后续节点并列,其自身可以没有后续节点。 在通知节点中,指定多个收件人邮箱地址,在邮件内容中,用
[var_name]
方式嵌入流程数据,即可实现目的。
建议在公司邮箱服务器上建立相关的邮件列表地址,把相关人的邮箱地址加到这个邮件列表中,这样,在通知节点中只须设置这个单一邮件列表地址即可,不必每个相关人的邮箱地址逐一录入。
* 方法二,通知到企业微信群
方法与个人工作任务企业微信通知类似,只是这里是基于模版的,每个模版必须单独设置。
另外,企业微信的机器人消息有发送条数限制,MTC 支持从所指定的多个机器人随机地选取一个来发送消息。
方法如下:
- 在 “设置 -> 数据列表 -> 列表定义” 中建立一个名为 “wecombots_tpl”的列表
- 在该列表下 Key, Key 的名字与所需要侦听的流程名称一致
- 在企业微信群中加入一到多个机器人,在消息数量较多时,机器人数量越多,越能保障消息不丢失
- 将上述多个机器人的 key,粘贴到 KEY 的值输入框中, 每个 KEY 用 ; 分割
需要对哪个流程进行监控,只需要添加同名 KEY 即可
同时,也必须设定哪个工作节点需要发送通知,缺省是不发送的。如需发送,只须选中节点的“企微”选项
如何根据条件来决定是否显示某个输入框
MetatoCome 支持显示条件表达式,可以基于一个变量(RV)的值来决定另一个变量(GV)的输入框是否显示
详情请参考英文帮助文档中的 “Designer -> Variable -> When”
如何查看流程上下文信息
流程的上下文信息由流程变量、内部变量和自定义变量组成
流程变量
流程变量是自动生成的变量,如 starterCN,表示流程启动者的显示名
内部变量
内部变量名以$开头,在用户操作界面上不作显示,但在脚本中可以使用。一个最常用的变量名是各个工作节点的决策值。变量名称为
$decsion\_[节点 ID]
每个节点的缺省 ID 是自动生成的,如觉得不方便,可以自行在节点属性窗口中进行修改。
比如,一个名为工作节点的 ID 为“approve”,节点标志为 “Application waiting for your approval", 它有“同意”和“不同意”两个选项,那么,变量 '$decision_approve' 就会包含这个节点完成时,用户所做的决策值, “同意”或者“不同意”
脚本节点的返回值也是同样的方法获得
自定义变量
自定义变量由流程设计者,在流程设计器中的节点属性窗口中定义
流程上下文信息
在每个工作任务操作界面的上部, 在选项按钮的下方,都会显示“流程上下文信息”,包括除内部变量以外的所有变量的值
在不同节点上用户输入变量值时,在时间线上,后面输入的值总是替代前面输入的值,作为流程的上下文信息中变量的值。
要查看同名变量的历史输入信息,只须浏览“流程执行记录”中每个节点的信息,节点上用户输入的值会显示出来。而且不同节点之间互不干扰。
哪些信息中可以嵌入流程变量
* 流程节点名称
* 工作流模版名称(部分内部变量)
* PDS
* 邮件收件人
* 邮件内容
如何在用户完成工作项时发送上下文信息到另一个系统
MetatoCome 通过调用 WebAPI 方式的 endpoint 向另一个系统提供数据。 因 MetatoCome 运行在 https 安全协议下,第三方应用的 endpoint 也必须用 https 方式提供访问接口。
MetatoCome 同时支持以客户端和服务端两种模式向 endpoint 传递参数 客户端模式在浏览器种发起,因此,同时支持内网 endpoint 和外网 endpoint 服务端模式下,如内网 endpoint 无法从外网访问到,则无法传递参数
设定 endpoint
需要在工作流模版设计器中,点击设计器顶部菜单栏的“属性”,在 Callback 中输入 endpoint 地址,如 https://mysever/mtc_callback_endpoint
参数传递(客户端)
在用户完成一件工作时,MetaToCome 会以 JSON 格式传递用户参数到 endpoint,所传递 JSON 格式为(不包含注释):
{
mode: 'client', //客户端模式
context: {
tplid:string; //工作流模版ID
wfid: string; //流程ID
wftitle: string; //工作流名称
todoid: string; //工作项ID
title: string; //工作项名称
doer: string; //用户ID
},
route: string | undefined; //用户选择
kvars: {
key: any; //当前活动中的变量
...
}
}
参数传递(服务端)
服务器端需要进行流程计算处理,比如处理 AND,OR 等流程逻辑,运行脚本,对多人参与工作项进行最终完成情况判断等。 这些处理对了解流程的运行情况也非常重要,但无法在客户端进行。因此,MetaToCome 也会从服务端调用 endpoint。 与客户端不同的是,服务端所传递的数据,为整个流程当下的全体变量参数,而非当前任务项,其数据格式如下:
{
mode: 'server', //服务端模式
context: {
tplid:string; //工作流模版ID
wfid: string; //流程ID
wftitle: string; //工作流名称
todoid: string; //工作项ID
title: string; //工作项名称
doer: string; //当前节点的当前操作用户
},
route: string | undefined; //用户选择,当多个用户参与时,为根据多人参与投票机制设定计算后的结果
kvars: {
key: any; //当前工作流进城中的全部变量
...
}
}
如果 endpoint 处于内网,而 MetaToCome 运行在外网时,如果你的内网处于防火墙内, 服务端模式无法访问到你的内网,此时,你需要进行网络穿透处理,或仅期望客户端模式的参数传递
Tips : 参见Integration 一节
如何设置流程封面
流程封面设置以后,在流程列表界面,会显示流程的封面图片 在设计器中,在编辑模式下,执行以下两个操作即可
- 使用截图工具,截取屏幕
- 粘贴,(Window Ctrl-V, Mac:Cmd-V)
- 回到流程列表查看
如何对流程中的某项工作展开讨论
MTC 支持在每一项工作项下,进行相关讨论。
- 在运行监控中,可以看到每个进行中的流程,已有的讨论数量,点击讨论图标,可查看全部讨论并参与讨论;
- 在工作列表中,可以看到每个工作项的讨论数量,点击讨论图标,可查看全部讨论并参与讨论;
- 在工作任务界面上,可以直接参与讨论
- 讨论内容中,您可以:
- 可使用普通文本或 MarkDown 文本
- 可使用 @user_id 提醒某个用户,该用户会收到这个讨论的邮件提醒
为什么需要发送邮件提醒
MTC 主打企业协同,你会以邮件方式接收到需要你采取行动的任务项提醒。得益于邮件客户端的成熟和普遍,无论你使用任何设备,都可以接受到通知。
如何关闭邮件提醒
您可以在个人设置中,通过关闭“有新任务时发送邮件给我”关闭邮件提醒。
为了不错失第一时间获得工作任务提醒,建议你保持收取提醒邮件。关闭邮件提醒后,建议您经常查看 MTC 工作列表,以免错过重要工作。
如何实现文件的传阅
MTC 功能的组合使用,可以很灵活地支持文件的传阅
文件的上传有三个机会:
- 在流程启动时,上传文件为“主要业务对象”,
- 在“允许修改 PBO”设置为真的任意一个工作项上,继续上传文件作为“主要业务对象”,
- 在工作项上,以 file_开头的参数,可为其上传文件
每个文件有“直接打开”和“下载”两个选项
点击文件名即可直接查看文件(如浏览器支持) 点击最右侧的图标下载该文件
直接打开须浏览器支持该类文件类型,否则,浏览器会按照下载方式下载文件 在业务场合中,大多数情况下,建议使用 PDF 文件,方便查阅,并支持直接在浏览器中打开查看
如须灵活指定文件传阅人,可结合 csv_参数
- 按照需要设计一个流程模版,第一个节点供发起人上传文件和指定传阅人,第二个节点用于指定人阅读文件,其它节点根据需要自行设置
- 在第一个节点上,添加一个 csv_开头的文件。
- 流程启动后,在第一个工作上,上传 XLS 文件, 第一行为标题,第一列为 user_id
- 所有出现在 XLS 文件第一列中的用户,将收到工作任务,查看 PBO 或 file_方式上传的文件
如何在流程中使用表格
MTC 支持表格,表格中支持完整的公式计算 详见 表格 以及 表格设计器
如何设置允许或关闭流程的讨论
可以通过三种途径设置是否允许讨论:
- 在模版层面, 在模版设置界面中,切换是否允许讨论
- 后续启动的流程的“可讨论”状态与模版相同;
- 已启动的流程不受影响
- 在流程层面, 在流程设置界面中,切换是否允许讨论
- 在工作项层面,也可以切换是否允许讨论
- 如流程的讨论已关闭,则遵守流程的设置
如何通过脚本程序控制或修改一个工作项的后续路径
方法一,在一个工作项后,添加一个脚本节点,在脚本节点中返回值,可用于控制脚本节点后的流程流向; 方法二,直接在工作项中,添加脚本代码,脚本使用 ret=返回值,所返回的值将用于控制当前工作节点后的流程流向;需要注意的是,所返回的值必须是当前节点后续连接线的值之一,同时,这个值也会显示到用户选择界面上。如果希望保留该流程走向只用于脚本控制,而不显示在用户选择界面上,则需要将该流向值设置为 h: h- 或 h_ 开头 (h 表示 hidden, 对用户隐藏)。
如何设置在用户完成一项工作后,重复执行同一个工作
方法一, 通过两个 THROUGH 节点桥接 由于两个节点之间的连线是有方向的,所以,在一个节点完成后,需要指向自身时,可以将该节点指向一个 THROUGH 节点,再指向第二个 THROUGH 节点,再指回到工作节点本身;
方法而, 在节点属性窗口中,设置“ 如用户决策为。。。则重复执行本工作项”, 设置后,如用户选择这个决策项,则重复执行当前任务