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

I can not access users from portal in feed. In the screenshot below i am logged in as a portal user.

I can only access one user, the one that i am logged in

Like 0

Like

2 comments
Best reply

Hello Petrika, 

 

Please check whether you portal user has the needed access rights and can access other Contacts records, the issue may occur if the user doesn't have access to the Contacts records.

 

Best regards,

Anastasiia

Hello Petrika, 

 

Please check whether you portal user has the needed access rights and can access other Contacts records, the issue may occur if the user doesn't have access to the Contacts records.

 

Best regards,

Anastasiia

That was the issue. Thank you Anastasiia

Show all comments

Hello Creatio Community !

Which type of contacts can i access in feed ?

I can see only contacts which are users of the system . Is this the only type of contacts that we can see from Feed ?

Like 0

Like

1 comments
Best reply

Hello Petrika, 

 

Yes, you can access here only Contacts that have existing system users. 

 

Best regards,

Anastasiia

Hello Petrika, 

 

Yes, you can access here only Contacts that have existing system users. 

 

Best regards,

Anastasiia

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

Hello Community!

 

Is there a way in business processes to read the values of a record before the update actually happened?

I know that I could use EventListener, but I'm trying to solve this with a No-/LowCode approach, if possible.

 

Thanks for any hints and best regards,

Robert

Like 0

Like

8 comments

Hello Robert,

 

Could you please elaborate on your business task?



Who do you need to reed the values of a record before the update?



Best regards,

Bogdan

Hi Bogdan,

 

I have a business process, which grants access permissions based on a linked contact in an activity (not the owner field).

When this contact changes, I need to read the value of this contact field that was stored before the update, so that I can remove the access permissions for that contact.

 

BR,

Robert

Robert Pordes,

There is no basic logic for your needs.

But, as a workaround, you can create a new column contactBackup in the activity object and store old contact there.

You can use Modify Data business process element to set the value for the contactBackup column.

Also, it is not necessary to add this column to the section page. It can be just a "system" column.

Best regards, Alex.

Robert Pordes writes:

When this contact changes, I need to read the value of this contact field that was stored before the update, so that I can remove the access permissions for that contact.

We do it in another way - remove all rights and set new ones. 

Vladimir Sokolov,

Thanks for the reply, but that doesn't work in our case, because the initial permissions can be quite complex, and also due to delegation we do not know the exact current permissions of the records.

I will post an idea for Creatio to implement this feature in the business processes, as it would be handy for several business tasks.

 

BR,

Robert

 

Aleksei Efimenko,

I have thought about this, too, but it is not very elegant and I don't want to create fields for every requirement and also don't want to have the fields visible in the filters for the users.

I will try activating and reading the change log in the business process...

 

BR,

Robert

 

Robert Pordes,

 

In case you dont want to show the fileld in any dropdown on the UI, then you can set the Usage Mode for that field to None.

 

Regards,

Sourav Kumar Samal

Sourav Kumar Samal,

That's a good point and I might consider this, thanks!

Show all comments

Hello,

 

I was wondering if it is possible to run a process that creates a case for each contact we have in contacts section based on start time signal

 

Thank you,

Mariam M.

Like 0

Like

1 comments

Hello Mariam,



I like the following way (you can make your own filtering condition to mark that Contact doesn't have such Case yet)



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

Hi all,

I tried to restrict attachment access for the contacts via a process in certain conditions or via object permissions when a document is created from a specific role. I am not successful, should this work ?

 

Thanks in advance

Like 0

Like

1 comments

Hi Franck,

 

As for the "Attachments and notes", in case you need to set the restrictions only for one specific section such as Cases, then you need to set up the object permissions only for one specific object related to this section, such as "Attachments and notes detail object in Cases section". However, in case you'd like to set the same permissions for all the sections/objects attachments, then there will be a need to specify the corresponding object permissions for all the objects/sections (you can filter the needed objects directly in the "Object permissions" with a key-word "attachment").  

 

As usual, you will be able to set up record permissions there as well (the permission mechanism is based on the record authorship):

https://academy.creatio.com/docs/8-0/user/setup_and_administration/user…

 

Best regards,

Anastasiia

Show all comments

I have the popup add-on installed from marketplace. I've used it in the past often, but it stopped working in our current instance about a week ago. I don't have popup blocker on the browser.

 

I had tried uninstalling and reinstalling previously but this wiped all the business processes that had it in place. I cannot rebuild it all again- is there any way to troubleshoot this?

 

https://marketplace.creatio.com/template/popup-element-business-process…

Like 0

Like

2 comments

Hi, Susan,

I have the same issue. Did your troubleshooting successful?

Hi to all,

 

You should identify the cause of the issue first and foremost.

Check the process log and make sure the process was launched and “To whom should the window be shown” field was filled out correctly.

If everything is correct, troubleshoot the issue in the incognito mode.

 

If you cannot reproduce the issue in the incognito mode, check your browser extensions. Some of them, ad blockers in particular, could block pop-up windows in Creatio.

Show all comments

Hello community,

 

Is it possible to remove records adding in a specific detail when the main object is in a specific stage?

Like 0

Like

1 comments

Hello,

 

Add the following code in the page schema of main object under methods:

isDetailEnabled: function(detailName) {
        var DCMStage = this.get("UsrDCMLookup").displayValue;   
	if (detailName === "ExampleDetail") {
		if(DCMStage === "Approved"){
                    return false;       //Disable the "+" button
                }
                else{
                    return true;        //Enable the "+" button
                }
	}
	return this.callParent(arguments);
}

 

Regards,

Sourav

Show all comments