Hi,

 

I need to know if we can increase the size of a mini page in Freedom UI?

Like 1

Like

2 comments

Not yet without coding, it is in the pipes for S1 2024 according to the roadmap.

Hello!

 

Unfortunately, there is no such option at the moment. We have created a corresponding request for the development team to reconsider this logic.

 

As for now, 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

Hello,



I'm currently working on a case study that involves storing data for an event planner. There's a lookup table called "event types" which has options like birthday, wedding, and engagement.

The "event" entity stores information such as the event ID, manager, event type, and whether the event is active or not.

Additionally, there's a system setting variable that specifies the maximum number of active wedding events allowed (which is set to 5).

 

I need help setting up the following business logic:

1. Whenever a user adds or modifies an event type, a verification process needs to be performed. If the total number of active wedding events exceeds the system setting value, then the record should not be saved and an error message should be displayed. 2. The implementation method involves using handlers in the JavaScript code of the edit page, along with applying the client ESQ and validation mechanism.C

Like 1

Like

1 comments
Question

Hi, 

 

How to hide the 'All apps' workplace or at least hide some sections from this workplace (users should have access to records via lookups but should not see the section)?

Like 5

Like

6 comments

+1 for this functionality, to be able to set it up for all or some groupe of users

Definitely agree this needs to be possible if it isn't already!

Hello,

 

Unfortunately, there is no possibility to disable the "All Apps" workplace at the moment. However, we have already registered a problem regarding this and forwarded it to our R&D team for review so it could be fixed in one of the future versions of the application.

Mira Dmitruk,



This is also a potential security issue. Users are able to see sections that are not supposed to be visible to them. This means that with every section we need to ensure that record permissions are available and implemented. Also, I notice the lack of AuthGuard. If a user appends a section page name to the URL, they are redirected to that section as well.



Can we have a workaround (even custom code) to remove/ hide All Apps and other irrelevant workplaces based on user role?

Mira Dmitruk,

 

Any news on this?

 

It is very important and 

 

Like Shivani was asking, is it possible to limit acces to users, even if it is via custom code?

 

This is really important

Rgds,

Luis

Luis Tinoco Azevedo,

For version 8.1.2 there is operation permission to hide All apps workplace

Show all comments

I'm overriding the HandleViewModelAttributeChangeRequest request handler in client code, and want to set a hidden parameter used for showing/hiding fields and making them required/not required in this code when the page first loads, but I don't want this change to be detected by Creatio as a save-able change so that it thinks there is a change to be saved when closing the page. Is it possible to do this? I've tried setting the "silent" property of the request to true in the HandleViewModelAttributeChangeRequest handler and also tried setting the "IsChanged" property of the request.$context to false after changing the attribute value, but neither of these seems to prevent the "You have unsaved changes that will be lost. Continue?" dialog from showing when closing the page.

 

I'm currently using Creatio 8.1.0

Like 1

Like

5 comments

Can you please provide some direct example of what you are trying to achieve since unfortunately it's not obvious to us what is performed on the page at the moment, what is the expected result and what is the actual result? Maybe some steps to reproduce it in the local application (like the following:

 

1) Add column A

2) Add attribute B

3) Connect B to A in the following manner

4) Go to the page where the column and the attribute were added

5) Do "this"

6) Expected result is C

7) Actual result is D

 

) .

 

Thank you!

Oleg Drobina,

Basically all I want is to be able to set the value of an attribute in code without triggering the "You have unsaved changes that will be lost. Continue?" message when you leave the page. Is this possible?

Harvey Adcock,

 

I tried to reproduce the issue, but changing the value of the virtual attributes (like attributes created to control the visibility of the field) by itself does not cause this dialog to appear. 

Please ensure that no other changes need to be saved on the page. Or provide us with additional information describing the exact steps to reproduce the issue.

 

Best regards,

Natalia

Natalia Kalynovska,

 

Sorry, I was probably not detailed enough in my abbreviated version - the changes are actually to an attribute that is based over a real column on the entity, so not a virtual attribute. Is there any way to modify such a field in code without triggering the dialog?

Hello Harvey,

To change the field without triggering the dialog, you should save it at once.

It could be implemented by adding the following code to the HandleViewModelAttributeChangeRequest:

if (request.attributeName === “[Name of the attribute]”) {

const saveResult = await this.handlerChain.handlerChain$.process({

           type: "crt.SaveRecordRequest",

           preventCardClose: true,

           $context: request.$context

    });

}

Please pay attention that too many saving requests may decrease performance.

 

Another way is to save the necessary changed values to a virtual attribute first, and then extract all of them (set attributes values) and initiate SaveRecordRequest while closing the page (in crt. ClosePageRequest). This approach has some disadvantages:

  1. you need to manually adjust the visibility  of “SaveButton” and “CloseButton“ by adding the corresponding merge operations to “viewConfigDiff” of ListPage and FormPage modules (see example - https://community.creatio.com/questions/how-remove-closesave-button-custom-section);
  2. data would be saved only on a close/back button click.

And again – you should provide some conditions in order not to store too many changes.

 

Additionally, starting from the 8.1.1 Creatio version, the dialog may be prevented by adding to handlers the overridden “crt.CanDiscardUnsavedDataRequest” handler:

{request: "crt.CanDiscardUnsavedDataRequest", handler: async (request, next) => {return true;}},

(see https://community.creatio.com/questions/possible-suppress-message-upon-canceling-freedom-ui-mini-page).

However, it still requires manually adjusting the button's visibility and providing proper data saving.

 

Best regards, 

Natalia

Show all comments

Hello,

 

Is it possible to create mini page for 'view record' in Freedom UI?



We also have mix of Freedom-Classic now, but even if 'view record' mini-page is created for Classic page, it is not displayed in other places (probably because of Freedom page exists for that section already). Maybe it is possible to use Classic mini pages of Account/Contact even if Freedom page is created?

 

Kind regards,

Vladimir

Like 4

Like

1 comments

Hello,

 

At the moment, there is no possibiliy to set up a mini-page just for viewing records in the system. Currently you can create a mini-page for creating a new record and set up a mini-page for editing an exisiting record with the help of a business process.

 

We also do not plan to support mini pages for 7x (Classic UI) with the Shell enabled, as this functionality is already implemented and is available in Freedom UI (starting from version 8.0.8).

We recommend you to configure the needed section in Freedom UI and to set up the required mini page for creating a record there.

You can learn more about it in this Academy article.

Show all comments

I have locally installed the creatio environment + downloaded the zip archive and setup the email service

 

Install and run Email Listener:

  1. Open the directory to deploy Email Listener on the server dedicated for the service.
  2. Download and unpack the archive that contains the setup files to the directory. Download the archive.
  3. Open the / Creatio Email Listener component directory and run the following command:

docker-compose up -d

 

Executed the above command. I was able to add the email account + other configuration but when I run the diagnostics,  I do face the error as attached, how to resolve it?

 

I tried checking the Email Listener log 

 

2023-12-14 19:18:46,098 [105] WARN NT AUTHORITY\SYSTEM Warn - mailbox account@gmail.com synchronization settings not valid

 

I also do not see any email listed in the notification icon -> Mail.

 

Creatio is able to successfully send Creatio test message email from the diagnostic page.

 

 

2023-12-14 19:13:46,080 [106] DEBUG NT AUTHORITY\SYSTEM DebugFormat - ListenerServiceFailHandler started

2023-12-14 19:13:46,080 [106] DEBUG NT AUTHORITY\SYSTEM DebugFormat - ExchangeListenerManager created

2023-12-14 19:13:46,097 [106] WARN NT AUTHORITY\SYSTEM Warn - mailbox account@gmail.com synchronization settings not valid

2023-12-14 19:13:46,097 [106] DEBUG NT AUTHORITY\SYSTEM DebugFormat - Events subscription for 882c1561-***-****-****-******** mailbox created

2023-12-14 19:13:46,097 [106] DEBUG NT AUTHORITY\SYSTEM DebugFormat - Failover synchronization of account@gmail.com started

2023-12-14 19:13:46,097 [106] WARN NT AUTHORITY\SYSTEM Warn - mailbox account@gmail.com synchronization settings not valid

2023-12-14 19:13:46,097 [106] DEBUG NT AUTHORITY\SYSTEM DebugFormat - Failover synchronization of account@gmail.com initialization ended

2023-12-14 19:13:46,097 [106] DEBUG NT AUTHORITY\SYSTEM DebugFormat - Email synchronization process for 882c1561-***-****-****-******** mailbox created

2023-12-14 19:13:46,097 [106] DEBUG NT AUTHORITY\SYSTEM DebugFormat - ListenerServiceFailHandler ended

File attachments
Like 0

Like

1 comments

Hello,

 

I kindly request your attention to a post where a similar issue was discussed.



https://community.creatio.com/questions/exchange-listeners-806



 It is also crucial to ensure that the release version of the microservice is being used (Please note that to deploy a new version of the microservice, you need to contact Creatio technical support to grant you access to the repository).

 

Regarding the warning "mailbox account@gmail.com synchronization settings not valid," please check that the needed folders are chosen during folder synchronization. (in case you are syncing mails from the folders)



Try stopping the mailbox synchronization in the mailbox settings and restart it by reconfiguring the synchronization parameters.

 

Such issues may arise due to the specifics of deploying the local environment and may depend on other factors.

 

The best way to ensure that everything is configured correctly is to send an email from the system.

If emails are sent and synchronized successfully, you can ignore the error as it is not related to the email sending functionality.

 

Best regards,

Pavlo!

Show all comments

Hi Community!

 

I need to display existing documents from other sections together with the directly attached documents in FreedomUI 8.1.

 

The attachments are stored in the table "SysFile", which has a column called "TypeId". That lookup has the values "File" (default), "Link" and "Link to object".

 

I have tried to tinker around with the database of my on-premise dev environment. While I could manage to display inserted documents of type "Link", they won't open because the SysFile-table has no columns for referencing other documents.

 

There is also a table called "FileLink", which looks promising because it has the columns "FileSchemaName", "FileRecordId", "RecordSchemaName", "RecordId". That would be enough to link existing documents to various records, but the don't show up in the FreedomUi AttachmentList component.

 

Did anyone already manage to do this without duplicating documents?

 

Any help is much appreciated, thanks!

Robert

Like 2

Like

1 comments

Hi Robert!

 

Unfortunately, displaying the various sections' attachments together in one attachment component is impossible. However, you can use a separate attachment component for each section.

 

To implement this, we recommend the following steps:

1.  Open the Page Designer.

2.  For each section that you would like to display the attachments from:

- add the dropdown field, specifying this section as “Lookup” in the field’s general settings (or make sure that such a dropdown field already exists);

- add the attachment component.

3. In each added attachment component, set “Record to attach files” (general settings) to a value from the previously added dropdown field and “File storage location” (advanced settings) to the corresponding table.

 

After you choose the exact records in the dropdown fields, they will be linked to the current record, and you will see their attachments in the corresponding components. It will help you to avoid duplicating documents.

 

Best regards,

Natalia

Show all comments

Please help.

I created an object called UsrAppMobNotifications, which includes a Boolean variable UsrBoolRead. In the mobile application version 8.1, I need to set up a business rule so that when a user opens a record of this object, the UsrBoolRead variable becomes true.

 

The code of the mobile app's record page (UsrMobileUsrAppMobNotificationsRecordPageSettingsPortal) doesn't contain any blocks (like handlers).

Question 1: How can I add my own business rule?

Question 2: I tried to create a rule based on examples, but it doesn't work.



My rule^

Terrasoft.sdk.Model.addBusinessRule("UsrAppMobNotifications", {

name: "SetUsrBoolReadTrueRule",

ruleType: Terrasoft.RuleTypes.Custom,

events: [Terrasoft.BusinessRuleEvents.Load],

executeFn: function(model, rule, column, customData, callbackConfig) {

model.set("UsrBoolRead", true);

Ext.callback(callbackConfig.success, callbackConfig.scope);

}

});

Like 0

Like

1 comments

Hello.

Please be advised that adding business rules to a page using the Terrasoft.sdk.Model.addBusinessRule(name, config) method is only supported on the old user interface. Unfortunately, the feature to create business rules on the mobile application is not yet available, as it is currently under development. However, I can assist you in setting up card-level business rules, that might be helpful for you.

At the moment, the difference between the rules on the card and the model is insignificant. Namely, the difference is that the card has Visibility rules that can show or hide card elements. Therefore, let's consider this particular example, and try to hide a column under a condition.

1. Set up the rules in the web.

2. The names of the controls ("Code" and "Element code") must be given according to the names of the columns. That is, if the column is called UsrText, then the control should be called that way (because the names are generated by the web by default):

3. The rule that hides the UsrText field can be configured as follows:

When saving, do not forget to click Save in the card itself.

4. Add a new (or existing) section in the mobile application wizard and configure the card properly.

5. Go to the Configuration (WorkspaceExplorer) and look for the card setup scheme (scheme name format: Mobile[Object name]RecordPageSettings[Workspace name]):

In this case, the object name is Rules.

6. Open this schema. Open its metadata (Actions → Open metadata) and look at its metadata (Metadata (Read-Only) section) and copy its Uid, PackageUid and CreatedInPackageUId.



7. Export the rules configured in step 3.

8. This metadata needs to be slightly adapted to the mobile platform. Open the downloaded metadata file and make the following changes:

а) Change the Uid. You can either generate it or simply change a few digits/characters in the current value. The old UId must be changed throughout the scheme (at least 2).

b) Give a new name to the Addon in Name and A2. The format will be as follows: [Object name]RecordPageSettingsBusinessRule (for example, RulesRecordPageSettingsBusinessRule).

c) Replace all "EntitySchemaManager" with "ClientUnitSchemaManager", if any.

d) In B6, write the PackageUId from step 6.

e) In AD1 and TargetSchemaUId, write the UId from step 6.

f) In A5 we write the CreatedInPackageUId from step 6.

g) Replace all the names of the controls generated on the web with the corresponding column names. You can search for them using the following masks: LookupAttribute_, Input_, ComboBox_.

For example, instead of LookupAttribute_6wy705z, you should use UsrContactType.

h) Save the changes.

9. Import this modified schema. Select the desired package in the Configuration, click "Add" and select the "Import" item in the list (at the moment it is the last in the list).

As a result, in the package in which this section was added in the mobile application wizard, an Addon scheme with rules that are linked to the card configuration scheme in the mobile application should appear.

10. After that, synchronize the mobile app with Creatio and check the rule's operation.

Show all comments

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

Hello, 

we have Next steps elements in Freedom UI. But "+" creates Task by default. How can we add Email, Call, Message there?

 

 

Thank you!

Vladimir

Like 3

Like

1 comments

Hello,



Unfortunately, it is not yet possible to add the option of adding Emails, Calls, and Messages records via clicking on Next Step. Alternatively, you can try to perform such an action through customization in the Freedom UI designer. Add menu items to the + Next Step button and customize the opening of pages for different types of activities.



However, we have forwarded your idea to the responsible R&D team to add this functionality in future releases. Thank you for helping us to improve our product.

 

Show all comments