创建 Exposed Process Value (EPV)
您可以创建公开的流程值 (EPV) ,以定义要向特定用户公开的一组变量。 这些变量可在流程实例正在运行时由用户进行修改。 例如,如果创建流程来处理费用报销,那么您可能希望使监管者可以更改每天消费的允许金额,或者与各级批准者一致的美元金额。 通过创建 EPV,可以提供这种灵活性,允许用户将特定变量值作为常量进行调整,从而影响所有运行中流程实例的流和任务分配等等。
关于本任务
- 如果设置了使用新值,那么 tw.epv API 所返回的 EPV 的生效日期是最接近当前时间的过去日期。
- 如果未设置使用新值,那么 tw.epv API 将使用任务实例的启动时间,这意味着其要查找的 EPV 的生效日期是最接近任务实例启动时间的过去日期。
在 Snapshot 迁移期间,可将 EPV 数据从原先的 Snapshot 复制到当前 Snapshot。 有关更多信息,请参阅主题 快照和实例迁移概述。 为避免出现意外行为,请执行以下操作:
- 检查您的设置以确保行为符合预期。
- 设置 EPV 的缺省值。
注: 本主题中的指示信息说明如何创建 新 EPV 并将其公开给其成员可以管理 EPV 并调整其变量值的团队。 如果您具有尚未公开的 现有 EPV ,那么必须将其公开给设计人员中的团队,并创建新的 快照 以编辑缺省值。 否则,此 EPV 将不可用。 只有已向其公开 EPV 的团队才能编辑此 EPV。 管理员不能编辑此 EPV。 在向特定团队公开 EPV 后,您可以在运行时使用常规团队修改方法来更改团队的内容。 有关 EPV 的更多信息,请参阅主题 管理公开的流程值 (EPV)。
限制: 必须在客户端人员服务的客户端脚本中使用变量名称来获取 EPV 的值。 无法通过在客户端人员服务上使用外部名称来访问 EPV 变量。
过程
要创建 EPV:
结果
EPV 创建完成,您可以将它链接到流程、服务或报告。
您可以引用 EPV 及其变量的名称,如下所示:tw.epv.[epv_name].[epv_variable_name]。
您可以使用决策关口中的 EPV 来控制过程流。 您也可以从链接流程中的任何 JavaScript 代码(如服务器脚本服务组件中的代码)来引用 EPV。
示例
要对 EPV 变量使用整数或小数类型(而非建议的字符串类型),那么应考虑创建相应的整数或小数类型的局部变量。 应改为对该局部变量执行操作,例如:
tw.local.number = tw.epv.myepvs.number; tw.local.number = tw.local.number + 1;
或者,要在 JavaScript 代码中使用 EPV 变量,您需要使用强制类型转换,例如:
var mynumber = parseFloat(tw.epv.myepvs.number);
您还可以通过将 EPV 变量强制转换为您正在使用的类型来使用复杂变量。 例如:
// for a string use the following:
tw.local.myString = String(tw.epv.kbexample.myString);
// for an integer use:
tw.local.myInt = Number(tw.epv.kbexample.myInt);
//for a boolean use:
tw.local.myBoolean = String(tw.epv.kbexample.myBoolean);
注: 您需要强制类型转换为字符串,就像要强制类型转换为始终返回
true的布尔值一样。 当分配给布尔值时,获取的字符串将隐式强制转换为布尔值。下一步
创建 EPV 后,可以通过从 "变量" 选项卡中的公开流程变量列表中选择该 EPV 来将其链接到流程或服务。