Hi Community,
I’m working on a requirement where I need to filter Region lookup data in a multi‑select dropdown field based on a column value (State/Region).
Basically, when a user opens the lookup field, it should only display the records that match the given State condition.
Here is my viewConfigDiff code:
viewConfigDiff: /**SCHEMA_VIEW_CONFIG_DIFF*/[
...
{
"operation": "insert",
"name": "MultiSelect_ugo4wdi",
"values": {
"layoutConfig": {
"column": 1,
"row": 3,
"colSpan": 2,
"rowSpan": 1
},
"type": "crt.MultiSelect",
"label": "#ResourceString(MultiSelect_ugo4wdi_label)#",
"recordId": "$Id",
"recordRelationColumnName": "ImpAccount",
"selectSchemaName": "ImpStateInterestMultiselect",
"selectColumnName": "ImpStateInterestField",
"selectFilter": {
"items": {
"filterByRegion": {
"comparisonType": 3,
"isEnabled": true,
"filterType": 1,
"leftExpression": {
"expressionType": 0,
"columnPath": "ImpStateRegion"
},
"rightExpression": {
"expressionType": 2,
"parameter": {
"dataValueType": 1,
"value": "State"
}
}
}
}
},
"visible": true,
"labelPosition": "above",
"placeholder": "",
"tooltip": ""
},
"parentName": "GridContainer_qy480gv",
"propertyName": "items",
"index": 3
},
...
]/**SCHEMA_VIEW_CONFIG_DIFF*/,
I’ve tried adding filtering logic in the source code, but I’m not getting the expected result. Here is my handler code:
handlers: /**SCHEMA_HANDLERS*/[
{
request: "crt.LoadDataRequest",
handler: async (request, next) => {
// Ensure this runs only for your MultiSelect list data source
console.log("Current DataSourceName:", request.dataSourceName);
console.log("EntitySchema:", request.entitySchemaName);
// Ensure it's the right source + schema
if (request.dataSourceName !== "MultiSelect_ugo4wdi_List_DS") {
console.log("Hello I am in a log box 1234");
return await next?.handle(request);
}
const filter = new sdk.FilterGroup();
// Filter where ImpStateRegion == 'State'
await filter.addSchemaColumnFilterWithParameter(
sdk.ComparisonType.Equal,
"ImpStateRegion", // <-- Column in ImpStateInterestMultiselect to filter on
"State" // <-- The fixed value to filter by
);
// Workaround for Creatio DevKit filter bug
const newFilter = Object.assign({}, filter);
console.log("Hello I am in a log box");
newFilter.items = filter.items;
// Add filter to request parameters
request.parameters.push({
type: "filter",
value: newFilter
});
// Proceed with next handler
return await next?.handle(request);
}
}
]/**SCHEMA_HANDLERS*/,
I’ve also attached a screenshot of the current setup.

Can someone guide me on how to correctly apply filters for a multi‑select lookup field?
Do I need to configure this through the business rules, or is filtering only possible via overriding the source code handler?
Any help or examples would be greatly appreciated!
Thanks in advance.