- 概述
- 应用程序事件
- 流程图生成器
- 标注
- 复杂场景
- 凭据
- Data Service
- 表单
- FTP
- IPC
- Automation Ops 管道
- 暂留
- 系统
- 发行说明
- 项目兼容性
- 受支持的字符编码
- “正则表达式构建器”向导
- 添加数据列
- 添加数据行
- 添加日志字段
- 加减日期
- 添加事务项目
- 添加队列项目
- 将项目附加至集合
- 将项目附加至列表
- 附加行
- 提示音
- 中断/退出循环
- 浏览文件
- 浏览文件夹
- 构建集合
- 构建数据表
- 批量添加队列项目
- 更改文本大小写
- 更改类型
- 检查 False
- 检查 True
- 清除数据表
- 从集合到数据表
- 注释
- 压缩文件/Zip 文件
- 复制文件
- 复制文件夹
- 合并文本
- 注释掉/禁用的活动
- 继续/跳过当前
- 创建文件
- 创建文件夹
- 创建列表
- 自定义输入
- 删除
- 删除文件
- 删除文件夹
- 删除存储文件
- 删除队列项目
- 禁用本地触发器
- Do While 循环
- 从 URL 下载文件
- 下载存储文件
- 启用本地触发器
- 评估业务规则
- 存在于集合中
- 提取/解压缩文件
- 从文本中提取日期和时间
- 提取文本
- 文件更改触发器
- 文件已存在
- 筛选集合
- 筛选数据表
- 文件夹存在
- 遍历循环
- 适用于文件夹中的每个文件
- 文件更改触发器 v3
- 查找和替换
- 查找匹配模式
- 对于文件夹中的每个文件夹
- 对于数据表中的每一行
- 将日期格式设置为文本
- 为值添加格式
- 从文本中生成数据表
- 获取资产
- 获取凭据/获取 Orchestrator 凭据
- 获取当前作业信息
- 获取环境文件夹
- 获取环境变量
- 获取文件信息
- 获取文件夹信息
- 获取作业
- 获取进程
- 获取行项目
- 获取密码
- 获取事务项目
- 获取用户名/密码
- 获取队列项目
- 全局变量更改触发器
- 输入对话框
- 调用代码
- 调用 COM 方法
- 调用 PowerShell
- 调用流程
- 调用 VBScript
- 调用工作流文件
- 是否为文本匹配
- 联接数据表
- 终止进程
- 启动工作流交互
- 列出存储文件
- 日志消息
- 查找数据表
- 手动触发器
- 合并集合
- 合并数据表
- 消息框
- 修改日期
- 修改文本
- 移动文件
- 移动文件夹
- 多重分配
- 向队列新增项目
- 通知全局变量已更改
- Orchestrator HTTP 请求
- 输出数据表
- 并行
- 并行的遍历循环
- 存在路径
- 推迟事务项目
- 流程终止触发器
- 流程启动触发器
- 流程跟踪作用域
- 发出警示
- 读取列表项目
- 读取文本文件
- 读取存储文本
- 删除数据列
- 删除数据行
- 删除重复行
- 从集合中删除
- 删除日志字段
- 替换匹配模式
- 重复次数
- 重复触发器
- 重命名文件
- 重命名文件夹
- 报告状态
- 重置计时器
- 恢复计时器
- 重试作用域
- 返回
- 运行本地触发器
- 运行代理
- 运行作业
- 运行并行流程
- 设置资产
- 发送电子邮件通知
- 设置凭据
- 设置环境变量
- 设置密码
- 设置任务状态
- 设置追踪状态
- 设置事务进度
- 设置事务状态
- 应停止
- 拆分文本
- 数据表排序
- 启动计时器
- 开始作业
- 停止作业
- 停止本地触发器
- 停止计时器
- 左侧/右侧的文本
- 要大写/小写的文本
- 时间触发器
- 触发器作用域
- 跟踪对象
- 超时作用域
- 更新行项目
- 更新列表项目
- 上传存储文件
- 等待下载
- 等待队列项目
- 先条件循环
- 工作流占位符
- 写入存储文本
- 写入文本文件
- 添加数据行
- AddQueueItem
- 添加事务项目
- 附加行
- BulkAddQueueItems
- 清除数据表
- 压缩 Zip 文件
- 复制文件
- 创建文件
- 创建文件夹
- 删除文件或文件夹
- 删除队列项目
- 删除存储文件
- 下载存储文件
- 提取解压缩文件
- 筛选数据表
- 获取资产
- 获取凭据
- GetJobs
- 获取队列项目
- GetQueueItems
- 获取本地路径的资源
- 获取行项目
- 获取事务项目
- 调用流程
- 联接数据表
- 列出存储文件
- 查找数据表
- 合并数据表
- 移动文件
- Orchestrator HTTP 请求
- OutputDataTable
- 存在路径
- 推迟事务项目
- 读取存储文本
- 读取文本文件
- 删除数据列
- 删除重复行
- 替换
- 设置资产
- 设置凭据
- SetTransactionProgress
- 设置事务状态
- 数据表排序
- 开始作业
- 停止作业
- 更新行项目
- 上传存储文件
- 等待队列项目
- 写入存储文本
- 写入文本文件
- 测试
- 发行说明
- 关于“测试”活动包
- 项目兼容性
- 项目设置
- Address
- AddTestDataQueueItem
- AttachDocument
- BulkAddTestDataQueueItems
- DeleteTestDataQueueItems
- GetTestDataQueueItem
- GetTestDataQueueItems
- GivenName
- LastName
- RandomDate
- RandomNumber
- RandomString
- RandomValue
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- VerifyExpression
- VerifyExpressionWithOperator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- VerifyRange
- Workflow Foundation

工作流活动
高级逻辑
The Logic tab of the Form Designer allows you to create conditions and advanced logic scripts that can change the state or the behavior of the selected form component.
使用高级逻辑,您可以动态更改表单组件的控件、外观和风格。
表单逻辑由两部分组成:触发器和操作。
触发器逻辑触发器是发生操作的条件。例如,您可能希望仅在选中复选框选项时显示特定表单字段。在本例中,复选框选项是触发器,显示表单字段是操作。
有四种类型的逻辑触发器:
| 触发器类型 | 描述 | 示例 |
|---|---|---|
| Simple | 您定义一个触发表单组件和值。 | ![]() |
| Javascript | 您为表单组件或表单数据提供 JavaScript 逻辑。使用 JavaScript 语法创建复杂逻辑,例如循环或动态行为。 | ![]() |
| JSON 逻辑 | 您为表单组件或表单数据提供 JSON 逻辑。建议在不允许使用 JavaScript 的情况下使用。无法支持循环或动态行为。 | ![]() |
| 事件 | 您定义一个组件事件,该事件一旦由相应的组件发出,就会触发所需的操作。 | ![]() |
操作
逻辑操作是应根据您设置的逻辑条件(即触发器)发生的表单组件行为。 例如,您可能想要为特定年龄的用户激活按钮。 在这种情况下,年龄范围是触发器,激活按钮是操作。
有四种类型的逻辑操作:
| 操作类型 | 描述 | 示例 |
|---|---|---|
| 属性 | 触发器会更改一个可用组件属性,例如工具提示、说明、CSS 类等。可用属性取决于触发组件的类型。 | ![]() |
| 值 | 触发器会更改相应组件的值。该操作必须使用 JavaScript 语法定义。 | ![]() |
| 合并组件架构 | 触发器会更改组件 JSON 中的组件架构参数。要查看可以更改的架构参数,请将鼠标指针悬停在相应的组件上,然后单击“编辑 JSON” 。您可以在一项操作中更改多个参数。 | ![]() |
| 自定义操作 | 您可以使用 JavaScript 语法定义自定义操作,就像定义 JavaScript 触发器类型一样。 |
教程
要配置高级逻辑,请执行以下操作:
- 在“创建表单”活动中打开“表单设计器”。
- 将组件拖放到表单中。 请注意其字段键,因为您可能会在高级逻辑中使用这些字段键。
- Navigate to the Logic tab of the component you want to change (i.e., the component upon which the action should take place).
- Click +Add Logic. You can add as many logics as you want.
- 输入逻辑的名称。
- In the Trigger pane, select the type of trigger you want to use in your logic. The available types are Simple, Javascript, JSON Logic, and Event. Set the desired conditions to trigger the action.
- In the Action pane, click +Add Action. You can add as many actions as you want, all triggered by the logic that groups them.
- 输入操作的名称。
- Select the type of action you want to use. The available types are Property, Value, Merge Component Schema, and Custom Action. Set the desired effect of your action.
- When you are all set, click Save Action.
- To save your logic, click Save Logic.
上述过程通常适用于任何类型的触发器或操作。 有关详细过程,请查看特定教程,其中提供了每个特定触发器和操作类型的示例
- 触发器类型: Javascript和操作类型:值动态汇总两个文本字段
- 触发器类型:简单和操作类型:属性动态隐藏字段
- 触发器类型:简单和操作类型:合并组件架构动态更改标题颜色
- 触发器类型:事件和操作类型:自定义操作使用事件将表单字段设置为默认值
- 触发器类型: JSON 逻辑和操作类型:属性根据用户输入显示组件
动态汇总两个文本字段
触发器类型: JavaScript操作类型:值
此高级逻辑根据用户与相应文本字段交互的条件汇总两个文本字段。
-
在“创建表单”活动中打开“表单设计器”。
-
Drag and drop three Text Field components into your form.
-
将其中两个文本字段组件命名为
A和B,将第三个命名为Total。 在高级逻辑中使用字段键时,请注意其字段键。(可选)您可以将
Total文本字段组件设置为“禁用” ,使业务用户无法与之交互。 -
Go to the Logic tab of the
Totalfield component. -
添加一个逻辑并将其命名为“动态求和”。
-
Select the Javascript trigger type, and enter the following script in the Text Area section:
result = true; return result;result = true; return result;上面的代码片段检测文本字段中是否有任何更改,即用户与文本字段的交互,并触发 Actions 以汇总字段。
-
添加一个操作并将其命名为“a+b”。
-
Select the Value action type, and enter the following script in the Value (Javascript) section:
result = (+data.a) + (+data.b); return result;result = (+data.a) + (+data.b); return result;将
a和b替换为文本字段组件的字段键值。 -
保存操作和逻辑。
-
保存组件。
在运行时,如果业务用户与文本字段 A 和 B进行交互,则 Total 字段将自动填充,并显示 A 和 B 的总和。
动态隐藏字段
触发器类型:简单操作类型:属性
当用户在另一个表单字段(即 Parent field)中输入“隐藏” 时,此高级逻辑将隐藏表单字段(即 Child field)。
- 在“创建表单”活动中打开“表单设计器”。
- Drag and drop two Text Field components.
- 将其中一个文本字段组件命名为
Parent field,将另一个命名为Child field。 在高级逻辑中使用字段键时,请注意其字段键。 - Go to the Logic tab of the
Child fieldcomponent. - 添加一个逻辑并将其命名为“隐藏输入”。
- Select the Simple trigger type.
- 从“表单组件”下拉菜单中,选择
Parent field ({parentField_field_key})。 - 在具有值字段中,输入“hide”。上述配置将检测用户是否在父字段中输入了字符串“hide”,并触发操作以隐藏子字段。
- 从“表单组件”下拉菜单中,选择
- 添加一个操作并将其命名为“隐藏”。
- Select the Property action type.
- 从“组件属性”下拉菜单中,选择“隐藏” 。
- 从设置状态下拉菜单中,选择True 。
- 保存操作和逻辑。
- 保存组件。
在运行时,如果业务用户在父字段中输入“隐藏”,则子字段将变为隐藏状态。
动态更改标题颜色
触发器类型:简单操作类型:合并组件架构
当用户从列表中选择所需颜色时,此高级逻辑会更改文本字段组件的标签颜色。 使用自定义 CSS 文件应用此更改。
先决条件:
Create a CSS file containing the new color for the text field label and reference it in the Create Form activity, in the LocalCSSFilePath activity property.

例如,下面的 CSS 代码片段包含一个将标签颜色设置为绿色或红色的类:
.textFieldLabel-green
{
color : green;
}
.textFieldLabel-red
{
color : red;
}
.textFieldLabel-green
{
color : green;
}
.textFieldLabel-red
{
color : red;
}
在“创建表单”属性中引用 CSS 文件后,请按照以下步骤设计表单:
-
在“创建表单”活动中打开“表单设计器”。
-
Drag and drop one Text Field component and one Radio component. Pay attention to their field keys, as you use those in your advanced logic.
-
在 文本字段组件 的“显示”选项卡中,设置默认的“自定义 CSS 类” 。例如,要将红色设置为文本字段的默认颜色,请使用
textFieldLabel-red类。必须在上述先决条件中的 CSS 文件中定义该类。
-
For the Radio component, add two values for the colors
greenandred. -
Go to the Logic tab of the Text Field component.
-
添加一个逻辑,并将其命名为“颜色选择”。
-
Select the Simple trigger type.
- 从“表单组件”下拉菜单中,选择
Radio ({radio_field_key})。 - 在具有值字段中,输入“绿色”。上述配置可检测用户是否从单选选项中选择“绿色”,并触发操作以更改文本字段标签颜色。
- 从“表单组件”下拉菜单中,选择
-
添加一个操作,并将其命名为“使用 css 更改颜色”。
-
Select the Merge Schema Component action type and enter the following snippet:
return { customClass: "textFieldLabel-green" }return { customClass: "textFieldLabel-green" } -
保存操作和逻辑。
-
保存组件。
在运行时,如果业务用户选择“绿色”单选按钮,则文本字段的标签将变为绿色。 如果用户选择“红色”单选按钮,则文本字段的标签将变为红色。
使用事件将表单字段设置为默认值
触发器类型:事件操作类型:自定义操作
当用户单击按钮时,此高级逻辑会更改文本字段的内容。 该按钮会发出一个事件,根据该事件,文本字段内容将更改为默认文本。
-
在“创建表单”活动中打开“表单设计器”。
-
Drag and drop one Text Field component and one Button component. Pay attention to the components field keys, as you use those in your advanced logic.
-
在按钮组件的“显示” 选项卡中:
- 将按钮组件标记为
Change value to "Default" - 将按钮“操作”设置为“单击” 。
- 选中“用于本地更新” 复选框。
- 在“更新数据逻辑”部分输入以下代码片段。这会在用户每次单击按钮时发出名为
resetTextField事件。instance.emit('resetTextField', {});instance.emit('resetTextField', {}); - 保存按钮组件。
- 将按钮组件标记为
-
Go to the Logic tab of the text field component.
-
添加一个逻辑并将其命名为“reset”。
-
Select the Event trigger type.
-
In the Event Name field, enter the name of the event emitted when clicking the button. (i.e.,
resetTextField).上述配置会检测用户何时单击
Change value to "Default"按钮,并将文本字段的现有内容替换为“默认”。 -
添加一个操作并将其命名为“默认”。
-
Select the Custom Action action type.
-
Input the following snippet in the Custom Action (Javascript) section.
return "Default"return "Default" -
保存操作和逻辑。
-
保存组件。
在运行时,如果业务用户单击 Change value to "Default" 按钮,则会发出 resetTextField 事件。 触发器侦听事件并将现有文本字段内容替换为“默认”。
根据用户输入显示组件
触发器类型: JSON 逻辑操作类型:属性
当用户输入所需文本时,此高级逻辑会显示 HTML 组件的内容(在本例中为图像)。
-
在“创建表单”活动中打开“表单设计器”。
-
Drag and drop one Text Field component and one HTML Element component. Pay attention to the components field keys, as you use those in your advanced logic.
-
In the Display tab of the text field component:
- 将文本字段组件标记为“Type "Show me"”。
- 添加说明“必须完全匹配(区分大小写)”,以告知用户必须按要求输入文本。
- 保存文本字段组件。
-
In the Display tab of the HTML element component:
- 在“内容”部分中,引用要显示的图像。例如:
<img href="https://picsum.photos/200/300" />。 - 选中“隐藏”复选框,以默认隐藏图像。
- 保存 HTML 元素组件。
- 在“内容”部分中,引用要显示的图像。例如:
-
Go to the Logic tab of the HTML element component.
-
添加一个逻辑并将其命名为“用户输入”。
-
Select the JSON Logic trigger type.
-
Input the following snippet in the JSON Logic section, and replace
{text_field_component_field_key}with the field key value you set for your text field component.{ "===": [ { "var": "data.{text_field_component_field_key}" }, "Show me" ] }{ "===": [ { "var": "data.{text_field_component_field_key}" }, "Show me" ] }The above configuration detects when the user inputs "Show me" and only then sets the value of the HTML element Hidden property to False, thus displaying the corresponding HTML content.
-
添加一个操作,并将其命名为“显示图像”。
-
Select the Property action type.
- 从“组件属性”下拉菜单中,选择“隐藏” 。
- 从设置状态下拉菜单中,选择False 。
-
保存操作和逻辑。
-
保存组件。
在运行时,如果用户在文本字段中输入所需的文本,则表单将显示 HTML 内容。
示例工作流
要查看完整的工作流或供日后参考,请下载XAML 示例






