Dear,

On our development environment we are having the following error when we try to run compilation:

Compilation errors

File name: OrderSchema.Custom.cs

Code CS1061 - Line 1727

'IEnumerable<EntityColumnValue>' does not contain a definition for 'Any' and no accessible extension method 'Any' accepting a first argument of type 'IEnumerable<EntityColumnValue>' could be found (are you missing a using directive or an assembly reference?)

We tryed to restore Order and OrderPageV2 from the prod

Recompile all environment

Clear Redis and restart application

I can figure where from is this error coming...

Thank you for help !

Nicolas

Like 0

Like

8 comments
Best reply

Hello,

Yes, indeed, in this case, it is necessary to redesign processes to be interpreted, not compiled.

 

https://academy.creatio.com/docs/8.x/no-code-customization/bpm_tools/pr…

The error was coming from a script in which variables were not well declared

Hello,

Yes, indeed, in this case, it is necessary to redesign processes to be interpreted, not compiled.

 

https://academy.creatio.com/docs/8.x/no-code-customization/bpm_tools/pr…

hello!
I have the same errors during compilation, but in OpportunitySchema.Opportunity.cs file, recompilaiton didnt help

Dmitrii Balashov,

 

Please specify if you already tried to follow the instructions provided above to fix this issue:

"it is necessary to redesign processes to be interpreted, not compiled."

https://academy.creatio.com/docs/8.x/no-code-customization/bpm-tools/pr…

I've only just recently started working with Creatio, but as I understand it this relates to writing Script task correctly


But after deleting all my custom script tasks the problem is still present on after recompiling

I contacted support and it looks like this is an issue with Opportunity package in version 8.1.3, which should be resolved in 8.1.4

Dear Dmitrii Balashov,

These compilation errors are fixed for 8.1.4, but you can go to the workaround solution:

    1) Unlock the Opportunity package for the hotfix.
    2) Open the embedded process in the Opportunity object schema.
    3) Change three lines (8, 10, 11) in the OpportunitySaving method to use the full definition of System.Linq.Enumerable save process and compile the system.
    4) Lock the Opportunity package.



BP

 

Full definition of System.Linq.Enumerable

 

Best regards,

Andrii

Andrii Kurta,

Thank you!

Show all comments

I'm trying to improve a UX flow in one of our clients, and to do so I'm hoping it would be possible to create a modal dialog box which can have a date selected from a date picker, but I can't see any obvious ways - is there anything that can be done for this? I saw this excellent guide on getting a Yes/No type dialog in Freedom UI, but I can't see any extra capabilities for potentially adding more freeform user interaction: https://customerfx.com/article/showing-a-message-dialog-or-confirmation…

 

Any help would be greatly appreciated. Currently on Creatio CRM 8.1.0

Like 0

Like

10 comments
Best reply

Hi Harvey,

I've done this in several areas in our system using modal forms (actually called a Mini Page in the page types dialog you select from when creating a new page). Here's an example of a dialog allowing the case status to be set from a list (we don't use editable lists yet since there's no way to add validators yet to lists):

This is just a modal/mini form created using the form designer. The nice part about this is that it can be bound directly to the object (I have many that aren't bound as well, depending on the scenario).

You can open this specific page for a particular record using this method (also possible with an action in no code designer as well) https://customerfx.com/article/opening-a-record-for-edit-in-a-specific-…

Ryan

Hi Harvey,

I've done this in several areas in our system using modal forms (actually called a Mini Page in the page types dialog you select from when creating a new page). Here's an example of a dialog allowing the case status to be set from a list (we don't use editable lists yet since there's no way to add validators yet to lists):

This is just a modal/mini form created using the form designer. The nice part about this is that it can be bound directly to the object (I have many that aren't bound as well, depending on the scenario).

You can open this specific page for a particular record using this method (also possible with an action in no code designer as well) https://customerfx.com/article/opening-a-record-for-edit-in-a-specific-…

Ryan

Ryan Farley,

Thanks for the reply Ryan, that seems like exactly what we're after! I had wondered about using a Mini Page for it but wasn't sure how that would be hooked in to work. How are you triggering the mini page to be displayed, I take it it's from code? Is it using something like the following when clicking a button or whatever the trigger is:

const handlerChain = sdk.HandlerChainService.instance;
 
await handlerChain.process({
	type: "crt.CreateRecordRequest",
	entityName: "CustomEntity",
	entityPageName: "CustomEntityMiniPage",
	$context: request.$context,
	defaultValues: [{
		attributeName: "Col1",
		value: "Val1"
	}]
});

 

Or are you able to get a Mini Page to appear without some entity it's based over? For our requirements, the data field to be modified would actually be on the entity of the Form Page the user was currently on, so it didn't seem like the crt.CreateRecordRequest would make sense, but the crt.OpenPageRequest always seems to open the Mini Page as though it were a full-sized page, and the crt.UpdateRecordRequest I hadn't tried yet as I didn't already have a Mini Page for the entity and thought it likely wouldn't work as the mini pages are generally used for adding data, not editing?

 

Thanks again.

There's so many uses of modal (mini) pages beyond just what mini pages were used for typically in classic ui. 

IMO It's one of the best additions to Freedom UI, the ability to create dialogs for specific purposes, bound to a record or not, that really enhances the user experience. This is a prompt for selecting parameters for a report.

Ryan

Harvey Adcock,

You would use an "crt.OpenPageRequest". I edited my original post to include a link to an article showing how to open it to edit a record. 

Ryan

Harvey Adcock,

In older versions the "crt.OpenPageRequest" did open the page in full screen, even if a modal page. But I think that was fixed in 8.0.10 and has been working for me (it does open as a modal)

Ryan

Perfect, thanks Ryan, really helpful!

Ryan Farley,

 

One more question, is there a way to pass information from the current page to the page being opened via the OpenPageRequest? Trying defaultValues, similar to what you would use when creating a new record from a page launched by code, doesn't seem to have any effect, and I can't see any other candidates for it.

Harvey Adcock,

I’m not 100% sure but I think you can only pass values for a new record (crt.CreateRecordRequest) only. 

Alternatively, you could write some values to a global or use the StorageUtilities module and then read from the form once opened. See StorageUtilities here: https://customerfx.com/article/persisting-data-between-pages-in-creatio…

Ryan

Harvey Adcock,

You can try something like this to pass defaultValues

request.$context.executeRequest({
	type: "crt.OpenPageRequest",
	$context: request.$context,
	schemaName: "UsrYourCustom_FormPage",
	modelInitConfigs: [
		{
			action: sdk.ModelInPageAction.Edit,
			recordId: yourRecordId
		},
		{
			defaultValues: [
				{
					attributeName: "someName",
					value: "someValue"
				}
			]
		}
	]
});

 

Alex Zaslavsky,

 

Does this passing of values work for passing a value into a Page Parameter? Or is there some way to do so? The value I want to pass to a new page (either through OpenPageRequest or CreateRecordRequest) is not on the entity, it's just a parameter on a page, but we need to set this value when opening the page.

Show all comments

Has anyone encountered the following problem with the Advanced filter for Creatio by DEVLAB:

 

- When you CREATE a filter/folder,  by default it takes the ALL column configured view  =   which is OK

- You may change the columns view and SAVE the folder view.

- When you click the folder, the configured column view of the filter is displayed with the data.

- When you EDIT the filter, change a criteria and click APPLY....the configured view is taking the Default ALL collumn configuration (GLITCH)

- But if you SAVE the filter with the updated criteria....then the column view is back to what it was configured

 

 

Can I communicate with the developer(s) who did that to make an update ?

 

Also...When I UNINSTALLED the package and RECOMPILE....the system still has the GLITCH. (outch !!!)

 

Like 1

Like

3 comments

Hi Francois,



Thank you for bringing this matter to our attention.

The developer has resolved this issue and published the new version of the application on the Creatio Marketplace.

 

Please install the latest version via the following link: Advanced list setup for Creatio

Hello...While fixing the previous bug...I believe another one came up.

When accessing a CASE (or any object), if you click on the ACCOUNT of the CASE and come back...for some reason the system doesn't know where it was and keeps displaying the Loading Icon with a brighter screen.

 

He're a short video to help you understand the problem :



vtq-media.com/Video-Library/BUG-display-when-returning-from-a-detail-page.mp4

 

Can you fix that ?



SEE CASE below opened to Support@creatio.com 

Case #SR-01273076: VTQ-CANADA - Bug display when returning from a detail page

 

Oleg Drobina  (Creatio Support)

2/29/2024 at 1:31 PM

Hello Francois,



Thank you for the video and the explanation!



After studying the behavior, we could reproduce it out-of-the-box after installing this Marketplace addon https://marketplace.creatio.com/app/advanced-list-setup-creatio. This addon directly provokes the behavior you've described.


 

Any updates on that issue ?

Show all comments

Hi Everyone,

 

I am using a pre-configured page in my process. But it is not showing. When I start the process with the Start signal along with the save record, it doesn't appear but when I use the button to run the process, it appears. How can I make the page appear with a Start Signal? Thanks!

Like 0

Like

4 comments

Hi Hassan!

 

We recommend checking the configuration of the start signal. If the page appears when you manually start the process, then it is likely that the start signal for record creating wasn't configured correctly.

Please check if the process starts, you can check it in the System designer -> Process log. If the process didn't start, check the start signal configuration and make sure that the record created match the conditions.

 

You can get more information about start signal for creating a record on Academy: https://academy.creatio.com/docs/8.x/no-code-customization/bpm_tools/pr…

 

If you have checked the settings and still need help, please contact our support team for further analysis.

 

Best regards,

Alina

Alina Yakovlieva,

Hi Anna,

 

The process does start and it is in process. When I go to Logs, I can see the process at the Mini page stage. From there I can inspect the mini page and complete the process by clicking on the button.

Hassan Tariq,

In this case, please check the setting of the "Who performs the task?", maybe the page shows to another user. 

 

Also, you can check more information about the Pre-configured page set up on Academy: https://academy.creatio.com/docs/8.x/no-code-customization/bpm_tools/pr…

On the signal, make sure that "Run following elements in the background" is not checked.

Ryan

Show all comments

Hi,

 

We have a object for Sets in our Main Application. We are thinking of having a Mini page when we are saving a new record in our set object. So when a user adds a new entry to our Sets record page then when he is going to save it, there should be a pop-up to decide which entries they want to add and then when he selects them, then all data should be added to the record. How should I do this? I can make a process for adding a mini page?

Like 0

Like

2 comments

Bump

Hello!

 

Please note that this can be realized through 2 options:

- via business processes

- via development 



Unfortunately, we cannot provide you with specific recommendations on your question at this time, as such a scenario has not been studied and we have no examples of such a realization.

Show all comments

Hi Everyone,

 

We have the following business process in which we check if there are any previous Orders at the same time or even within 11 hours. If yes, then it will assign the Shift as double, if not then it will assign it as a single shift. However, there are 2 issues we are having.

 

  1. When there is an order at 12:00-13:00 and another order at 13:00-14:00 then technically it should be assigned as a double shift. But our current process still assigns a single shift.
  2. We need to add more checks to the previous order. For example: If the same team is assigned to the same location, then it should still be a single set. How can I do that? 

Kindly see the images for the process. Thanks! 

Like 0

Like

2 comments

Bump

Hello,

I suggest you check if the filtering conditions are being met.

  1. Try building the same filter in the Orders object and check if such records exist, and if there are more than 2 records. (We noticed that you have Finish Date < Start Date; we are not familiar with the logic of your object, but we recommend verifying the correctness of this filter.) Reference: How to work with data

  2. Enable process tracing to check the values returned by the process elements: Reference: Trace process

Regarding the second issue, you need to add more filters so that the records found in the Read Data element meet the required condition.



If you encounter further difficulties in configuring the process, please contact our support team at support@creatio.com.



Best regards,

Pavlo!

Show all comments

Is it possible to change the colours/colour progression used for subsequent sections of a donut chart widget? We currently want to define that one value of a boolean on a lookup should be displayed in green, and the other red, but a generalised way of doing this would be very helpful for future reference - e.g. to specify the set and order of colours used in some way. We're currently on 8.1.0.6820 Any help would be greatly appreciated!

Like 1

Like

1 comments

Hello,



Unfortunately, at the moment it is impossible to customize colors in charts. However, a task has already been registered in our R&D team to add the option to customize colors in charts, in future releases. In case you would like to check  what stage this task is at, I am sending you the task number: PR-6359.

Show all comments

Is it possible to cancel a DCM transition from JS code? I believe it used to be possible in the classic UI, but I can't find any info on achieving it in Freedom UI. Trying to intercept the call with a handler for `crt.EntityStageProgressBarStageChangedHandlerRequest` allows "cancelling" it in a sense, as we can prevent the continuation of the handler chain by not performing the `return await next?.handle(request);` call, similar to how you would omit the `this.callParent(arguments)` when using classic UI, which does prevent the change from happening/further processing, but this leaves the selected stage highlighted instead of visually returning it back to the actually active stage. I'm currently using version 8.1.0

Like 0

Like

1 comments
Best reply

Hello!



In order to cancel a DCM transition you will have to add a handler for the system request crt.SaveRecordRequest, which is executed when you click the Save button on the record editing page.



In this example, we also added crt.HandleViewModelAttributeChangeRequest, which is executed whenever the value of an attribute changes, and an "IsStageChanged" attribute to control the Stage state. This way we check if a Stage attribute (LookupAttribute_ioghn6a) has been changed and prevent it from being saved. You can adjust this code according to your business needs:

 

...
	viewModelConfigDiff: /**SCHEMA_VIEW_MODEL_CONFIG_DIFF*/[
			{
				"operation": "merge",
				"path": [
					"attributes"
				],
				"values": {
					...
					"IsStageChanged":{
						value: false
					}
				}
			},
 
		]/**SCHEMA_VIEW_MODEL_CONFIG_DIFF*/,
 
		handlers: /**SCHEMA_HANDLERS*/[
			{
				request: "crt.SaveRecordRequest",
				handler: async (request, next) =&gt; {
 
					if(await request.$context.LookupAttribute_ioghn6a &amp;&amp; await request.$context.IsStageChanged){
						request.$context._notifyService.show({message: 'Cannot set status'});
						return false;
					}
 
					const saveResult = await next.handle(request);
					if(saveResult){
						request.$context.IsStageChanged = false;
					}
 
					return saveResult;
				}
			}, 
			{
				request: "crt.HandleViewModelAttributeChangeRequest",
				handler: async (request, next) =&gt; {
 
					if (request.attributeName === 'LookupAttribute_ioghn6a' &amp;&amp; request.value != request.oldValue &amp;&amp; request.oldValue) {
						request.$context.IsStageChanged = true;
					}
					return next?.handle(request);
				},
			}
		]/**SCHEMA_HANDLERS*/,
...

 

Hello!



In order to cancel a DCM transition you will have to add a handler for the system request crt.SaveRecordRequest, which is executed when you click the Save button on the record editing page.



In this example, we also added crt.HandleViewModelAttributeChangeRequest, which is executed whenever the value of an attribute changes, and an "IsStageChanged" attribute to control the Stage state. This way we check if a Stage attribute (LookupAttribute_ioghn6a) has been changed and prevent it from being saved. You can adjust this code according to your business needs:

 

...
	viewModelConfigDiff: /**SCHEMA_VIEW_MODEL_CONFIG_DIFF*/[
			{
				"operation": "merge",
				"path": [
					"attributes"
				],
				"values": {
					...
					"IsStageChanged":{
						value: false
					}
				}
			},
 
		]/**SCHEMA_VIEW_MODEL_CONFIG_DIFF*/,
 
		handlers: /**SCHEMA_HANDLERS*/[
			{
				request: "crt.SaveRecordRequest",
				handler: async (request, next) =&gt; {
 
					if(await request.$context.LookupAttribute_ioghn6a &amp;&amp; await request.$context.IsStageChanged){
						request.$context._notifyService.show({message: 'Cannot set status'});
						return false;
					}
 
					const saveResult = await next.handle(request);
					if(saveResult){
						request.$context.IsStageChanged = false;
					}
 
					return saveResult;
				}
			}, 
			{
				request: "crt.HandleViewModelAttributeChangeRequest",
				handler: async (request, next) =&gt; {
 
					if (request.attributeName === 'LookupAttribute_ioghn6a' &amp;&amp; request.value != request.oldValue &amp;&amp; request.oldValue) {
						request.$context.IsStageChanged = true;
					}
					return next?.handle(request);
				},
			}
		]/**SCHEMA_HANDLERS*/,
...

 

Show all comments

Hi community,

 

I have this requirement where the client must be able to move one or more records from one detail to another through a business process. Following the steps shown in the image below:

 

1. The user must select one or more records from the "Product on Invoice" detail.

 

2. Next, the user executes the business process using the "Add" button. The process must receive the ids of the selected records.

 

3. Finally, all the selected records should then be added to the "Products in the Correction Invoice".

 

 

How can I achieve this requirement on the new Freedom UI?

 

If you need more information, feel free to ask.

 

Thanks in advance.

 

Best Regards,

Pedro Pinheiro

 

 

Like 2

Like

1 comments

Dear Pedro,

 

To execute this idea, you can do the following:

 

1) You can add the element that depends on user's choice in the "User's Action":

 

 

You can add an "Auto-generated/Pre-configured page" asking the user for an Id for example.

 

2) To achieve this, you can add the action on the button to start the business process in the page designer:

 

 

 

For the transfer, you can read the data from both objects, then use the modify data element.

 

You can read more about business process capabilities in the following article tree: https://academy.creatio.com/docs/8.x/no-code-customization/category/bus…

 

Have a great day!

Show all comments

We need to set the default Home Page for users in Creatio, ideally based on their functional role, but failing that a single default home page for all users would be acceptable. How can this be achieved? We're using Freedom UI and are on version 8.1.0 in our environments.

Like 0

Like

1 comments

Hello, 

 

Unfortunately, such functionality is not yet implemented. There is no oob tool to change the homepage for all the users or specific user roles. 



Such task can be implemented only with a help of SQL queries that will change the HomePageID value for the users in the SysAdminUnit system table. 

 

Best regards,

Anastasiia

Show all comments