Like 2

Like

3 comments
Best reply

Hello Ahmad,

Yes, I do this often with CSS. It takes a bit of playing in dev tools to find the correct element to apply the styles to. In the case where you have two details "DetailA" and "DetailB", the styles are typically like this (you'll need to find the element of the detail that has the class "added-detail" to apply these to): 

/* DetailA - apply to element with class .added-detail */
#AccountPageV2UsrSchema8Detail1c7637b0Container {
    display: inline-block;
    width: 45%;
    margin-right: 10px;
    vertical-align: top;
}
 
/* DetailB - apply to element with class .added-detail */
#AccountPageV2UsrSchema6Detail0235cca7Container {
    display: inline-block;
    width: 45%;
    vertical-align: top;
}

The end result looks something like this:

You can see more of how to add custom CSS to a page here: https://customerfx.com/article/adding-custom-css-style-sheets-in-bpmonl…

Ryan

Hello,

 

Thank you for your question! 

We are constantly improving our application and this has been made possible in Creatio freedom UI:

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

 

Unfortunately, if you use version 7.х - this can be achieved only by means of additional development.

 

Best regards,

Anastasiia

Hello Ahmad,

Yes, I do this often with CSS. It takes a bit of playing in dev tools to find the correct element to apply the styles to. In the case where you have two details "DetailA" and "DetailB", the styles are typically like this (you'll need to find the element of the detail that has the class "added-detail" to apply these to): 

/* DetailA - apply to element with class .added-detail */
#AccountPageV2UsrSchema8Detail1c7637b0Container {
    display: inline-block;
    width: 45%;
    margin-right: 10px;
    vertical-align: top;
}
 
/* DetailB - apply to element with class .added-detail */
#AccountPageV2UsrSchema6Detail0235cca7Container {
    display: inline-block;
    width: 45%;
    vertical-align: top;
}

The end result looks something like this:

You can see more of how to add custom CSS to a page here: https://customerfx.com/article/adding-custom-css-style-sheets-in-bpmonl…

Ryan

Ryan Farley,

Thank you Ryan!!

Show all comments

Hello,

 

I'm not able to enable approvals in version 8.0.2

Does anyone know how to enable approvals in the latest version ? knowing that there's no View>Open section wizard in the section created with the newwest version

 

Thanks

 

Maarouf

Like 1

Like

5 comments

Hello

 

Could you please elaborate on the issue and explain what functionality exactly you are not able to find? How did you create the section exactly and how did the "Enable approvals" look in the older sections?

 

Kind regards,

Mira

Hello Mira,

 

In version 8, i've created a new section in the Application Hub > New Application > New page.

In the older version we used to create a new section in the Section Wizard. Also in the older version, in the section itself, we usually click on View > Open section wizard where we can find multiple section properties including the Enable Approvals checkbox.

Tha't what i'm trying to find in the newest version, as there's now View > Open section wizard in the page.

 

Maarouf

Hello,

 

I have checked this matter with our R&D team and unfortunately "Enable approvals" checkbox is not available in the Freedom UI yet.  It is planned to add it in future releases, but it is hard to tell when exactly it will happen.

 

Kind regards,

Mira

Hello Mira,

 

Thank you for your reply.

 

So what's the current workaround for that ? Supposed we're working on a new section developed using the version 8 and we wanted to enable the approval on it 

 

Maarouf 

Mira Dmitruk,



What is the current status of this feature. We need to add Approval for our custom section, but there is no Visa object for that.

Is it possible in 8.1 already?



Kind regards,

Vladimir

Show all comments

I just build a new section, with some fields, once y open it to make a new register, it doesnt display the fields I build, only the button NEW 

Like 0

Like

1 comments

Hello Alex, 

 

Please contact support at support@creatio.com, so we will investigate it further. 

 

Thank you,

Igor

Show all comments

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