Duaer

数字组织与数据

给这次执行加上自定义数据

自定义数据记在这一次执行上,用来之后在执行列表里按这些值筛选。自定义执行数据不是节点之间传递的业务数据。

自定义执行数据记在哪一次执行上

每次运行都有自己的执行记录。自定义数据是挂在这条记录上的一组键和值,用来回答“这次是哪个客户、哪张单”。节点输出里的 json 仍然是交给下一步的数据,两套东西不要混着用。

执行列表里的自定义数据筛选,要当前套餐包含这项。没有的时候,筛选框会提示升级。写入本身是在运行过程中做的。

用代码节点写入

在 JavaScript 的 Code 节点里,用 $execution.customData。值请传字符串。键用你会拿来筛选的名字,比如客户编号或环境。

$execution.customData.set("customerId", String($json.customerId));
$execution.customData.setAll({
  customerId: String($json.customerId),
  source: "form",
});

set 写一个键。同一个键再写一次,会盖掉原来的值。setAll 一次写多个键,没有出现在这次对象里的旧键会被清掉,不要把它当成“只更新我传来的那几个”。

get 按键读取,getAll 读出当前这条执行上已经写下的全部键值。读取用来在同一次运行后面的代码里接着用,筛选列表时不需要再 get。

Python

Python 的 Code 节点用 _execution.customData,方法一样:set、get、setAll、getAll。

_execution.customData.set("customerId", str(_item["json"]["customerId"]))

用 Execution Data 节点写入

不想写代码时,用 Execution Data 节点。在节点里填键和值,运行到这一步就会记到当前执行上。这个节点负责写入,不负责在别的节点里把值取回来。要在后面的代码里读,仍用上面的 get。

键和值在运行到这个节点时就定下来。后面的节点再改业务数据,不会自动改已经写下的自定义数据,除非后面又写了一次。

常见问题

Duaer 的自定义执行数据存在哪里,用来做什么?

Duaer 的自定义执行数据存在这一次执行记录上,是一组键和值,用来稍后在执行列表里筛选。自定义执行数据不是节点之间传递的 json。在执行列表里按自定义数据筛选,需要套餐包含这项。

在 Duaer 的 Code 节点里怎么写入自定义执行数据?

在 Duaer 的 JavaScript Code 节点里,用 $execution.customData.set 写入一个键,或用 setAll 一次写入多个键。值使用字符串。setAll 会清掉这次对象里没有的旧键。Python Code 节点使用 _execution.customData,方法相同。Execution Data 节点也可以写入,但不能在其他节点里把值取回。

同组