创建 Exposed Process Value (EPV)

Draft comment:
This topic is shared by BAW, CP4BA, CP4BASaaS. Last updated on 2025-01-20 10:38
您可以创建公开的流程值 (EPV) ,以定义要向特定用户公开的一组变量。 这些变量可在流程实例正在运行时由用户进行修改。 例如,如果创建流程来处理费用报销,那么您可能希望使监管者可以更改每天消费的允许金额,或者与各级批准者一致的美元金额。 通过创建 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:

  1. 打开设计器。
  2. 展开 数据 ,然后选择 公开的流程值
    此时会打开“新建 Exposed Process Value”窗口。
  3. 名称 字段中,输入值的名称,然后单击 完成
    此时会打开 EPV 配置视图。
  4. 配置 EPV:
    1. 文档 字段中,输入开发者的 EPV 描述。
    2. 要允许用户发送有关此 EPV 的反馈,请在 反馈电子邮件联系人 字段中输入电子邮件地址。

      Process Admin Console 中的“管理 Exposed Process Value”页面中包含使用此电子邮件地址的反馈链接。

    3. 外部描述 字段中,输入用户的 EPV 描述。
      您在此提供的描述显示在 Process Admin Console 中的“管理 Exposed Process Value”页面中。
  5. 通过应用以下步骤向 EPV 中添加一个或多个变量:
    1. 公开的流程值变量 部分中,单击 + 以向此 EPV 添加变量。

      例如,如果要使用户能够调整符合费用报销流程核准人各种级别的美元金额,请为各可用级别添加变量。

    2. 变量详细信息 部分的 外部名称 字段中,输入用户的变量名称。
      该名称显示在 Process Admin Console 中此 EPV 的“变量列表”中。
    3. 变量名称 字段中,输入用于内部处理的变量的名称。
      注: 变量名称应以小写字母开头,后面的单词大写如下: myVar。 请勿在变量名中使用空格。 变量名称是区分大小写的。
    4. 外部描述 字段中,输入文本以向用户描述此变量。
      该描述显示在 Process Admin Console 中此 EPV 的“变量列表”中。
    5. 可选: 缺省值 文本框中,输入此变量的有效缺省值。
    6. 要允许进行中的任务在用户编辑此变量的值时使用其更新后的值,请选中 使用新值 复选框。
    7. 要选择变量类型,请单击 选择 ... 并选择业务对象,或者单击 新建 以创建新的定制业务对象 (变量类型)。
      注: 对 EPV 变量使用非字符串类型时,应谨慎操作。 建议不要使用非字符串类型,这可能会导致 JavaScript 类型转换出现问题。 如果必须对 EPV 变量使用非字符串类型,请参阅下面的“示例”部分。
  6. 公开 部分中,单击 选择 以选择其成员可以管理此 EPV 并调整其变量值的团队。

    缺省情况下,未向任何团队公开 EPV。 您必须通过选择团队来公开 EPV,才能编辑此 EPV 的值。 只有 Process Admin Console 内选中的团队才能编辑此 EPV。 管理员不能编辑此 EPV。 在向特定团队公开 EPV 后,您可以在运行时使用常规团队修改方法来更改团队的内容。 有关 EPV 的更多信息,请参阅主题管理暴露的流程值 (EPV)

  7. 单击 保存完成编辑

结果

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 来将其链接到流程或服务。