Hi All

 

Anyone know how to add or custom button in the list ?



PS. i create this list use freedom builder

Like 1

Like

1 comments

Hello,

 

Unfortunately, there are no such basic tools to add the button to the mentioned dropdown. 

We've registered it in our R&D team backlog for consideration and implementation in future application releases.



Thank you for helping us to improve our product. 

Show all comments

Hello community!

I need to set fields required based in values of a lookup at client side.

I was trying to test how isRequired works in attributes , but I found that the only way to work with it, is declaring the explicit value to True or False.

Tried to use a virtual column, and a method function, but it behaves weird.  

Here are my examples:

and this how it looks on screen:

 

It's showing the "Enter a Value" warning but they are supposed not to be required (* is missing).

 

Is there any way to workaround with this?

 

Thank you for your help.

Like 0

Like

3 comments
Best reply

Cesar Jaramillo,

Let's see what method of making fields required* dynamically actually works good – it is using rules/businessRules.

You can create a rule for your field, the condition can be any value of the page and its related lookups.

Like here:

But if you have to do this for several fields, it will take much time to set them for each field. 

And if there are many conditions or they are too complex, "businessRules" abilities can be not enough.

But we can set an attribute (boolean) to be a condition for each of these rules, like here:



The attribute value can be changed dynamically using "methods".

 

So here's what i'd advise you to do:



In my example the fields "Email" and "Preferred language" become required, if the contact Type is "Customer" and the "Owner" field is not empty.

1. Add an attribute of type BOOLEAN

attributes: {
	"FullInfoRequired": {
		"dataValueType": Terrasoft.DataValueType.BOOLEAN,
		"dependencies": [
			{
				"columns": ["Owner", "Type"],
				"methodName": "setFullInfoRequired"
			}
		]
	}
},

Each time any of the columns ("Owner" or "Type") is changed, the method "setFullInfoRequired" is called.

2. Add the method

setFullInfoRequired: function() {
	var type = this.get("Type");
	// ContactType.Client is a GUID for "Customer" type
	if (type.value === confConsts.ContactType.Client && this.get("Owner")) {
		this.set("FullInfoRequired", true);
	}
	else this.set("FullInfoRequired", false);
}

To set the attribute on page loading, immediately after the page loaded its data, you should also call this function in "onEntityInitialized":

onEntityInitialized: function() {
	this.callParent(arguments);
	this.setFullInfoRequired();
}

3. Add the rules using Page designer, as in my 2nd screenshot, for each field that should become required.

 

If the conditions are simple, just use businessRules as in the 1st screenshot.

 

Hello Cesar,

 

The isRequired attribute that uses the value that method returns works correctly in my local app (using bindTo: {"method name here"}). It seems that there is either some other custom logic related to these columns in the ContactPageV2 or maybe custom CSS that hides these * symbol. You need to look through all the logic related to these columns where you need to have the * symbol.

 

Best regards,

Oscar

Oscar Dylan,

Hi Oscar,  In my case, when the method returns True it works fine, but when it returns False, the * is gone, but the warning remains and it doesn't allow to save.  In what version did you try it?

Thanks!

Cesar Jaramillo,

Let's see what method of making fields required* dynamically actually works good – it is using rules/businessRules.

You can create a rule for your field, the condition can be any value of the page and its related lookups.

Like here:

But if you have to do this for several fields, it will take much time to set them for each field. 

And if there are many conditions or they are too complex, "businessRules" abilities can be not enough.

But we can set an attribute (boolean) to be a condition for each of these rules, like here:



The attribute value can be changed dynamically using "methods".

 

So here's what i'd advise you to do:



In my example the fields "Email" and "Preferred language" become required, if the contact Type is "Customer" and the "Owner" field is not empty.

1. Add an attribute of type BOOLEAN

attributes: {
	"FullInfoRequired": {
		"dataValueType": Terrasoft.DataValueType.BOOLEAN,
		"dependencies": [
			{
				"columns": ["Owner", "Type"],
				"methodName": "setFullInfoRequired"
			}
		]
	}
},

Each time any of the columns ("Owner" or "Type") is changed, the method "setFullInfoRequired" is called.

2. Add the method

setFullInfoRequired: function() {
	var type = this.get("Type");
	// ContactType.Client is a GUID for "Customer" type
	if (type.value === confConsts.ContactType.Client && this.get("Owner")) {
		this.set("FullInfoRequired", true);
	}
	else this.set("FullInfoRequired", false);
}

To set the attribute on page loading, immediately after the page loaded its data, you should also call this function in "onEntityInitialized":

onEntityInitialized: function() {
	this.callParent(arguments);
	this.setFullInfoRequired();
}

3. Add the rules using Page designer, as in my 2nd screenshot, for each field that should become required.

 

If the conditions are simple, just use businessRules as in the 1st screenshot.

 

Show all comments

Hi Team,

 

I am looking for workaround in which I need to attach the Dashboard List (Excel Report) in attachments of any custom section and then further used in Business Process. So, please help me to figure out the steps to follow.

 

Thanks

Like 0

Like

3 comments

Hello colleagues,

To solve your business task you need to use the business process element "Process file". Set the "Generated report" mode, choose a report template, and in the column "What to do with file?" specify the next: "Save to "Attachments and notes" of the object".

Then choose the object.

Best regards, Alex.

Hi Aleksei, 

 

Thanks for responding. But in my case, I need to attach a list view of Dashboard, which I think is not feasible through "Process File" element. Can you please suggest some other solution or please correct me if I am wrong.

 

Thanks and Regards, Prashant

Prashant Jha,

Hello!

If you need to create an Attachment and notes object for your custom section or object - you can find a useful information in this article:

https://community.creatio.com/articles/adding-attachment-and-notes-tab-…

Show all comments

Hi Team,

 

I need to send the dashboard list via Email. I am looking for a work around for the same. Please help. 

Like 0

Like

1 comments

Hello,

 

Unfortunately, there is no such functionality in our system to export dashboards.

 

We have already registered the idea for our R&D team to implement this functionality in further releases. I will assign your case to this project in order to increase its priority.  

 

Thank you,

Artem.

Show all comments

Hi community,

 

Is it possible to add a fixed filter for a text field ?

Like 0

Like

6 comments

Hello Stefano,

 

Fixed filter in section cannot be added with a help of basic system tools, but only with a help of development.

I would suggest to check  the below post for guidance and implementation example:

https://community.creatio.com/questions/default-filter-section

 

Best regards,

Anastasiia

Anastasiia Zhuravel,

Hello Anastasiia,

I would like to add a text box filter field that the user can compile or not 

Stefano Bassoli,

 

Hi, 

Could you please elaborate a bit on your business task? Can you share a screenshot of the desirable result or an example of such filter in a system?

If I may refer to the subject of your post "FIXED FILTER ON SECTION", then this functionality can be achieved with a help of development as described in the post shared in my previous comment.

 

Best regards,

Anastasiia

 

Anastasiia Zhuravel,

Hi,

I attached a screenshot.

The end-user uses frequently a quick filter on a text field, is it possible to make fixed ?

Hi Community! How are you? 

Could you solve this problem? On our side we need to do something similar.

Thank you in advance

Uriel Nusenbaum,



The below can be added to your schema to have a custom Fixed Filter (and customize based on the filter need).



https://academy.creatio.com/docs/developer/interface_elements/section/set_up_quick_filter_block

define("ContactSectionV2", [], function() {
    return {
        entitySchemaName: "Contact",
        methods: {
            initFixedFiltersConfig: function () {
                var fixedFilterConfig = {
                    entitySchema: "ContactType",
                    filters: [
                        {
                            name: "TypeFilter",
                            columnName: "Type",
                            caption: this.get("Resources.Strings.ContactTypeFilterCaption"),
                            dataValueType: this.Terrasoft.DataValueType.LOOKUP,
                            appendCurrentContactMenuItem: false,
                            addNewFilterCaption: this.get("Resources.Strings.SelectContactTypeCaption"),
                            hint: this.get("Resources.Strings.SelectContactTypeCaption"),
                            buttonImageConfig: this.get("Resources.Images.ContactTypeFilterImage")
                        }
                    ]
                };
                this.set("FixedFilterConfig", fixedFilterConfig);
            }
        }
    };
});

 

 

BR,

Bhoobalan Palanivelu.

Show all comments

Hi Community,

 

I wanted to implement a funtionality where a validation should happen on click of Approve button. If the valiation fails the approval should not happen.

 

To achive the above task I tried with the following approaches, on the "UsrReturns" custom object.

  1. Tried to implement "asyncValidate" on "UsrReturnsVisaPageV2", but it didn't work (Seems the approval is happening outside the context of this page). Also not sure what is the use of this page.
  2. Tried to implement validation using Entity Events Layer on the object "UsrReturnsVisa". Although it didn't approve the request, but it didn't throw the exception as well with the following code,
    if(true){
    	throw new Exception("Can not approve");
    }
    return true;
  3. Tried to implement a custom approval logic using "ApprovalDashboardItemViewModel", but I can not create a replacing schema with this.

So need a way to implement such funtionality. Any suggestions will help.

 

Thanks & Regards,

Sourav Kumar Samal

Like 0

Like

3 comments

Hello,

 

Can you please screenshot the exact button you click, clicking which should start the validation process?

 

Thank you!

 

Best regards,

Oscar

Oscar Dylan,

While clicking Approve on notification panel as shown below,

 

 

Also while clicking under DCM & from Approvals section, same error shows on the console, but popup doesn't come.

 

Regards,

Sourav

Sourav Kumar Samal,

 

this is a bad request response returned by the app and we need to see the actual response (from the "Response" tab of the request in the "Network" tab).

 

To add some logic upon approval you need to replace the "approve" method in the "VisaNotificationsSchema" module (for "reject" actions its "reject" method). You will be in the context of the approval record and you can use data from there to process further with the approval\rejection. So you need to override the logic of these two methods.

 

Best regards,

Oscar

Show all comments

Hi Community,

 

We are creating email templates in DEV environment. In the DEV, we are adding link to object in the template and it works perfectly on DEV. But the issue comes when we migrate the changes to higher instances, it still shows the link to DEV.

 

How we can show the link for the same application from which the email is being sent? Really appreciate any suggestions.

 

Regards,

Sourav Kumar Samal

Like 1

Like

4 comments

Hello Sourav,

 

It seems that you are typing the whole link in the string value. Perhaps it would be suitable to replace them with macros and use Website Url (system setting for example) value to populate it. 

 

If your case does not allow you to use macros - please provide more details and screenshots along with step-by-step recreation of the misbehavior and a description of the expected behavior you want to achieve.

 

I hope this reply was helpful to you.

 

Best Regards,

Dan

Denis Bidukha,

 

We are using templates from Template section. We are using the link to object in the template as shown below,

 

 

Regards,

Sourav

Sourav Kumar Samal,

 

Unfortunately, the link to the object is absolute and not website-dependent. You should either modify it manually after migration or use the macros that was mentioned above. It is planned to change this in future versions, but there are no details available yet.

 

Best Regards,

Dan

Hi, is in the R&D plan to solve this?

Show all comments

Hello,



We have a requirement where the user should be able to Copy and paste images into the "Notes" field in the "Attachments and Notes" detail which is available out of the box. Request you to respond if anyone has implemented this before or is aware of the steps. 



Thankyou.

Like 1

Like

2 comments

Hello!

 

We've checked the information with a responsible R&D team, and there is no OOB functionality as of now. 

We already have a query registered for them to consider implementing such functionality in the upcoming application versions. I will assign your case to it to increase its priority.

Kalymbet Anastasia, Where is the values of the notes saved in the DB? which object to refer and in case if i need to copy the notes into another section notes? is it possible?

Show all comments

Hello

In a main object I want to bring the sum from a detail, to get amount sum of the number of records in the detail

Like 0

Like

1 comments

Hello Alex,

I recommend you to read this discussion. I belive that there you can find an answer to your question.

Show all comments

Hello, 

I am going to add custom function to this Search(Поиск) button which makes the Add (Добавить) enabled.

Like 1

Like

1 comments

Hello,

In order to modify this window, you need to create a new module that will expand LookupPage

define("CustomLookupPage", ["LookupPage", "LookupPageViewGenerator", "LookupPageViewModelGenerator",
"ProcessModuleUtilities", "LookupUtilities", "css!LookupPageCSS"],
	function(LookupPage, LookupPageViewGenerator, LookupPageViewModelGenerator, ProcessModuleUtilities) {
		return Ext.define("Terrasoft.configuration.CustomLookupPage", {
			alternateClassName: "Terrasoft.KmGMSLookupPage",
			extend: "Terrasoft.LookupPage",
			gridWrapClasses: ["custom-lookup-control"]
		})
	}
)

However, this is quite a difficult task. We recommend analysing the base methods of LookupPage to see what is their purpose and when they launch.

Show all comments