Hello Creatio community,



We're trying to hide/show items in print section button based on specific conditions. The filter works fine in section page and edit page but it doesn't work when we try to open the edit page from the section page.



When we try to open the edit page from the section list the filter that we have made in both section and page doesn't apply and all the items in print button are displayed. Examples below.

 

1. Print button in section list

2. Print button when we open edit page (from reload)

3. Print button when edit page is open from application section list

 

Application page:

        preparePrintFormsMenuCollection: function (printForms) {
                this.callParent(arguments);
                printForms.eachKey(function (key, item) {
                    if(key =="ebd9e198-9d05-21b7-6d30-4f79eb6cf2ea")
                    {
                        item.set("Visible", true);
                    }
                    else{
                        item.set("Visible", false);
                    }
                }, this);
            },

Application section:

            isSectionPrintFormEnabled: function(reportId) {
                if (!this.isAnySelected()) {
                    return false;
                }
                if (this.isSingleSelected() && !this.get("SelectAllMode")) {
                    var applicationId = this.$ActiveRow;
                    if(reportId == "ebd9e198-9d05-21b7-6d30-4f79eb6cf2ea"){
                        return true;
                    }
                    return false;
                } else {
                    const reportCollection = this.get(this.moduleSectionPrintFormsCollectionName);
                    const report = reportCollection.get(reportId);
                    return (report && report.get("PrintFormType") !== Terrasoft.ConfigurationEnums.ReportType.Word) || !this.get("SelectAllMode");
                }
            }, 

The function "preparePrintFormsMenuCollection" is called every time the application page is opened. When the application page is opened from the section list (combined mode) the print button is not reloaded and keeps the older values.



How can we reload the items of the print button when the edit page is opened from section page?



Regards,

Lirzae

Like 0

Like

2 comments

Hello Lirzae,

You could try the following. When a row is selected in the section, retrieve the collections of printables for the section, then look through and set the Visible property based on the values of the selected row. Something like this: 

rowSelected: function(primaryColumnValue) {
    this.callParent(arguments);
 
    // get data for selected row
    var row = this.getGridData().get(primaryColumnValue)
 
    // get printables collection
    var reportCollection = this.get(this.moduleSectionPrintFormsCollectionName);
    Terrasoft.each(reportCollection, function(report) {
            if (row.get("UsrSomeField") == "Some Value" && report.get("Id") == "TheReportId") {
                report.set("Visible", false);
            }
            else {
                report.set("Visible", true);
            }
    }, this);
}

Note, I've not tried that before so not sure if it will work, but that is what I would attempt first. Also, the fields available in the "row" variable would depend on the column layout of the section. If you need to ensure a value is available, you'll want to add that to the section ESQ like this: 

initQueryColumns: function(esq) {
    this.callParent(arguments);
 
    if (!esq.columns.contains("UsrSomeField")) {
        esq.addColumn("UsrSomeField");
    }
}

Ryan

Ryan Farley,

 

I tried using "rowselected" method but this only works in section list page. When I try to open the edit page from section list the print button shows all the items.

The other method that I used "preparePrintFormsMenuCollection" is called when the edit page is opened but doesn't reload the print button items. 

 

Is there any other method that can reload print button items when the edit page is opened from the section list?

Show all comments

Hi community,

I made a custom button in the product in order detail action menu.

In this button onClick event, I called a business process and had to pass the order's id to it.

How do I get the order id from within the product in order detail schema so that I can pass it to the business process?

 

Thank you!

Like 0

Like

2 comments
Best reply

Hi,

 

You can use:

this.get("MasterRecordId")

to get the master record Id value and use it in the click handler method.

Hi Andrew,



1. You can pass OrderProductId to the process and read OrderId from OrderProduct



2. You can call process from OrderProductDetailV2 with such a code:



            runMyBusinessProcessAll: function() {

                ProcessModuleUtilities.executeProcess({

                    "sysProcessName": "UsrMyProcess",

                    "parameters": {

                        "OrderId": this.get("MasterRecordId")

                    }

                });

            },

Hi,

 

You can use:

this.get("MasterRecordId")

to get the master record Id value and use it in the click handler method.

Show all comments

Hi community,

How may I add a custom button to the detail action menu as the 1st item?

 

Thank you!

Like 0

Like

3 comments
Best reply

Andrew Sheng,

 

hi,

 

The approach is the same as in the community thread Bogdan shared, but in your case you need to first add you button and then call parent method logic.

Hello Andrew,

 

Your business task could be achieved only by development.



You can find useful information here.

Bogdan,

Hi Bogdan,

I can do it. I just need to know how can I put the custom button at the top of all action menu items.

 

Thank you!

Andrew Sheng,

 

hi,

 

The approach is the same as in the community thread Bogdan shared, but in your case you need to first add you button and then call parent method logic.

Show all comments

Hi community,

How may I hide the close button in the auto-generated page?

We use the Sales Enterprise Cloud edition.

 

Thank you!

Like 0

Like

1 comments
Best reply

Hello Andrew!



It's possible to hide "Close" button by applying custom CSS style to the AutoGeneratedPageV2 schema. You will need to find the correct selector for "Close" button in AutoGeneratedPageV2.

This article describes how to add custom CSS: https://community.creatio.com/articles/how-add-or-edit-css-style



Best regards,

Yuliya Gritsenko

Hello Andrew!



It's possible to hide "Close" button by applying custom CSS style to the AutoGeneratedPageV2 schema. You will need to find the correct selector for "Close" button in AutoGeneratedPageV2.

This article describes how to add custom CSS: https://community.creatio.com/articles/how-add-or-edit-css-style



Best regards,

Yuliya Gritsenko

Show all comments

Hi,

Using ODATA4 API I am able to read contact, account records but not able to read FinApplication(OOTB) & Contract its giving me 500 Internal Server error.

I am not able to understand this issue cause FinApplication and Contract are also OOTB objects like Account and Contact in Creatio but I am getting 500 Internal Server error. Is there any setting I need to make inside creatio.

Please help Urgently!

Like 0

Like

2 comments

Hello,

 

Try using Odata 3.

Odata 3 will display a detailed error.

 

Also, note that special characters in object column names can break Odata.

Cherednichenko Nikita,

 

Thank you , yes it's the special characters in the column names causing this problem.

Show all comments

Dear Community,

 

we have the following case. We have some contacts who hold an honorary position (from - to). If the contact still holds the honorary position at the next year, the contact has an anniversary.

 

I was thinking of using the existing noteworthy detail for this. However, then only the owner of the contact record will receive the notification. All other employees should be notified about the anniversary as well

 

Can the Noteworthy detail be customized so that everyone and not just the owner receives a notification?

Or is it better to create a custom system notification for this case?



Regards 

Florian

Like 1

Like

1 comments

Hello Florian,

 

I am afraid there is no option to change the logic of this detail.

 

However, you can try to build a Business process, which will read the data from this detail and create a notification. Then you will be able to add the group of the employees to receive the notifications.

 

Hope this will help you.

 

Regards,

Gleb.

Show all comments

Hello,

Is there any standard way in Creatio to refresh the records. I have to refresh the browser page in order to see the Changes. 

Do we have to Create a button for that using Js or C#? 

Like 0

Like

2 comments

Hello, 

 

Please consider using the below marketplace add-on for this purpose:

https://marketplace.creatio.com/app/reload-data-button-creatio

 

Best regards,

Anastasiia

Anastasiia Zhuravel,

Thanks 

 

Show all comments

Hello All,



We have deactivated the "Handoff to sales 7.8.0", and we have implemented our custom process for it. But the OOTB BP gets triggered from its parent BP "Lead management 7.8.0".



Approach 1:



I have overridden the process "Lead management 7.8.0" by removing the Sub-Process "Handoff to sales 7.8.0" and saving it in a newer version.

Ref Img,



Also updated the system setting value of "LeadmanagementProcess" to the newer BP name. But when we try to run the flow the BP is not triggered and there is no error in the console when tried to debug, it's getting the right process from the value from SysSetting, but for no reason, the process is not been triggered and no logs found.



Approach 2:



I have overridden the process "Handoff to sales 7.8.0", in such a way when the process gets triggered it will terminate by not performing any logic.



Ref Image,





But when we run the flow it throws the below error.





Kindly, help us in identifying best way not to trigger "Handoff to sales 7.8.0" process ?



 

Like 0

Like

2 comments

Hello,

 

Please note that Lead management process 7.8.0 is a complex process that consists of sub-processes that are triggered by the lead status change.



You can open it from the Process library to analyze its logic and understand how it works. If you want to customize it, you need to copy this process or create a new one, then disable the standard process and enable your own.



Here is more detailed info about the standard lead management process: https://academy.creatio.com/docs/user/marketing_tools/leads/lead_management_process_shortcut/lead_management_process

Kalymbet Anastasia,

I just wanted to deactivate the BP - "Handoff to sales 7.8.0". Even though I deactivated it manually it tries to run from the parent process called from the "LeadmanagementProcess". I made an exact copy of the "LeadmanagementProcess" removed the subprocess calling HandOff to Sales and changed the system setting value. But there is no error and the process is unable to trigger (Approach-1, mentioned above).



What is the best and easiest way to deactivate "HandOff to sales 7.8.0" BP without disturbing mostly on other items?

Show all comments

Hello Community,

I have created a button in a MiniPage which via the ProcessModuleUtilities executes a business proccess.

 

This business process has simple logic, its reponsible for opening a preconfigured page.

 

I want that when clicking the button, the preconfigured page is opened in a new Browser Window

How can that be achieved

Sasori

Like 0

Like

5 comments

Hello Sasori,

 

There is no option to achieve the task required in your case unfortunately even using NetworkUtilities or message sending from the server to the client. I've registered this as a suggestion to our core R&D team so they could add this feature in the next application releases. Thank you for helping us in making the application better!

Hello Oleg,

Thank you for you quick reply.

 

As a workaround for the solution of this businnes need can be the answer to this community post that i have created

https://community.creatio.com/questions/open-city-edit-page-new-browser…

I have managed to open the CityPageV2 in a new tab

 

openNewTab: function () {
				var requestUrl = ["http://localhost:9004/0/Nui/ViewModule.aspx#CardModuleV2/CityPageV2/edit/"]
				 window.open(requestUrl, '_blank');
			}

But my last problem is that i want to open the page in ADDMode not EditMode. Shpuld i modify the requestURL ?

Sasori Oshigaki,

 

this is what I was talking about - there is no way to open a preconfigured page inside the process since it has no particular link, it's a business process page. When you add a new record to the city pay attention to the link in the browser and you will see that it's not changed.

Oleg Drobina,

When i click new from the Modal Window

I am redirected to the CityPage in ADD mode

If I mimic this behaviour from that custom button that I have Created, and place it in a new Browser Window, I can achieve my business need. 

I know that the responsible method is getSelectionControlsConfig in LookupPageViewGenerator schema.

But can you provide with a similar example ? Or a workaround to achieve my business need ?

If you still think that there no way of doing this, i will interrupt my research.

Your help is much appreciated Oleg.

Thank you

Oleg Drobina,

I managed to solve the business need via a workaround. Thank you 

Show all comments

Hello Creatio Community,

When clicking a button, we want to be directed on the City Edit page on a new broswer window, having the possiblity to add e new City.

How can this be achieved ?

Sasori

Like 0

Like

4 comments
Best reply

Hello Sasori,

 

This cannot be achieved in the current application version since there is no direct link to call on creating a new record (we can only pass the URL to the window.open). A new record is created via the addRecord method that in the final steps call the openCardInChain method that passes the operation: ConfigurationEnums.CardStateV2.ADD. This cannot be done with opening the new window. But I will create a suggestion for our R&D team to add this funcitonality in one of the future releases. Thank you for helping us in making the app better! 

Hello Sasori,

 

This cannot be achieved in the current application version since there is no direct link to call on creating a new record (we can only pass the URL to the window.open). A new record is created via the addRecord method that in the final steps call the openCardInChain method that passes the operation: ConfigurationEnums.CardStateV2.ADD. This cannot be done with opening the new window. But I will create a suggestion for our R&D team to add this funcitonality in one of the future releases. Thank you for helping us in making the app better! 

Thank you Oleg !

hello there, is this functionnality available now with the new version release ? thanks a lot, Olivia

Capdevielle Olivia,

 

Hello,

 

This suggestion I registered is in the "Accepted" status so we expect this feature to be added in the app. Once it's developed and implemented we will notify about it in the Release notes of the version.

Show all comments