Hello Community,

In this article it is described on how to deal with selection windows crt.OpenSelectionWindowRequest. https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/8.1/platform-customization/freedom-ui/selection-window/overview

but no information at all about predefined values.

Is there any possibilty that when clicking 'NEW' there are some predefined default values?

Example

The Account type is set to 'Our Company'

Thank you,

Sasori

Like 0

Like

1 comments

Hello,
 

You don't need to use programming for this task.
You need to create an object replacement (in your example, an Account object replacement), in which you can set the default value for the corresponding columns, save the changes, and publish the object.

defValue
defValue


 After that, when you open the pages of creating records, you will see the fields immediately filled with the default values.

defValue in Runtime

These links can also be useful for you to find more options for achieving your goal:

https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/development-tools/creatio-ide/configuration-elements/object

https://community.creatio.com/questions/it-possible-set-default-value-f…

Thank you.

Show all comments

Hello!
I created a new Functional role with oData operations permission and add it to User. 
Using Postman can GET data from "Contact" collection with this User credentials. It also can create new Contact using POST method.
PATCH returns:  403 - Forbidden: Access is denied
DELETE returns:  405 - HTTP verb used to access this page is not allowed

What permissions I have to grant to this Functionsl role and how?

This instruction
https://academy.creatio.com/docs/developer/integrations_and_api/data_se…
say for 405
"The response should contain the Allow header with the list of request methods the resource supports."
Postman returns:
 405 - HTTP verb used to access this page is not allowed

 The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.

 

Can you help?

Like 0

Like

1 comments

Greetings! 

 

For the user to work through OData, you need to grant them access using the CanUseODataService code in the Operation permissions section. 

Show all comments

Hi everyone,
 

The requirement is to show all the Opportunity irrespective of the Account selected .Now it is being filter by Account. I'm trying to find the module where the implementation is done. I have attached the screenshots below for the reference .






Could someone help me with this ?

Regards,
Hindujashiri.
 

Like 0

Like

1 comments

Hello,

We have performed several tests and here is the result: 
if you go to "Not processed" folder and find any email that is not bound to any contact or account - you will be able to bind it to any opportunity in the application. 

But if you find any email that is already bound to a contact or account - then you will only be able to bind this email to the opportunity where this contact or account is a customer. 

This won't work if the account and contact are not bound to each other (for example, contact is not primary for an account or not connected to an account). 

We will create a separate idea for our R&D team so to develop this new functionality of binding email data. 

Best regards,
Antonii.

Show all comments

Hi,

 

I want to make a validator that endDate cannot be erlier than leave startDate, in endDate field in viewModelConfigDiff,

Expectation:

 

My Code:

 

"PDS_UsrLeaveEndDate_quo1xia": {
	"modelConfig": {
		"path": "PDS.UsrLeaveEndDate"
	},
	"validators": {
		"MySuperValidator2": {
			"type": "usr.FutureDateValidator2",
			"params": {
				"message": "#ResourceString(EndDateWarning)#",
				"startDate": "PDS_UsrLeaveStartDate_apq3vdm"
			}
		}
	}
}

 

   "usr.FutureDateValidator2": {
                validator: function (config) {
                    return function (control) {
                        let value = control.value;
                       let startDate =  config.startDate;
                        let valueIsCorrect = value > startDate;
                        var result;
                        if (valueIsCorrect) {
                            result = null;
                        } else {
                         console.log(startDate);
                         console.log(value);
                            result = {
                                "usr.FutureDateValidator2": { 
                                    message: config.message
                                }
                            };
                        }
                        return result;
                    };
                },
                params: [
                    {
                        name: "message"
                    },
                 {
                        name: "startDate"
                    }
                ],
                async: false
            },

 

But, value of startDate from the params is a String, how to get the actual value?

 

Thank you

Like 0

Like

0 comments
Show all comments

Hi all,

 

I would like to know if and how it is possible to add a font for configuring email account signature.

 

Best regards

 

stefano

 

Like 0

Like

1 comments

Hello,

To upload new fonts and use them in emails, you need to change the values of the system settings "CKEditor fonts list" ("CKEditor fonts list") and "CKEditor default font" ("CKEditor default font"). 

The "CKEditor fonts list" system setting is responsible for which font you will be able to see in the font drop-down list. It should be added to the beginning of the system setting list, with ";". 

Accordingly, in order to use this font, they just need to be installed on the server as a regular font. 

It is also necessary to know that if the recipient does not have this font, he will not see this font.

More information can be found in this instruction.

Best regards,
Antonii.

Show all comments

Hi, everybody!

 

I work on Classic UI. I have a task: to realize opening mini-page instead of full page in Account Lookup by clicking Add Button. 

 

I managed to do it in runtime mode.

 

To do this, it was necessary to make a change to the basic client module  LookupPageViewModelGenerator.js, the needOpenMiniPage method.

But I couldn't override this basic module in the configuration and connect it to my page.

 

Code of my new LookupPageViewModelGenerator:

define("LVLookupPageViewModelGeneratorV2", ["LookupPageViewModelGenerator"], function(LookupPageViewModelGenerator) {
 
Ext.define("Terrasoft.configuration.LVLookupPageViewModelGeneratorV2", {
extend: "Terrasoft.LookupPageViewModelGenerator",
		needOpenMiniPage: function(entitySchemaName) {
		this.lookupInfo.isQuickAdd=true; // додано
		const notUseSilentCreation = !Terrasoft.Features.getIsEnabled("UseSilentCreation");
		const entityStructure = moduleUtils.getEntityStructureByName(entitySchemaName);
		const editPages = entityStructure.pages;
		const hasAddMiniPage = editPages[0].hasAddMiniPage;
		return notUseSilentCreation && this.lookupInfo.isQuickAdd && !Ext.isEmpty(hasAddMiniPage);
				},
    		});
    return Terrasoft.configuration.LVLookupPageViewModelGeneratorV2;
});

 

Code of my page where lookup is contained:

define("ELFinApplicationAccountPage", ["LVLookupPageViewModelGeneratorV2"],  function() {
return  {
entitySchemaName: "FinApplication",
attributes: {},
messages: {},
details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
businessRules: /**SCHEMA_BUSINESS_RULES*/ {}/**SCHEMA_BUSINESS_RULES*/,
methods: {},
diff: /**SCHEMA_DIFF*/[
			{
          operation: "insert",
          name: "LVPartnerWhoRecommended",
          parentName: "AdditionalProfileInfoContainer",
          propertyName: "items",
          values: {
            layout: {
              column: 0,
              row: 6,
              colSpan: 24
            }
          }
        },
         ]/**SCHEMA_DIFF*/
         };
});

 

I wrote this code while I was reading this article: https://community.creatio.com/questions/add-mini-card-contact-lookup-new-optionbutton. But maybe I made a mistake or didn`t take smth into account.

What do I have to do to make this work?

 

Thank you!

Like 3

Like

0 comments
Show all comments

Hello Everyone, 

 

I created a Dynamic DCM that includes some sub-processes to validate lists on my form page. If validated correctly the stage should continue forward. the first stage works just fine it proceeds. When I validate the following one though the stage does not change. I have re-checked my BP multiple times to ensure it has taken the appropriate path and also the result conditions set in order for the case to move forward dynamically and they both check out. Any idea what the issue could be?

Like 0

Like

0 comments
Show all comments

Hi everyone,

I'm facing an issue while configuring mail in my local instance. I have setup the system settings ExchangeListenerServiceUri and Creatio Exchange Events Endpoint URL, same as the academy documentation. The container in the Docker is running there is no issue from the docker side. I have attached the screenshots of the steps I have done  below.

 





Could someone help me to resolve this issue?

 

Thanks in advance!

 

Regards,
Hindujashiri

Like 0

Like

1 comments

Hello,
 

We recommend setting an IP address instead of "localhost" in the system setting BpmonlineExchangeEventsEndpointURL.
 

This is because "localhost" refers to the current machine’s address. The issue arises within Docker, which has its own network inside and a different interpretation of "localhost". 

As a result, when Docker tries to connect to the site’s endpoint, it fails to reach it.
 

To resolve this, we recommend changing the site binding to an IP address or a domain name instead of localhost.
 

Hope this helps!

Show all comments

Hi everyone,

I'm working with Creatio CRM and need to trigger an approval process via API. I have a custom object called EpbSolicitudes, and each request has a unique ID (e.g., 1e80cd00-2cf4-4ecc-a61c-511d7afa3568).
 

My goal is to invoke the approval action programmatically using an API call. Specifically, I want to:

  1. Approve a request via API (either updating the status or calling a process).
  2. Ensure that the approval follows the same workflow as if it were done manually.
  3. Optionally, trigger a BPMN process if needed.
     

I've explored the OData 4 API and DataService API, but I'm unsure of the best approach to handle approvals.

  • Should I update the "NextStep" field in EpbSolicitudes using OData?
  • Is there a built-in API method to invoke the approval process?
  • Can I start an approval process via ProcessEngineService API?

If anyone has experience with automating approvals in Creatio via API, I would appreciate any guidance or examples.
 

Thanks in advance! 🚀

Like 0

Like

1 comments

Hello,

 

If your approval is created using a business process, you can trigger the business process using the ProcessEngineService.svc service https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

Show all comments

Hi all,

 

We have noticed that in formatting options of a Rich Text field there is the possibility to 'Align left', 'Center' and 'Align right'.

 

Is there a way to enable also 'Justify' formatting option?

 

Best Regards

 

Stefano
 

Like 0

Like

1 comments

Dear Stefano,

Unfortunately, currently, there is no option to justify the format in Rich text. 

I have created an idea for the R&D team.


Thank you for making Creatio better!

Show all comments