I need to add a PushButton for all records, but I didnt find solution only in Classic UI

Like 0

Like

0 comments
Show all comments

Hello.

 

I'm trying to save a pdf file that i get from a service web, the file comes in a base64 string so i use a script to convert it to a pdf and save it in Creatio, I have this code that works fine for the Accounts section but when i want to save the file in  a Custom section, the process send me an error sometimes because it doesnt find the Id other because it says that the duplicate key value violates unique constraint.

 

This is the code that works in the Accounts Section.

 

var base64FileString = Get<string>("Base64File");
var accountId = Get<Guid>("AccountId");
 
var attachFileType = new Guid("529bc2f8-0ee0-df11-971b-001d60e938c6");
var fileName = Get<string>("NameFile"); // set proper file type
 
var entity = UserConnection.EntitySchemaManager.GetInstanceByName("AccountFile");
var fileEntity = entity.CreateEntity(UserConnection);
fileEntity.SetDefColumnValues();
fileEntity.SetColumnValue("AccountId", accountId);
fileEntity.SetColumnValue("TypeId", attachFileType);
fileEntity.SetColumnValue("Name",fileName);
fileEntity.SetBytesValue("Data", Convert.FromBase64String(base64FileString));
fileEntity.Save();
return true; 

 

And this is the code that I want to use in the custom section

 

var base64FileString = Get<string>("Base64File");
var resguardoId = Get<Guid>("ResguardoId");
 
var attachFileType = new Guid("529bc2f8-0ee0-df11-971b-001d60e938c6");
var fileName = Get<string>("NameFile"); // set proper file type
 
var entity = UserConnection.EntitySchemaManager.GetInstanceByName("SysFile");
var fileEntity = entity.CreateEntity(UserConnection);
fileEntity.SetDefColumnValues();
fileEntity.SetColumnValue("ResguardoId", resguardoId);
fileEntity.SetColumnValue("TypeId", attachFileType);
fileEntity.SetColumnValue("Name",fileName);
fileEntity.SetBytesValue("Data", Convert.FromBase64String(base64FileString));
fileEntity.Save();
return true; 

 

 

Like 0

Like

2 comments

The SysFile entity doesn't, and won't, have a "ResguardoId" column. It has generic columns so it can work with any entity. Instead of setting ResguardoId, set the following: 

  • RecordId - the Id of the record (the value for ResguardoId)
  • RecordSchemaName - the name of the entity for the RecordId (whatever the entity name is for ResguardoId)

Ryan

Ryan Farley,

 

Thank you 

 

I'm made the change, the process starts without any error but the file is not save it in the record.

 

var base64FileString = Get&lt;string&gt;("Base64File");
var recordId = Get&lt;Guid&gt;("RecordId");
 
var attachFileType = new Guid("529bc2f8-0ee0-df11-971b-001d60e938c6");
var fileName ="New.pdf"; // set proper file type
 
var entity = UserConnection.EntitySchemaManager.GetInstanceByName("SysFile");
var fileEntity =  entity.CreateEntity(UserConnection);
fileEntity.SetDefColumnValues();
fileEntity.SetColumnValue("RecordId", recordId);
fileEntity.SetColumnValue("TypeId", attachFileType);
fileEntity.SetColumnValue("Name",fileName);
fileEntity.SetBytesValue("Data", Convert.FromBase64String(base64FileString));
fileEntity.Save();
return true; 
Show all comments

Hi. Is it possible to make the lookup fields of a record clickable in an editable detail?

Like 0

Like

0 comments
Show all comments

Hello Community,

I am currently facing an issue with a model page that contains two lookup fields: one for contact and the other for email. My goal is to allow the user to select an email address associated with the selected contact, not just the primary email, but any email linked to that contact. To achieve this, I am using dynamic filtering for ContactCommunication to filter by the current contact and email communication type.

I’ve implemented this logic within the crt.LoadDataRequest handler because the email field is a simple dropdown and does not open a separate selection page.

The problem: 
When a contact is selected, I refresh the email list data source as expected. However, the email list is not properly reloading after a contact is deselected and reselected. In this case, the email filters do not update correctly. The issue is that the email list only reloads and applies the correct filters when I manually reselect the email field.

This behavior is causing a problem where the email dropdown is not correctly filtered based on the newly selected contact. Below is the code I am using for the handler:
 

handlers: /**SCHEMA_HANDLERS*/[
 {
   request: "crt.LoadDataRequest",
   handler: async (request, next) => {
     const emailDataSource = "UsrEntity_004572bDS_UsrEmailAddre_gzbqqxc_List_DS";
     const contactDataSource = "UsrEntity_004572bDS_UsrContact_7esmp6a_List_DS";

     if (request.dataSourceName === emailDataSource) {
       const lookupValue = await request.$context.UsrEntity_004572bDS_UsrContact_7esmp6a;
       console.log("Lookup Value:", lookupValue);

       if (lookupValue) {
         console.log("Filter Hit");
         const filter = new sdk.FilterGroup();
         filter.addSchemaColumnFilterWithParameter(sdk.ComparisonType.Equal, "Contact", lookupValue.value);
         filter.addSchemaColumnFilterWithParameter(sdk.ComparisonType.Equal, "CommunicationType", "EE1C85C3-CFCB-DF11-9B2A-001D60E938C6");

         const newFilter = Object.assign({}, filter);
         newFilter.items = filter.items;
         console.log("Filter created");
         request.parameters.push({
           type: "filter",
           value: newFilter
         });
         console.log("Filter added to request");
       } else {
         console.log("Empty Lookup");
         // request.$context.UsrEntity_004572bDS_UsrEmailAddre_gzbqqxc = null;
         // request.$context.UsrEntity_004572bDS_UsrEmailAddre_gzbqqxc_List_DS = null;
       }
     }

     if (request.dataSourceName === contactDataSource) {
       console.log("Contact Selected, reloading email address list");
       // request.$context.UsrEntity_004572bDS_UsrEmailAddre_gzbqqxc = null;

       await request.$context.executeRequest({
         type: "crt.LoadDataRequest",
         $context: request.$context,
         config: { loadType: "reload", useLastLoadParameters: true },
         dataSourceName: emailDataSource
       });

       console.log("Email list reloaded successfully!");
     }

     return await next?.handle(request);
   }
 }
]/**SCHEMA_HANDLERS*/;
 

I would greatly appreciate it if you could look into this issue and suggest a solution.

Thank you!

Like 0

Like

0 comments
Show all comments

Hi team,

We want to add a button in communication panel through which cases section should open in the side pane ( opens on clicking of buttons in communication panel) through with cases can be created quickly without closing the current section page opened in the tab.

 

We have created button in communication panel but we are finding references to open the page in side pane.

if anyone of you can help on this ,I will really appreciate it.

 

Thanks in Advance

Like 0

Like

4 comments

Hello Kashish,

Thank you for your question. First of all, are you using the Shell of Freedom UI in the section from which you are opening the side panel? Secondly, while I believe that creating a case from the side panel is possible, I'm not sure if your logic can be fully implemented. Also, would it be easier to create the case using a modal page in your section?

I'll be happy to assist you and will be waiting for your response.

The Academy refers to those as sidebars and they can be created with no code (more or less) in Creatio 8.1.3 and higher. See https://academy.creatio.com/docs/8.x/no-code-customization/customization-tools/ui-and-business-logic-customization/set-up-a-sidebar

Ryan

Yevhenii Grytsiuk,

 

Thankyou you your reply currently we are using the classic UI,we are not using Shell of Freedom UI in the section.

 

The requirement is to create  a quick access option for creating cases without needing to jump on another page and also in a way that  the information from the current open page can be visible properly as it is going to help in case creation.
 

The best that we thought of was using side panel for case creation while the user can see all information in the current open page.Is there any way you can help me achieve that?

 

 

Yevhenii Grytsiuk,

 

Ryan Farley,

 

Thank you for your reply, we are looking for some information on the same topic in the classic UI.

 

Is there any reference for classic UI? f yes can you please share that information with me?

Show all comments

Hello,

 

I would like to know how to approach the task of extracting the model of field entities to a CSV  or Excel file.

The idea is to provide project managers with a simplified view of the fields available in my Creatio instance. I'm not looking for details, just the field name, code, label (translation?), data type.

 

Any sugestions on how to approach this task?

 

Thanks,

Vlad 

Like 0

Like

4 comments
Best reply

This marketplace addon will provide you with an Excel export of all obejcts in the system, along with columns, data types, display titles of objects and columns, etc. 

https://marketplace.creatio.com/app/object-structure-export-creatio

Once installed, there will be a process you can run that gives you the Excel file. 

Ryan

Hello!

 

You can check all the information about data export on Creatio Academy:
https://academy.creatio.com/docs/8.x/creatio-apps/creatio-basics/business-data/exporting-list-data-to-excel

Thank you for your reply Arsenii, but it is not the data that I am trying to export, but the model.

 

Exemple for Accounts entity:

 

field name; field code; field label; data type; default value

Name; Name; The company name; Text - 250 caracters; <empty>

Phone; Phone; Main phone number; Text - Phone number; <empty>

Web; Web; Compny Website; Text - Web link; <empty>

(...)

 

Kind regards,

Vlad

 

This marketplace addon will provide you with an Excel export of all obejcts in the system, along with columns, data types, display titles of objects and columns, etc. 

https://marketplace.creatio.com/app/object-structure-export-creatio

Once installed, there will be a process you can run that gives you the Excel file. 

Ryan

Ryan Farley,

Perfect, I'll give it a try. 

 

Thank you,

Vlad

Show all comments

Hi Creatio Community,

I'm currently working on a customization for the Activity page, and I need some help with dynamically showing/hiding tabs based on the activity type. Here’s what I need to achieve:

  1. Hide the "Attachment" tab when the activity type is "Task."
  2. Show the "Case Attachment" tab for tasks related to a specific case only (it should display attachments only for the selected case).
  3. For all other activity types, the "Case Attachment" tab should be hidden, and the regular "Attachment" tab should be visible.

Essentially, I want the tab visibility to switch dynamically based on the activity type and the case involved. I’d appreciate any suggestions on how to implement this, whether through JavaScript handlers, custom logic, or any other method that can meet this requirement.

Thanks in advance

Like 0

Like

0 comments
Show all comments

Hello

 

Does anybody know how to share records in Freedom UI? In classic UI we have "Action" button with "Set up access right" menu item. But I can't see the similar button in Freedom UI, for example, on Contact form page. Shoud I customize the form and add it?

Like 0

Like

1 comments

I found: lock sign at the right top corner.  

Show all comments

How to hide Attachment tab in task type activity while showing my own case attachment tab or in general how can i programmatically hide a toggle tab in freedom ui .

I want to hide the attachment toggle tab and show case attachment which is created by be , also want to programmatically trigger their visibility , please refer below image for reference 

 

Like 0

Like

0 comments
Show all comments

Good day, I have a question regarding the tabs in Classic UI. I want to make them disabled, or locked or unclickable in my edit page. If you know how to implement it please could you show it in the following code snippet:

                "operation": "insert",
                "name": "AgbPrimaryDataTab",
                "values": {
                    "caption": {
                        "bindTo": "Resources.Strings.AgbPrimaryDataTabCaption"
                    },
                    "items": [],
                    "order": 0
                },
                "parentName": "Tabs",
                "propertyName": "tabs",
                "index": 2
 
Like 0

Like

1 comments

Hello Behruzbek, 

If you don't want some users to see the existing tabs, use the following article to hide tabs by code based on different conditions.

Also, it's possible to add business rules for some users. Please note that adding the role to the business rule is impossible for now.

Best regards, 

Anhelina!

Show all comments