I have configured a pre processing data transform to generate a alphanumeric code and setting the value to one of the property in form which is readonly, when ever i change the value in other properties the alphanumeric code is changing (refreshing and generating new code).
Hi,
You can add a condition like “only generate when property is blank” so refreshes do not overwrite the existing value.
-
Open your pre-processing data transform.
-
Select the Set row that assigns the generated code.
-
Click the Condition option on that row.
-
Set the condition to: .YourProperty == “”
or use the When rule /
@IsBlank(.YourProperty). -
Save and check in.
it is one of the solution i have tried, but its not working even with condition value is changing for every other property change
In Constellation, pre-processing Data Transforms are designed to set initial default values for fields. However, because Constellation operates via stateless API calls, a pre-processing Data Transform executes on every subsequent view refresh. When you set a value to a read-only field this way, you encounter two major issues:
-
Value Regeneration: The value changes on every subsequent API call/refresh.
-
Persistence Failure: When the form is submitted, the value will not be persisted to the case because read-only fields are excluded from the submit API payload.
Set the value in the flow (Best Practice) Instead of using a pre-processing Data Transform on the assignment step, configure a Data Transform in the connector flow right before the assignment step. This ensures the code is generated exactly once and properly saved to the case.