Troubleshooting
Fix the Duaer expression error "Node hasn't been executed"
Duaer raises Node 'X' hasn't been executed when an expression references a node that did not run this time, usually after an If or Switch branch.
Why it happens
In Duaer, {{ $("Find customer").item.json.name }} reads what Find customer output in this run. When that node sits on an If branch that did not run, or runs after the current node, there is nothing to read, so Duaer raises Node 'Find customer' hasn't been executed.
It also shows up when you test one node in the editor before earlier nodes ran. Select Execute previous nodes first.
Three fixes
- Rewire: put the referenced node earlier on the same path as the current node.
- Join branches with Merge and reference the Merge output rather than a node inside one branch.
- Guard when it may not run: {{ $if($("Find customer").isExecuted, $("Find customer").item.json.name, "") }} returns an empty string when it did not.
Questions
What is isExecuted in Duaer?
In a Duaer expression, $("Node name").isExecuted tells whether that node ran this time. Pair it with $if to avoid the error.
The node did run, but Duaer still raises the error?
Check that the node name matches exactly. Duaer is case and space sensitive, and old expressions may keep a renamed node's old name.
In this section
Transform data with expressions in Duaer
Use expression transformation functions anywhere expressions are supported in Duaer. When you only reshape fields, prepare them in Edit Fields (Set) first.
NodesBranch with If in Duaer
In Duaer, If has two outputs: true and false. Conditions hold the rule. Items on an unwired side are dropped.
NodesRoute items with Switch in Duaer
In Duaer, Switch defaults to Mode Rules. Under Routing Rules, set Conditions per rule. With Fallback Output None, unmatched items are ignored.
NodesConfigure the Merge node in Duaer
In Duaer, Merge defaults to Mode Append, which lines up items from each input one after another. To join by fields, set Mode to Combine.