Hi,

I have implemented two different scenarios using PrintReportUtilities mixin methods. The first one (generateCardPrintForm) is to save the printable as an attachment in the Attachment and Note detail, and the other one (initCardPrintForms and preparePrintFormsMenuCollection) is used to filter the printables on the basis of lookup. The code is working fine but after refreshing the page.

 

The code used in OrderPageV2 is as follows

generateCardPrintForm: function(tag) {
	// first get the printable being accessed
	var printFormsCollection = this.get(this.moduleCardPrintFormsCollectionName),
		printForm = printFormsCollection.get(tag);
	var printableId = printForm.values.Id;
	var orderId = this.get("Id");
	ProcessModuleUtilities.executeProcess({
		sysProcessId: '68880f82-xxxx-xxxx-xxxx-xxxxxfb532c2',
		parameters: {
			OrderId: orderId,
			PrintableId: printableId
		}
	});
	this.updateDetail({detail: "Files"});
	this.callParent(arguments);
}

 

initQueryColumns: function(esq) {
	this.callParent(arguments);
 
	if (!esq.columns.contains("UsrDocumentRepositorySubtype")) {
		esq.addColumn("UsrDocumentRepositorySubtype");
	}
},
initCardPrintForms: function() {
	this.callParent(arguments);
	var printMenuItems = this.get(this.moduleCardPrintFormsCollectionName);
	if (Ext.isEmpty(printMenuItems)) return;
	printMenuItems.each(function(item) {
		item.set("Visible", {bindTo: "getPrintMenuItemVisible"});
	}, this);
},
initSectionPrintForms: function() {
	this.callParent(arguments);
	var printMenuItems = this.get(this.moduleSectionPrintFormsCollectionName);
	if (Ext.isEmpty(printMenuItems)) return;
	printMenuItems.each(function(item) {
		item.set("Visible", {bindTo: "getPrintMenuItemVisible"});
	}, this);
},
preparePrintFormsMenuCollection: function(printForms) {
	printForms.eachKey(function(key, item) {
		if (!item.get("Caption")) {
			item.set("Caption", item.get("NonLocalizedCaption"));
		}
		item.set("Tag", key);
		item.set("Visible", {bindTo: "getPrintMenuItemVisible"});
	}, this);
},
// this is the function will determine if a printable is visible
// it is called for each printable and will return true/false to show or hide
getPrintMenuItemVisible: function(reportId) {
	var type = this.get("Status") || { displayValue: "" },
		printMenuItems = this.get(this.moduleCardPrintFormsCollectionName),
		item = printMenuItems.find(reportId);
	if (Ext.isEmpty(item)) return;
 
	switch (item.get("Caption")) {
		case "Order - Inprocess":
			return type.displayValue === "3. In progress";
		default:
			return type.displayValue != "3. In progress";
	}
}

 

Like 0

Like

4 comments

Hello,

 

It happens because of the combined mode and the fact that logic is triggered not from the page itself, but from the section page (when you open record from the section) until the page is reloaded. It's the same issue as if you add buttons to the page schema, not section schema (as described here). In such case you won't be able to see buttons on the page until the page reload. So you need to modify the logic and apply it in the section schema (OrderSectionV2).

Oleg Drobina,

 

I have added the code to OrderSchemaV2, but the issue is still the same.

Syed Ali Hassan Shah,

 

Unfortunately additional debugging needed here. Also there is a probability that the whole approach should be changed. Here are also two marketplace addons, one of them performs filtration of printables and another one adds printables to attachments:

 

https://marketplace.creatio.com/app/printable-attachments-creatio

https://marketplace.creatio.com/app/opportunity-printables-filtering-roles-creatio

 

You can also review how they work and maybe it will help in implementing your own logic.

Oleg Drobina,

 

I have gone through the mentioned plugins they are using the custom implementation in their own developed buttons and custom library. But we want to override the implementation done by Creatio.

 

Show all comments

Hi community,

 

Is it possible using code, to convert the metric chart into a calculated value? For example, a conversion rate.

 

There is a marketplace app but this isn't updated for freedom UI yet.

 

Thanks!

Like 5

Like

8 comments

Also awaiting a Freedom UI update

I also am hoping to see this available for Freedom UI soon as well. IMO this should be an out of the box addition for dashboards. 

Ryan

Ryan Farley,

 



Totally agree, like the way to be able to view numbers reduced as K or M, you know 300'000 as 300K , 300'000'000 as 300M etc... graphs often get overcrowded with numbers overlapping, still do not know why this has not been adressed, quite a standard in other solutions for more than a decade...

Hello,

 

Please note that there is no possibility to do this in Freedom UI at the moment, but we have registered your idea for our R&D team and they will consider implementing such functionality in future releases.

 

Thank you for helping us make Creatio better!

Mira Dmitruk,

This functionality is critical to making a lot of the reporting functionality within Creatio actually usable. Clients and potential clients like the appearance of what you can do in Creatio, but without the ability to actually perform calculations like getting percentages and the like, and without being able to show metrics in thousands, millions etc, the actual usability of it is pretty limited. Would strongly vote for this as well.

Mira Dmitruk,

Hello, any updates for this topic ?

I'm also waiting for something like "Calculated Metrics app" to work in Freedom. Please it urges!

Ryan Farley writes:

I also am hoping to see this available for Freedom UI soon as well. IMO this should be an out of the box addition for dashboards. 

Ryan

I agree, is something "essential"

Show all comments

Hello Community, 

 

I have a requirement to sort the lookup values where value is a text field which contains both letters and number. I wanted to sort it in asc for the numbers first. 

How can we achieve this?

Any Suggestions is helpful 

 

Thanks

Gargeyi.G

 

Like 0

Like

1 comments

Hello,

 

There are no basic system tools to change the alphabetical filtration order. In order to implement custom filtration order additional development will be needed. 

I'd suggest to check the below posts where similar business tasks have been already discussed:

https://community.creatio.com/questions/sorting-values-lookup-field-bes…

https://community.creatio.com/questions/sorting-drop-down-lookup

https://community.creatio.com/questions/freedom-ui-sorting-lookup

https://community.creatio.com/questions/change-order-lookup-values-list

Best regards,

Anastasiia

Show all comments

Hi Community,

I've a requirement where I've to read data from a PDF uploaded, Can you please let me know how it can be achievablesake

Like 1

Like

1 comments

Hello Kavya,

 

It depends on where exactly you need to read this data. If you need to read it from external API call then you need to use then for example you can use the following link and perform GET request to it:

 

https://CreatioApplicationName.creatio.com/0/rest/FileService/GetFile/149d2eaf-cbd2-49fa-b565-637748ff823c/c628b09b-05db-4ce5-968b-d38f5833978b

 

where

 

CreatioApplicationName should be replaced with your application name;

149d2eaf-cbd2-49fa-b565-637748ff823c should be replaced with the UId of the object where the file is stored (for accounts it's AccountFile and UId for it is 149d2eaf-cbd2-49fa-b565-637748ff823c):

c628b09b-05db-4ce5-968b-d38f5833978b should be replaced with an actual Id of the record inside AccountFile table (in your case - the object where the file is stored).

 

 As a result you will get the file content:

If you need to do it in the business process then you need to take a look at the "Process file" process element which allows working with files. Or you can take a look at the file API that allows files processing though the server logic inside Creatio app.

Show all comments

OOTB Lookups such as "Contact Type" and "Account Type" have the column "Colour", which is used to allow the lookup on a list to be colour coded. 

 

I have tried adding a "UsrColor" to custom objects/lookups, but the functionality does not seem to work. I also can't see any baselookup where this column is already there. 



Has anyone else managed to do this?

Like 1

Like

2 comments
Best reply

Select your color column in the object properties and you should be good

Ryan

Select your color column in the object properties and you should be good

Ryan

Ryan Farley,

That worked and totally missed this bit. Thanks!

Show all comments

Does anyone know if it is possible to increase the width of the modal on just instance of a modal? 

 

Thanks!

Like 0

Like

15 comments

Hello Harry,



Could you please elaborate on your business task?

Hi Bogdan,

 

I would like to increase the width of the modal popup for edit/new record pages. 

 

In this case, I am using the modal for the default edit page, but I would like to increase the width because the edit page contains lots of long form text fields.

 

Is it possible?

 

Harry,

Hi Harry! 



Did you have an answer to your question? I'd like to do the same! 



Thank you!

Ignacio Alvarez,

According to the roadmap, the ability to resize modal/mini pages is coming sometime Q1 2024. 

https://academy.creatio.com/docs/release/creatio-roadmap?search=mini&ch…

Ryan

Thank you Ryan!

Ignacio Alvarez,

Have you find the way to resize modals?

Andres Arrigonni,

The way that it works now with some of the OOTB dialogs is there is an addon of type "AppearanceSettings" added for the page and the size is specified there. I don't see anyway to create those using provided tools. The following way works but it is completely hacky. This will change the dialog size to large, add this to the handlers: 

{
	request: "crt.HandleViewModelInitRequest",
	handler: async (request, next) => {
		setTimeout(() => {
			const pageName = "cfxsubscriptionsupport_modalpage"; // change to the name of your dialog schema name
			const modalEl = document.querySelector(pageName).closest(".cdk-overlay-pane.modal-container.modal-size-small");
			if (modalEl) {
				modalEl.classList.remove("modal-size-small");
				modalEl.classList.add("modal-size-large");
			}
		}, 100);
		return await next?.handle(request);
	}
}

Hopefully, we'll get full support to do this the right way and this hacky approach will no longer be necessary (the roadmap shows this coming in Q2 2024 - I don't see it anywhere in 8.1.3), but for now this will work.

Ryan

Apparently if you add/enable the below feature, you will get controls on the modal window Page Designer that allows you to select the size of the window from some presets. Not sure which releases this applies to but I think it works in 8.1.2, though I haven't used it myself yet. Given it’s not enabled by default, I would advise some caution with using it and make sure to add some regression testing specifically around it after each Creatio upgrade, but it may help you out if you’re really in need of different Modal Page size:



Harvey Adcock,

Excellent find. I have seen that many ootb modals do have an AppearanceSettings addon in 8.1.2 and higher. I wonder why this isn't on by default? 

Excellent! thanks

It looks like this is no longer in the feature toggles now on 8.1.3 . Could someone else confirm?

deleted

Robert Pordes,

I just tried this in a new 8.1.5 system and still works for me. The feature does not exist ootb, however, if you add it and check "is enabled" (don't forget to click "clear cache") it does still work in 8.1.5:

Added the following in https://CreatioUrl/0/flags

Ryan

Can confirm I got this to work too... I hadn't read Harvey's message entirely which stated you actually had to add a new record with the correct code. Works well and is a great feature - no idea why they haven't released this out of the box yet. 

Ryan Farley,

 

Hi Ryan,

 

you are right, it works in 8.1.5...I had a typo in the feature's name when I tried it. EnabledAppearanceSettings is the correct name and I was missing a letter...

 

I deleted my comment so that no one will be confused.

 

Thanks, Ryan for the clarification!

Robert

Show all comments

how to filter list page according to current user contact type in freedom ui

Like 0

Like

5 comments

Hello,

 

Could you please describe an example of what logic you need to achieve?

Mira Dmitruk,

 

hello iam trying to get list according to current contact department 

saad mohamed,

 

If I understand you question correctly, you can apply filter with the following condition:

sorry you can not understand me i will explain again

imagine that i have employer in markting department and another employer in hr department

and i need to get records according to employer contact 

if we type it in sql will be like this select * from courses where department = CURRENT_USER_CONTACT_DEPARTMENT

any updates

Show all comments

Hi community,

in my local environment the "Indexing for full-text search" is missing, the section settings page show me "System object".

In my local env I don't have global search configured.

How can I set this field in my package ?

Like 0

Like

3 comments

Hello Stefano,

 

The checkbox will only appear if the global search service is set up for the local environment. Please refer to this article.

 

Best regards,

Anastasiia

Hi Anastasiia,

How can configure the package that contains this custom entity to index it?

If I don't have gs configured locally

Stefano Bassoli,

Hi,

 

If there is a need to add this parameter to the package, you can enable the checkbox via UI and the change will be added to the current package. As mentioned, the checkbox will only appear if the global search service is set up for the local environment.

 

Best regards,

Anastasiia

Show all comments

Hello. 

I am doing a process where I want to create a new record  but I want that the field account fills automatic using a business process, but when I add the record it doesn't pass this information to the section, it shows a blank field, additionally i want to set the name of the record with a formula so it show the name of the account to complete the name but it doesn't pass this data. 

 

I first  tried to add the record and establish the fields that i want to be fill. Then I tried to first add the record and then modifty it to add the fields that i want to be show. And lately i tried using a subprocess to add the fields, but anything of the things that I tried haven't work. 

Can someone help me please? 

 

 

 

 

Like 0

Like

1 comments

Hi Laura, 

 

We'd need to perform a deeper analysis in order to understand and resolve your issue. 

Please forward this question to our support team. Don't forget to provide the external access to your system. 



Best regards,

Yurii

Show all comments

Dear mates,

On opportunity detail page, I've added a filter to display only the contacts in the account:

Here is the business rule :

As a result, if the contact's professional experience is not his or her main experience, the contact does not appear in the list.

For example, this account has two contacts :

For Julie LEZORAY, this job is not her main job :

As show on the first image, this contact does not appear in the opportunity contact list because the contact's account is not the main job.



Is it possible to make a business rule based on the contact's professional experience, which would allow the contact to appear in the list even if it's not their main experience?

I can not find the contact career object in the business rules.

 

Thank you,

Nicolas

Like 0

Like

4 comments

Hello, 

 

Unfortunately, there is no possibility to use complex filters for business rules setup. We have this idea registered for our R&D team and I will notify them about this question to increase the importance of implementing this functionality.

Hello Sergii,

Is is possible to disable Job Experiences management in Creatio ?

or

is it possible adding code on the OpportunityClient object in order to select all account's contacts even if the contacts job experience is not the primary one ?

if it is a current job experience, it's enough.

 

Hello Nicolas,

 

Simply make sure that both your contacts are connected to the account:

The filtration business rule you have returns contacts related to the selected account and in your case one of the contacts is not connected to the account selected in the opportunity from your example.

hello oleg

that's the meaning of my question

if the contact's professional experience is not the main one, but if the contact is still part of the company, then the system filter doesn't display the contact.

I'd like to change this behavior.

Show all comments