Hi team,



I created a multi select lookup page for a detail in freedomUI using "crt.OpenLookupPageRequest" functionality. I wanted to either remove already selected records in the popup window or show them as checked if they are added into the detail. 

Source for multiselect page : https://customerfx.com/article/invoking-a-multi-select-lookup-dialog-on-a-creatio-freedom-ui-page/

Can anyone help me with this issue?



Expected functionality:





Thanks in advance

Goparna Nasina

Like 1

Like

1 comments

Hello!

You can use the filtersConfig parameter to filter records, as mentioned in the article.

Or you can use the option selectionState to predefine selected rows, which will be pre-selected when the lookup page is opened.

 

Example of selected records:

{
	type: "crt.OpenLookupPageRequest",
	...
	selectionState: {
		type: 'specific',
		selected: [
			'00000000-0000-0000-0000-000000000000',
			'11111111-1111-1111-1111-111111111111',
		]
	}
}

 

An example of pre-filtering records:

{
	type: "crt.OpenLookupPageRequest",
	...
	filtersConfig: {
		filterAttributes: [
			{
				name: 'MyFilter',
				loadOnChange: false
			}
		],
		attributesConfig: {
			MyFilter: {
				value: {
					"items": {
						"29e16d42-36f1-4e04-9029-4321cbb2494d": {
							"filterType": 1,
							"comparisonType": 11,
							"isEnabled": true,
							"trimDateTimeParameterToDate": false,
							"leftExpression": {
								"expressionType": 0,
								"columnPath": "Name"
							},
							"isAggregative": false,
							"dataValueType": 1,
							"rightExpression": {
								"expressionType": 2,
								"parameter": {
									"dataValueType": 1,
									"value": "Super"
								}
							}
						}
					},
					"logicalOperation": 0,
					"isEnabled": true,
					"filterType": 6,
					"rootSchemaName": "Contact"
				}
			}
		}
	}
}

 

Show all comments

Hello ,

I want to see a list of departments when I click on the "Plus button," so that I want to select several departments, add them to the bottom section and automatically send emails and notifications to the users of these departments that I have selected

 

 

Like 1

Like

3 comments

Hello!



Unfortunately, the multi-record adding feature from the lookups is not available for Freedom UI.

Based on your feedback, we have registered a task for the responsible R&D team to review its implementation in a future release.

Thank you ,

What if we want to add them one by one?

Show all comments

Now that lists have a multi-select feature, how can one access the DataTable_SelectionState for that list and pass it to a BP?  The available button actions don't seem to have an option specific to sections and I'm not yet seeing any samples out there on how to do it in code.  

 

Has anyone tackled this yet?

Like 1

Like

4 comments
Best reply

Hi Jeremy!

 

You can use the following in a request handler for the action buttons for the list - this will return an array of the selected Id values: 

const selectedIds = (await request.$context.DataTable_SelectionState).selected;
// selectedIds will be an array of Id's for any selected records

As for getting them to a process, you could pass in as a string to a param or execute the process separately for each Id. See here for executing a process, if needed. 

More info here: https://customerfx.com/article/getting-multi-select-records-from-a-crea…

Ryan 

Hi Jeremy!

 

You can use the following in a request handler for the action buttons for the list - this will return an array of the selected Id values: 

const selectedIds = (await request.$context.DataTable_SelectionState).selected;
// selectedIds will be an array of Id's for any selected records

As for getting them to a process, you could pass in as a string to a param or execute the process separately for each Id. See here for executing a process, if needed. 

More info here: https://customerfx.com/article/getting-multi-select-records-from-a-crea…

Ryan 

Ryan Farley,

This is exactly what I was looking for.  Thanks Ryan!

This should be available without a line of code.

Franck Lehmann,

 

I believe that's coming in a future update.

Show all comments

Hi,

 

We have created two sections : "Deliveries" and "Vessel Requests".  We have added Deliveries as Detail in Vessel Request section. we will to add existing records from + button without creating new objects. when added, the selected delivery records should be updated with the current vessel request. Please refer to the screenshot below.

 

Please help and advice.

 

Thanks,

Like 0

Like

1 comments

Hello!

 

The topic was discussed in the post by the link below:

https://community.creatio.com/questions/multi-select-and-update-record-…

 

Best regards,

Kate

Show all comments

The  multiselect text add on by Ryan Farley is such an elegant solution! It works well in all cases, but I have a case where I need to add this functionality to an editable list. 

 

Is this possible?

Like 0

Like

2 comments

Not sure if it's possible, but I've never tried it. I would start with looking in ConfigurationGrid to see if there is a method there to override? 

Ryan

Ryan Farley,

 

I have tried something with ConfigurationGrid. But I am not able to make it work. Do you know any way to make it possible.

Show all comments
define("ContactPageV2", [], function() {
	return {
		entitySchemaName: "Contact",
		attributes: {
 
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "hasForeignTrade",
				"values": {
					"click": "getLookupConfig",
					"layout": {
						"colSpan": 12,
						"rowSpan": 1,
						"column": 0,
						"row": 2,
						"layoutName": "ContactGeneralInfoBlock"
					},
					"bindTo": "UsrHasForeignTrade",
					"labelConfig": {
						"caption": {
							"bindTo": "Resources.Strings.hasForeignTrade"
						}
					},
					"enabled": true,
					"contentType": "Terrasoft.core.enums.ContentType.LOOKUP"
				},
				"parentName": "ContactGeneralInfoBlock",
				"propertyName": "items",
				"index": 4
			},
 
		]/**SCHEMA_DIFF*/
	};
});

 

Hello,

How can i make this lookup multiselect?

Like 1

Like

1 comments

Probably, it is better to use this add-on from Marketplace https://marketplace.creatio.com/app/multiple-choice-field-setup-creatio

Show all comments

Hello, Need make a lookup multiselect. The idea is can select multiple result and store them un the same field of database.

Any idea?

Regards, 

Like 1

Like

4 comments

Hello! I think you have to add  "Terrasoft.LookupMultiAddMixin", such as in https://academy.bpmonline.com/documents/technic-sdk/7-11/adding-multipl…

Hello Federico,

In order enable the multiSelect, you have to pass the correct value to the lookup config.

Here is an example of code that executes before the exact lookup was opened:

In case you change multiSelect value to True you'll get the option to choose many values in the same lookup field.

Lisa

Lisa Brown,

Dear Lisa, could you please send more details or an example of the MultiSelect Lookup option? thanks!

 

Dear Fernando,

Please see the "Recipient" field in the EmailPageV2. It is a multi-lookup field, which populates values from Contact object. However, please keep in mind, that you will need to display values to a text type field, but not a lookup type. Thus, consider creating an extra text field to store selection to.

 

Show all comments