Hi All,

I am facing some issues while configuring an edit page for a lookup. I've created a lookup edit page by using this reference: https://community.creatio.com/questions/new-lookup-item-edit-page and added only name field there with insert operation. My issues are listed below.

1. I am getting a Name field as an scripted field in all sections by default.

2. In a lookup by default the Name field is a required field. So this gives me validation error for filling and If I make it not required, this saves empty string as well.

3. If I change its operation with merge in place of insert in the newly created edit page then I'll be unable to add lookup value from the pop up modal box by using "New" button after clicking on magnifying glass icon.

4. If I remove Actions and New buttons from that page using lookupListConfig:{hideActions:true}, Again I'll be unable to save the value.

 

So my questions are:

1. How to add a heading or caption on the top of the lookup edit page (where the Name is currently being shown) ?

2. How to configure that Name field on the lookup edit page as a required field without having the same in all the section pages instead of removing them from every page manually?

Screenshot(ss) explanation : 

ss1: Partner no : Lookup for which I've created an edit page.

Name(Beside Partner no): scripted field being added by default when using "Operation" : "insert".

ss2: lookup edit page JS code.

ss3: script based name field.

ss4: lookup edit page preview where I want Heading/Caption and Name field as required.

ss5: Popup for that script based Name field which pops up continuously because of multiple records in multiple sections.

 

Like 0

Like

3 comments

Hello Rishabh,

 

I am afraid the used method presented in the referenced post will not work for your current need as you seem to have some replacements in the system. There are some alternatives, though.

 

First of all, it is recommended to create a section based on the object you need. This will give a lot of functions to work with the required entity.

 

If it is needed to work with lookups only - in your case, the easiest solution will be to populate it directly via the Lookup section (as it is done by default).

 

We are already working on the mentioned problem, and in future releases, there will be a specific tool to create advanced edit pages for lookup. (Planned for version 8.0.3)

 

I hope my answer was helpful to you.

 

Best Regards,

Dan

 

Denis Bidukha,

hey,

there is a tool now for create advanced edit pages for lookup?

thanks.

noyzada,

 

Hi! 

 

Yes, it is available if your version is 8.0.3 and higher.

The advanced lookup edit page may be created in Freedom UI designer and the required Object (lookup) should be chosen as a source.

 

Best Regards,

Dan

Show all comments

Hi Team,

 

I am trying to copy a business process but it's not working.

 

Attaching the screenshot of the business process properties with error message on console (which is not clear to me).

 

After this Issue I am not able to copy any other process in the system.

 

Like 0

Like

1 comments

Hello,

Try changing the name of the business process.

The problem may be that the name of this process is too long, and the system cannot save it.

I also recommend generating source code for all schemas and then recompiling the application.

Show all comments

Hi Community,

 

I have follwed the following article to add a validation on attachment object using Entity Events Layer:

Article: https://community.creatio.com/questions/how-restrict-attachment-upload-specific-conditions

 

The above logic is working as expected when I am uploading files of small size (< 500 KB). But the issue happens when I try to upload larger files, the following popup appears instead of the custom exception.

 

Any suggestion how to resolve the issue for larger files?

 

Thanks,

Sourav Kumar Samal

Like 0

Like

2 comments

Hello,

 

The logic provided in the previous post doesn't depend on the file size (that is specified in the system setting with "MaxFileSize" code). Additionally it doesn't use file locator in it, it only uses values from the account object column and compare it to the current date and time. There should be another custom logic that generates this exception, something that is triggered when adding the file to the system and if the upload is restricted another logic stops its execution with this exception.

 

Best regards,

Oscar

Oscar Dylan,

 

I have added the following code:

 

		#region Methods: Public
 
		public override void OnFileSaving()
		{
			var ClaimId = Entity.GetTypedColumnValue&lt;Guid&gt;("ClaimsId");
			var ResultESQ = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Claims");
			ResultESQ.UseAdminRights = true;
			ResultESQ.AddColumn("Id");
			ResultESQ.AddColumn("ClaimStatus");
			var Result = ResultESQ.GetEntity(UserConnection, ClaimId);
			var DCMStatus = Result.GetTypedColumnValue&lt;Guid&gt;("ClaimStatusId").ToString();
 
			if(DCMStatus == "ff78a06e-9d37-474a-841c-32a8faaa7776" || DCMStatus == "13c42d45-0fb9-4854-9a5d-5a5feb126db2" || DCMStatus == "19226327-e2ff-420c-937e-c36949be4425"
				|| DCMStatus == "3adf1d1d-bc90-475b-b24b-ca837e9ca9fc"|| DCMStatus == "942af147-3fc9-4a80-89aa-76f0412e0ade"){
			    base.OnFileSaving();
			}else{
			    throw new Exception("Attachments can not be added as Claim is already Submitted.");
			}
		}
 
		#endregion

When the file size is small, the following popup is coming:

 

 

When the file size is large, the following popup comes up:

 

 

The above popup comes only when the above condition is met. We have not implemented any other logic for this object. Could you help us here with what might be the cause of the issue, when it is working fine with smaller files but not with larger files.

 

Thanks,

Sourav Kumar Samal

Show all comments

Hi Community, 

 

How can I change the LinkedIn field into Hyper instead of plain text? The web link changed to hyperlink but not social media links as they remain plain text.

 

 

As admin I can see any Linkedin link as hyperlink but for others its plain text. I am hopping its a quick fix just adding All-Employee Role to specific object level permission or something similar.

 

Any help is appreciated!

Like 0

Like

1 comments

Hi Irfan,

 

Thank you for your question!

 

Here are the steps you have to perform to switch on clickability of the LinkedIn URL:



1. Go to Lookups

Image.png

2. Search for Communication option types

Image.png


3. Look here for the LinkedIn item and open it



Image.png

4. Click on + and chose Web type from the list.

Image.png



Also, we recommend you delete the type Social network from here because for now LinkedIn can only be recognized as a web link.

 

Best regards,

Anastasiia

Show all comments

Hi Community,

I am facing an issue which is related to SectionActions Button for sending multiple records. I need to send some records (out of all selected records) to a business process in an array after filtering with esq inside section edit page.

Issue: The filtered Id's are not being pushed into array correctly. Means when we explore the array, the values are there but when we try to print or send we get initial value of that array (i.e. empty string or null).

 

getSectionActions: function() {

                var actionMenuItems = this.callParent(arguments);

                actionMenuItems.addItem(this.getButtonMenuItem({

                    Type: "Terrasoft.MenuSeparator",

                    Caption: ""

                }));

                actionMenuItems.addItem(this.getButtonMenuItem({

                    "Caption": {bindTo: "Resources.Strings.AMDAssignMultipleRecords"},

                    "Click": {bindTo:"runCustomProcess"},

                    "IsEnabledForSelectedAll": true

                }));

                return actionMenuItems;

            },

            runCustomProcess: function(){

                if(this.get("SelectedRows") == "" || this.get("SelectedRows") == undefined){

                    this.showInformationDialog("Please select records for batch process!");

                }

                else{  

                    var selectedRows = this.get("SelectedRows");

                    console.log("Selected records : ", selectedRows);

                    var recordsnumber = selectedRows.length;

                    var resIdRows=[];

                    var resIdForArray="";

                    selectedRows.forEach(fnProgramABCArray);

                    console.log("Selected ABC records : ", resIdRows);

                    var selectedOrder = resIdRows.toString();

                    console.log("selectedOrder: ", selectedOrder);

                    var args = {

                        sysProcessName: "AMDProcess_BatchAssignments",

                        parameters: {

                            SelectedRowsCol: selectedOrder,

                            NoOfRes: recordsnumber

                        },

                    };

                    ProcessModuleUtilities.executeProcess(args);

                }



                function fnProgramABCArray(item){

                    var esq = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "AMDTestPlans" });

                    esq.addColumn("AMDStatus");

                    esq.addColumn("AMDProgram");

                    esq.filters.addItem(esq.createColumnFilterWithParameter(

                        Terrasoft.ComparisonType.EQUAL, "Id", item));

                    esq.getEntityCollection(function (result) {

                        let status = result.collection.getByIndex(0).get("AMDStatus").displayValue;

                        let program = result.collection.getByIndex(0).get("AMDProgram").displayValue;

                        if(status === "In Progress" && program === "ABC"){

                            resIdRows.push(item);

                        }

                    });

                }

            }

 

Please find attached screenshot below with an array of selected records vs another array of selected ABC records and string output as Selected order (empty string).

 

Like 0

Like

1 comments

Hi,

 

The issue here is that ESQ is asynchronous and as a result once the:

 

selectedRows.forEach(fnProgramABCArray);

 

is called, the browser continues executing the main runCustomProcess, but in addition executes the fnProgramABCArray in the background and when the

 

console.log("Selected ABC records : ", resIdRows);

 

and 

 

console.log("selectedOrder: ", selectedOrder);

 

are executed they won't show anything, these will be an empty array and an empty string.

 

You need to modify this logic and perform the filtration of records in the business process directly where you can check all the records passed using either the read data element and the conditional flow or a script task that uses the SelectQuery class to check data consistency.

 

Best regards,

Oscar

Show all comments

How to bind dashboards from an environment to another as a portal user and as a full user?

Like 1

Like

1 comments

Hello!

 

The dashboard's data is stored in the SysDashboards for dashboards on analytics, 

and SysWidgetDashboard for dashboards in the section pages.

    You can transfer this data using data bindings or on the DB level (merge for existing on the target instance and insert for non-existing).

  Data for folders, filters, and column setup is stored in the SysProfileData. You can transfer it similarly to the dashboard's data. 

    In case if you need more information on adding data bindings for the package, please see the article below: 

https://academy.creatio.com/docs/developer/development_tools/packages

 

Best regards,

Anastasiia

Show all comments

Hello everybody,

we created some import templates in our Dev Instance. Is there a way to transfer these templates from the DEV to the Productive Instance? So we can use the ready-made Excel templates there as well and would not have to rebuild the mapping.

Stefan

Like 0

Like

1 comments
Best reply

Hello.

You can use the functionality "Binding data to the package".

To do this, you need to create a "Data" element in the "Configuration" section and bind the necessary data to the "FileImportTemplate" object.

Please find more information on your request in these Creatio articles:

https://academy.creatio.com/docs/developer/development_tools/packages/packages_basics/overview#title-2105-9

https://academy.creatio.com/docs/developer/development_tools/packages/bind_data

Hello.

You can use the functionality "Binding data to the package".

To do this, you need to create a "Data" element in the "Configuration" section and bind the necessary data to the "FileImportTemplate" object.

Please find more information on your request in these Creatio articles:

https://academy.creatio.com/docs/developer/development_tools/packages/packages_basics/overview#title-2105-9

https://academy.creatio.com/docs/developer/development_tools/packages/bind_data

Show all comments

Hi Community!

 

I have a requirement to add fields for multiple records from the connected detail along with fields from the macro object (1:M Relation). Can anyone suggest how to achieve this task?

 

Thanks & Regards,

Kritika Vari

Like 0

Like

1 comments

Dear Kritika,

 

Thank you for your question.

 

Unfortunately, your business task can be achieved neither with basic nor with advanced tools. 

We have already registered the idea for our R&D team to implement this functionality in further releases. 

 

Best regards,

Anastasiia

Show all comments

Hi community,

Consider this scenario.

An Excel file with account name and account type columns.

I have to import this data into account table.

If the account type column contains  a value missing in the related table, creatio creates for me this value.

Is it possible to disable with an operation permission?

Like 0

Like

3 comments

Hello!

 

Unfortunately, there is no way to prevent new records creation in objects during data import and we have a problem registered to our R&D team so to implement such a functionality.

This is due to the logic implemented in the import process.

The system adds missing values to its lookups in order to prevent data loss during the import process.

 

As an alternative solution I can recommend the following:

1. Remove the unwanted column from the file before the import, and add it after the process.

2. Match the naming of the file columns with Creatio's system naming.

3. If the problem is tied to creating a lot of duplicates in the system after imports, you can turn on Creatio's deduplication feature and merge the duplicates together.

I will let our R&D team know about your request so to raise the priority of the problem. Thank you for reporting this issue to us and helping us to make our application better!

 

Best regards,

Kate

Kate Karpik,

Thank you Kate

 

Is removing the add permission for a specific lookup a viable work-around?

Stefano,

 

Unfortunately, the offered solution will not solve this issue.

During the import process, the system checks for the correct access rights for the modification of the object (lookup in this case) of the user that initiated the process.

Hence why the users that lack needed rights will not be able to import the data.

 

If you were to restrict the access to the lookup, the data will not be added during the import, regardless if needed columns exist in the lookup or not.

 

Thank you.

 

Best regards,

Kate

Show all comments

Hi Creatio Community,

I have a portal user connected with an account for eg, Tesla.

Now on customer portal, I have an account lookup but it is only showing the account with which the Portal User is connected to (As shown in the screenshot below).

I want to know is there any way to show every Account names in the lookup?

 

Similarly, there is a contact lookup on portal which is only showing the current portal user name (As shown in the screenshot below).

Is there any way to show every Contact names in the lookup?

Thank you.

Like 0

Like

4 comments
Best reply

Nisarg Soni,

Hi!

The problem is that the record permissions are turned on and portal users don't have any permissions there. Therefore portal users don't get access to any records. 

Please add permissions of kind (All employees -> All portal users), clear the cache, re-login under a portal user and you should see the records in the list!

 

Best regards,

Max.

Hello,

Please check the object permission for the Contact and Account for "All portal users" in the “Object permissions” section?

alonadolya,

Hi

For Contact and Account, the permission is set for "All portal users". Images attached for reference.

Nisarg Soni,

Hi!

The problem is that the record permissions are turned on and portal users don't have any permissions there. Therefore portal users don't get access to any records. 

Please add permissions of kind (All employees -> All portal users), clear the cache, re-login under a portal user and you should see the records in the list!

 

Best regards,

Max.

Max,

Hi

Thanks for the solution. It works!

Show all comments