NetSuite销售订单:如何显示Item Fulfilment的实际状态(拣货/包装/已发货)
First, let’s align on your core needs: you want to display the latest Item Fulfilment status (Picked/Packed/Shipped) directly on Sales Orders, but only when the order is in the Pending Fulfilment state. You’re unsure if Workflow or Custom Forms is the right path—here’s the breakdown:
1. What each tool does (and why you’ll need both)
- Custom Forms: These are for static UI tweaks—like rearranging fields, hiding/showing static elements, or adding custom fields to your Sales Order record. But they can’t handle dynamic logic (like showing a field only when the order is in a specific state) or auto-update data from related records (like Item Fulfilment status).
- Workflow: This is your go-to for state-driven automation and dynamic logic. It can trigger actions based on record status, update fields automatically, and control when UI elements are visible.
2. The recommended approach (Custom Field + Workflow combo)
You’ll need a small combination of tools to make this work perfectly:
Step 1: Create a custom status field
Add a custom field to your Sales Order record (let’s name it Latest Item Fulfilment Status). Set it as a list type with options: Picked, Packed, Shipped. This field will store the latest status pulled from related Item Fulfilments.
Step 2: Build a Workflow to handle the logic
Workflow is the engine here—it’ll do two key things:
- Control field visibility: Set the Workflow to trigger when the Sales Order is in Pending Fulfilment state. When this condition is met, show your custom status field; when the order moves out of this state, hide the field automatically.
- Sync the latest Item Fulfilment status: Add a Workflow action that finds the most recent Item Fulfilment linked to the Sales Order, pulls its status, and updates your custom field. You can use Workflow’s built-in Find Record action to locate the latest Item Fulfilment, then map its status to your Sales Order’s custom field.
3. Why Custom Forms alone won’t work
Custom Forms can only set static display rules—they can’t dynamically show/hide fields based on real-time order status, and they can’t automatically pull and update status data from Item Fulfilments. You’d have to manually update every order’s status, which isn’t scalable.
4. When to add a script (if needed)
If you have complex logic (e.g., multiple Item Fulfilments for one order, and you need to prioritize the latest status), Workflow’s built-in actions might not be enough. In that case, a simple SuiteScript 2.x User Event Script can fetch the latest status, and your Workflow can call this script to update the custom field. But for most basic use cases, pure Workflow will do the trick.
Final takeaway
Your starting point should be:
- Create the custom status field on Sales Orders
- Build a Workflow to control visibility and sync the latest Item Fulfilment status
- Use a Custom Form only to position the custom field where you want it on the Sales Order layout
内容的提问来源于stack exchange,提问作者Lisa Reed

