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

1 comments

Hello,

 

Here are a few additional steps you can take to troubleshoot the issue:

  • Ensure that the validation logic in your sub-processes is correctly implemented and that it returns the expected results.
  • Double-check the transition conditions between stages to ensure they are correctly configured and that they match the output of your validation logic.
  • Look at the case logs to see if there are any errors or warnings that might give you more insight into why the stage is not progressing.
  • Try testing the process with different sets of data to see if the issue is data-specific.
  • Ensure that the user executing the process has the necessary permissions to move the case forward.
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

Hi Community,

 

We have this requirement, where we need to receive a complex json object and then store it in our database as a string, without using DataContracts.

 

To achieve this we though about using the "object" type and then serialize it into a string using JsonConvert.SerializeObject method. 

 

	  [OperationContract]
	  [WebInvoke(Method = "POST", UriTemplate = "/store", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
      public Response AddStore(object store) {
 
         Response response = new Response();
         response.MessageId = "1";
         response.Description = "Store Inserted!";
 
        string storeString = JsonConvert.SerializeObject(store, Formatting.Indented);
 
        var ins = new Insert(UserConnection)
        .Into("ImdStagingInArticle")
        .Set("ImdMessage", Column.Parameter(storeString))
        .Set("ImdStateId", Column.Parameter(new Guid("2d1dee23-058b-45fe-95a0-2e1612fc4261")));
 
        ins.Execute();
 
        return response;   
      }

 

However, the string is always empty. 

 

Since the json is to complex, the serializer cannot process the entire json data. 

 

We also tried to use WebOperationContext, but that doesn't work.

 

Can someone help us solve this issue? Did anyone have something similar?

 

Thank you.

Like 0

Like

7 comments

Hi,

 

First of all you need to make sure that you can convert the object into a string in general. Like create a Visual Studio project, add the logic to convert the object into a string using JsonSerializer like

 

string jsonString = JsonSerializer.Serialize(myObject); Console.WriteLine(jsonString);

 

And see the result. After the number of tests find the way when the data you pass is converted into the string and then start developing an additional logic of storing this data in the Creatio database using the insert query you used.

 

Alternatively find the way to make the object to have a constant set of keys so to be sure it will be converted to the string as needed.

Oleg Drobina,

 

After some changes I got it to work, by reading the raw body before the automatic parsing. However, this is working only on our Linux environment. As for for windows environment (Creatio Cloud), we are receiving some parse errors. 

 

      [OperationContract]
      [WebInvoke(Method = "POST", UriTemplate = "/article", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
      public Response AddArticle(string articleJson) {
 
        string result = "";
        Stream inputStream = HttpContext.Current.Request.Body;
 
        inputStream.Position = 0;
        using (StreamReader reader = new StreamReader(inputStream, Encoding.UTF8))
        {
            result = reader.ReadToEnd();
        }
 
        var parsedJson = JsonConvert.DeserializeObject(result);
        string jsonString = JsonConvert.SerializeObject(parsedJson, Formatting.Indented);
 
 
 
 
 
        Response response = new Response();
        response.MessageId = "1";
        response.Description = "Article Inserted!";
 
 
 
        var ins = new Insert(UserConnection)
        .Into("ImdStagingInArticle")
        .Set("ImdMessage", Column.Parameter(jsonString))
        .Set("ImdStateId", Column.Parameter(new Guid("2d1dee23-058b-45fe-95a0-2e1612fc4261")));
        ins.Execute();
 
        inputStream.Close();
 
        return response;  
      }

 

What could be the cause for such weird behaviour?

 

Thank you.
      

 

Pedro Pinheiro,

 

Well, it shouldn't happen. Maybe there is still some difference in the content we pass in the local machine and in the Windows machine?

Oleg Drobina,

 

The requests are the same for both local and cloud environments, except the address and credentials.

 

However, when I execute the request on the cloud environment I get this error:

 

 <p class="heading1">Request Error</p>
       <p>The server encountered an error processing the request. The exception message is 'This method or property is
           not supported after HttpRequest.GetBufferlessInputStream has been invoked.'. See server logs for more
           details. The exception stack trace is: </p>
       <p> at System.Web.HttpRequest.get_InputStream()
           at Terrasoft.Configuration.ImdArticleAPI.ArticleAPI.AddArticle(Object article)
           at SyncInvokeAddArticle(Object , Object[] , Object[] )
           at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp;
           outputs)
           at Terrasoft.Web.Common.ServiceModel.ThreadContextInitializer.Invoke(Object instance, Object[] inputs,
           Object[]&amp; outputs)
           at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
           at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
           at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&amp; rpc)
           at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</p>

 

Have you encountered something similiar? What could be the cause for such error?

 

Thank you.

 

Pedro Pinheiro,

 

Creatio doesn’t know how to serialize/deserialize object. If you change object to string in Response AddStore(object store) you will be able to parse it with JsonParser of your choice.

Kirill Krylov CPA,

 

The problem is, if I change it to string I can only send strings to this endpoint (The Json must be converted to a string). Because, if I try to send a Json Object I get "400 Bad Request".

 

 

 

Hello everyone,

 

I managed to get it working by receiving the body as a Stream instead of a String.

 

With this solution, I don't get the "400 Bad request" and I can process any Json object.

 

I don't know if this is the best solution, but it's working for now.
 

	  [OperationContract]
      [WebInvoke(Method = "POST", UriTemplate = "/article", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
      public Response AddArticle(Stream requestBody) {
 
        string result = "";
 
        using (StreamReader reader = new StreamReader(requestBody, Encoding.UTF8))
        {
            result = reader.ReadToEnd();
        }
 
        var parsedJson = JsonConvert.DeserializeObject(result);
        string jsonString = JsonConvert.SerializeObject(parsedJson, Formatting.Indented);
 
        Response response = new Response();
        response.MessageId = "1";
        response.Description = "Article Inserted!";
 
        var ins = new Insert(UserConnection)
        .Into("ImdStagingInArticle")
        .Set("ImdMessage", Column.Parameter(jsonString))
        .Set("ImdStateId", Column.Parameter(new Guid("2d1dee23-058b-45fe-95a0-2e1612fc4261")));
        ins.Execute();
 
        return response;  
      }

 

Feel free to give any feedback on this solution.

 

Thank you.

 

Show all comments

In the classic UI, the timeline showed portal messages.

 

However in the Freedom UI, portal messages are not available to select:

 

They are not available as an option in the timeline settings.

 

How do we enable these?

Like 1

Like

4 comments

I believe in Freedom UI cases, portal messages are just Feed messages (with the External property set). For the filter, you'd just set the option for Feed to see portal messages.

Ryan

Hi Ryan, thanks for the reply. I thought the same but they are not showing on our system.  Will have to log it with Creatio Support.

Hi Kieron!

To display portal feed messages in the timeline, you need to first allow external users to publish Feed messages:

 

After, these portal feed messages will be automatically displayed in the timeline.

I hope this helps. Have a great day!

Alina Yakovlieva,

Hi, that setting will display the messages in the Feed panel, but they still do not appear in the timeline.

Show all comments

How can I enable Creatio Copilot in on-premise creatio site?

Like 4

Like

2 comments
Best reply

Hello,

 

Please be informed that currently, there is no ability to use Creatio AI in the environments deployed locally (on-site), therefore it is not possible to set this functionality up on your site. However, we have planned a task for our R&D team to support this feature in future releases.

Hello,

 

Please be informed that currently, there is no ability to use Creatio AI in the environments deployed locally (on-site), therefore it is not possible to set this functionality up on your site. However, we have planned a task for our R&D team to support this feature in future releases.

Last roadmap I saw, it was planned for a first iteration of Creatio Copilot (now AI) in version 8.2.2 (next release) for on-premise versions , let's see if it will be the case or not 😊. Curious to see what additional infrastructure we need to put into place to handle the additional microservices.

Show all comments

Hi Community,

I noticed that in the Business Process Configuration, we can set a Static value when open a page.

Is there a workaround to set a static value when opening the page through the page editor configuration or client-side code?

 

Setup via page editor(Can't set static value)

Setup via code (without setup param)

Like 0

Like

4 comments
Best reply

Resolved using client-side code customization

Hello,
If the page is opened outside of a business process but still requires a static value to be applied, the page must represent an object. You can achieve this by setting up a business rule.

In the business rule, you can define an "If" condition to check whether the necessary field is empty. If it is, the rule will automatically assign the desired value to that field.

Hello Nick,

Thank you for your response.

The reason I want to set a static value for the page parameter when opening the page is that I have a modal for confirming the delete process. The value from the page parameter will be used to determine which object is being deleted when the "YES" button is clicked.

That's why I need to assign a static value to the page parameter based on where the confirmation modal is being used. Currently, i can set static value using the Business Process (BP), but I don’t think it’s good practice to rely on BP only for opening the page.

Unfortunately, there are no default values for page parameters at the moment. I will register this idea for future development.
As for now, this can only be implemented via BP or through development.

Resolved using client-side code customization

Show all comments

Hello,

 

Our code, that opens a page in Classic UI in v8.0.4, doesn't work in 8.2.1

this.openCardInChain({
   schemaName: "UsrCustomSectionVisaPageV2",
   operation: ConfigurationEnums.CardStateV2.EDIT,
   id: this.get("Id"),
   renderTo: "centerPanel"
});

 

In 8.2.1 we get only BodyMask (blank page). Sometimes after browser refresh page is open.

What can be a reason of such behavior?

 

Thank you

Like 1

Like

2 comments

Hello Vladimir,

The code looks correct, according to the screenshot. To obtain more information about why the logic stopped working, I recommend debugging the system.

One of the possible solutions is to add the Enums to the Module:

define("UsrCustomSectionVisaPageV2", ["ConfigurationEnums"],
  function(ConfigurationEnums) {//....}

Best regards, Anhelina!

Nothing has helped with openCardInChain.

We have used OpenCard instead - it works

 

Kind regards,

Vladimir

Show all comments

I recently completed the Development on Creatio guided learning course. With my instructor's assistance, I set up a local Creatio instance—labeled Dev1_DEV—on my Windows server.
 

After switching my D1_DEV local development environment to use File System Development Mode instead of the default Creatio IDE mode, I encountered an issue where my Creatio instance failed to load the necessary JS files related to SectionModuleV2 for Classic UI sections (e.g., System Settings, Lookups). I reverted my Web.Config file changes to disable File System Development Mode, which resolved the issue.
 

For reference, I have attached screenshots of the error messages from my console when attempting to access Classic UI sections while File System Development Mode was enabled.
 

Could you help me understand why switching to File System Development Mode prevents access to the required JS files for Classic UI sections? Aside from modifying the Web.Config file, I did not make any other changes to the system. 

Any guidance on resolving this would be greatly appreciated.

Like 0

Like

7 comments

Hello,

 

We recommend checking if all the steps from the article have been completed:

https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

 

For example, ensure that these values are set:

<fileDesignMode enabled="true"/>
...
<add key="UseStaticFileContent" value="false"/>


All steps must be completed.

Hello Kalymbet,
Hope all is well. 

Thank you for providing that link. I followed its steps listed on the page as follows: 
Enabled file design mode
Disabled UseStaticFileContent 
Compiled my instance (no errors)
Downloaded packages to file system successfully (no errors)
Gave IIS Usr full access to the Terrasoft.Configuration file

I still received the same error. It looks like it is not able to find the SectionModuleV2.js file. 




 

Kalymbet Anastasia,

 

Hello,
 

We also recommend that the user under which the application pool is running should also have full access to the {rootAppFolder}\Terrasoft.WebApp folder

Folder access

Serhii Parfentiev,

Thank you for the suggestion. I added Full control access to the IIS User for the Terrasoft.WebApp folder and I still received the same issue. For reference, I attached an image of the Terrasoft.WebApp security properties. 

 

Hello,
Could you please verify under which user the Application Pool is running? If you have changed the user, please make sure to grant permissions for this user too.

If this doesn't help, additionally please try the following scenario:
1) Deploy the application.
2) Authorize and allow the inner part of the application to initialize (after login, wait for the application to finish loading).
3) Only after that, make changes in the Web.config file to enable development on the file system and follow further instructions. 

Show all comments