Hello all,

When we tried to upload any file in Attachment detail, FileApiService is called and the file gets uploaded successfully.





When I tried to call the same API in postman, bypassing all headers and Query parameter it resulted in an error stating that: 'Can't parse file length'. I have no clue why the error is popped up.





Kindly help me in solving this issue.



Thanks and Regards,

Adharsh S

Like 0

Like

3 comments

Dear Adharsh,

 

Most probably, the issue happened because you didn’t specify a body of the request. The body contains file data in binary format. You can see it in the “Request payload” section from the “Headers” tab:

 

 

As data is in the binary format, so it is impossible to call the “FileApiService” using Postman. Please debug the client code of the application in order to determine how this service is called in Creatio.

 

Best regards,

Norton

Norton Lingard,



I have specified the request body, to add the binary files in Postman by adding the binary file in the "Body" tab of the "binary" option. But still the same result.





Even I have added the actual file in the "form-data" option under the "Body" tab. But the same error persists. Let me check by debugging the client code.



Regards,

Adharsh S

Dear Adharsh,

 

Please debug the client code of the application in order to determine how this service is called In Creatio. Please take a look at the “upload” function that is located in the “ConfigurationFileApi” schema.

 

Best regards,

Norton

Show all comments

Dear mates,

I can not find why, on my development environment, my Put oData Call return me an permission error:

403 - Forbidden: Access is denied

You do not have permission to view this directory or page using the credentials that you supplied.

The rights are the same that on our production environment and it's working fine in production.

Does anybody have an idea to solve this issue please.

Thank you,

Nicolas

Like 0

Like

2 comments

Dear Nicolas, 

 

403 error means that you are not passing all needed authentication cookies and headers in the request. Please make sure that you are calling Auth service with correct credentials and that you use all necessary cookies and headers that you receive from the response(.ASPXAUTH, BPMCSRF): 

https://academy.creatio.com/documents/technic-sdk/7-16/authentication-external-requests

https://academy.creatio.com/documents/technic-sdk/7-16/executing-odata-queries-using-fiddler

 

Best regards, 

Dennis 

Thank you Denis,

 

You are right, so i will check my functions.

 

Have a nice day

Show all comments

What is the recommended approach for Production and Development environments, regarding Customer ID ? should we use separate CIDs or share the same CID?

What is shared between the two environments when sharing the same CID?

What is the impact when exporting/importing packages when using different CIDs ?

Like 0

Like

1 comments

Hello! 

 

Customer ID is a specific number that indicates the client in our system. Customer ID is closely linked to licenses. There is no technical difference between using separate IDs for development/production environments and sharing the same CIDs. As well, there is no technical impact on exporting/importing packages when using different CIDs. 

 

Please, let us know in case any further information is required. 

 

Best regards,

Olga. 

Show all comments

Hello community!



While we are going ahead with a certain set of Creatio modules (Eg Service, Portal) for the 1st phase of an implementation, in all likely hood, we will include more modules (Eg Marketing) down the line. There will be some shared objects (default and custom) that we need access to across both sets of modules.



Does this impact our development approach in any way? If we work on top of a custom package in Phase 1, Can we continue using the same package in the future as well?



Pls let us know if there are any challenges to doing this and anything that we need to be wary of while implementing the first phase.

Like 0

Like

1 comments

Hello,

 

We do not recommend to use a Custom package to store implemented changes. If you meant just any custom package then yes, you may develop all changes in one package. It is up to you on how to distribute customisations. Most important is to remember all connections and keep in mind what changes are added in what package and how changes are connected. 

 

Best regards,

Angela

Show all comments



Dear community,

 

I want to know how can I add a filter in the field "To" when we are on the Contact's page.

Let's me explain :

I want to have for example only the email address of the Contact who have got the Type : "Supplier".

 

In my idea I want to have only the email address of the Contact who are defined as a "Supplier"

And not all email addresses

 

Is somebody know if it's possible?

 

Thanks a lot.

Like 0

Like

1 comments

Dear Marvyn, 

 

You can create a filter following the steps in the academy page below: 

https://academy.creatio.com/documents/technic-sdk/7-16/using-filtration-lookup-fields-examples

The object for this lookup is VwRecepientEmail, you can set up the necessary filters as in the academy page, and this way the records in this lookup will be limited to the ones that match the filter. 

 

Best regards, 

Dennis 

Show all comments

Hello Community!



The Creatio documentation suggests that basic authentication is only available for the OData API and not for a custom configuration web service. Anonymous/Forms authentication are the only 2 ways to authenticate for configuration web services. Would like to reconfirm this.



A typical system integration use case is the following - 

1. Creatio pings an external product/system asking it to do some asynchronous processing. 

2. External product/system pings a Creatio custom configuration call back to inform it regarding the status.

 

Typically, external products only permit registering a callback URL and do not provide for customization to do forms authentication with Creatio. How does one over come this? One way is to make the call back permit anonymous authentication but this is a bad security practice. Is there a way to enable basic authentication for custom configuration services on Creatio?

Like 0

Like

4 comments

Hello! 

 

Custom configuration service becomes available after user authentication via the AuthService.svc. If you don't have a possibility to call it directly from your integration you can create another layer of service from your side to send a response from external product and call auth service and after that configuration web service. 

https://academy.creatio.com/documents/technic-sdk/7-16/creating-configuration-service

 

Best regards, 

Dennis 

Dennis Hudson,

Hi Dennis. We are not in a position to do any customization on the external system side.



Is there anything we can do on Creatio's side to facilitate this?

M Shrikanth,

 

The only way to bypass the Auth service for configuration web services is to create an anonymous web service. As a workaround, you can path login and password to the method in this service and check the validity of credentials in this service using auth service.

Thank you Dennis!

Show all comments

Hello all,

 

I am trying to create business process where the user is able to select an email template, decide whether or not they want to include the attachments from the object in the email (i.e. if they are sending from a document record, include the attachments from the document record), and then have the chance to customize the email before sending.

 

I have figured out a couple ways to include the attachments with the email but I can't figure out how to allow the user to select the template. Is there a way I can pass an email template into the "Send email" Process element? 

Like 0

Like

2 comments

Dear Kevin,

 

You can use Auto-generated page and show lookup with templates so the user could select them, or forward the user to Templates lookup. Process "Send email to case group" is a great example of how to fill macro values in the template and then send it as an email automatically. Check "Handle template for email with macros" element for more details. 

 

Best regards,

Angela

Hi Kevin,



I am curious what did you do to solve your problem?

I am experiencing a weird bug now actually. Every time i visit my business process it clears the templateId i set on advance mode.

 

Can you enlighten me?



Best Regards,

Solem

Show all comments

Hello

 

Is it possible in Creatio to add System Setting as a parameter to the email body?

 

Couldn't find any example of that.

 

Like 0

Like

3 comments

Hi!

Can you please give some more details on your business task? 

 

Regards,

Dean

Dear Oren,

 

In general you can input the system setting as the parameter into the subject of the email, but if you want to use it as kind of macros in the email body - that will not work. The parameter doesn't work in the same way as marcos, therefore it will not be recognized.

 

Regards,

Dean 

Thanks Dean

Show all comments

Hi all,

 

Is there a way to disable the OOTB features of contact full name concatenation ?

 

I searched for trigger, process, ... but no luck.

Like 0

Like

1 comments

Dear Jerome,

 

When the full name is added system divides it to the First/Last name according to the system setting "Order of first/last names". You can make it empty to disable such logic.

 

Best regards,

Angela

Show all comments

Dear community,

 

How to add a custom button (to start the process for this activity) to the action dashboard for only one section (for ex. Case)?

 

Thanks 

Regards

Like 0

Like

7 comments

Dear Mariia,

 

You need to create a module and Extend BaseDashboardItemViewConfig cancel button. Here is the button code example:

 

define("UsrDashboardItemViewConfig", ["BaseDashboardItemViewConfig"], function() {

    Ext.define("Terrasoft.configuration.UsrDashboardItemViewConfig", {

        extend: "Terrasoft.BaseDashboardItemViewConfig",

        alternateClassName: "Terrasoft.UsrDashboardItemViewConfig",

        getActionsViewConfig: function() {

            return {

                "name": "Actions",

                "itemType": Terrasoft.ViewItemType.CONTAINER,

                "classes": {wrapClassName: ["dashboard-item-actions on-hover-visible"]},

                "items": [

                    {

                        "name": "Cancel",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "style": Terrasoft.controls.ButtonEnums.style.BLUE,

                        "caption": {"bindTo": "CancelButtonCaption"},

                        "click": {"bindTo": "onCancelButtonClick"},

                        "classes": {

                            "textClass": "dashboard-item-right"

                        },

                        "visible": {"bindTo": "CancelButtonVisible"}

                    },

                    {

                        "name": "Cancel2",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "style": Terrasoft.controls.ButtonEnums.style.BLUE,

                        "caption": "TEST",

                        "click": {"bindTo": "onCancelButtonClick"},

                        "classes": {

                            "textClass": "dashboard-item-right"

                        },

                        "visible": {"bindTo": "ExecuteButtonVisible"}

                    },

                    {

                        "name": "Execute",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "style": Terrasoft.controls.ButtonEnums.style.GREEN,

                        "caption": {"bindTo": "ExecuteButtonCaption"},

                        "click": {"bindTo": "onExecuteButtonClick"},

                        "classes": {

                            "textClass": "dashboard-item-right"

                        },

                        "visible": {"bindTo": "ExecuteButtonVisible"}

                    }

                ]

            };

        }

    });

});

Create replacing client module of SectionActionsDashboard

define("SectionActionsDashboard", ["UsrDashboardItemViewConfig"], function() {

    return {

        

        methods: {

            initDashboardConfig: function() {

                this.callParent(arguments);

                const dashboardConfig = this.get("DashboardConfig");

                var activityItemsConfig = {

                    "Activity": {

                        viewModelClassName: "Terrasoft.ActivityDashboardItemViewModel",

                        viewConfigClassName: "Terrasoft.BaseDashboardItemViewConfig"

                    }

                };

                if (this.$entitySchemaName === "Case") {

                    activityItemsConfig.Activity.viewConfigClassName = "Terrasoft.UsrDashboardItemViewConfig";

                }

                Ext.merge(dashboardConfig, activityItemsConfig);

                this.set("DashboardConfig", dashboardConfig);

            }

        }

    };

});

 

Regards,

Dean

Dean Parrett,

 

Thank you for your answer.

I have one more question about this:

How to add another custom "UsrDescription" column to the action dashboard ?

I tried to overload the method

 

/**

             * @inheritdoc Terrasoft.EntityDashboardItemViewModel#addQueryColumns

             * @overridden

             */

            addQueryColumns: function(esq) {

                this.callParent(arguments);

                esq.addColumn("Title", "Caption");

                esq.addColumn("Type");

                esq.addColumn("StartDate", "Date");

                esq.addColumn("Owner.Name", "Owner");

                esq.addColumn("ProcessElementId");

                esq.addColumn("UsrDescription", "Description");

            },

but it didn't work.

 

 

Thank you in advance for your answer.

 

Best regards,

Mariia

Mariia Prostiak,

 

The columns in the action dashboard are columns of activity so you need to add it on activity object first. To add it on the activity card on the action dashboard please see the community article below:

https://community.creatio.com/questions/change-task-displayed-fields

 

Best regards, 

Dennis 

Dean Parrett,

 

Can you please help me with the Model Part (ActivityDashboardItemViewModel) of the code where I have to Link the button to a business process??

Thank You in Advance,

Venkatesh

Venkatesh Sundaram,

 

Hello!

Could you please explain your issue in more detail?

 

Best regards,

Max.

Max,

 

Hello!

To make the Attached button in the Activity Element Function, i.e., For Example- If the attached button is a Cancel Button which on click should direct to another stage(Canceled) in the DCM Cycle.

Attached a Image for my request. Help me in this.

Thanks,

Venkatesh.

 

Venkatesh Sundaram,

 

If this activity is created by the DCM and the button sets the activity's status to "Canceled", you can just go into the DCM setup and set it to go to the "Canceled" stage if the activity's status is "Canceled":

 

Best regards,

Max.

Show all comments