Hi,

 

Is there a way to log the merge while using the 'find and merge duplicates' function? If I merge 2 Contacts, will I be able to see the merge in the Change log or somewhere else in the system?

 

Thank you!

Like 2

Like

1 comments

Hello,

 

Thank you for your question. Unfortunately, it is not possible to set up logging for the "Merge duplicates" action at the moment. However, we have registered this idea for our R&D team and they will review the possibility of adding such functionality in future releases.

Show all comments

Hello community,

 

I have developed a service in Creatio that will be called from third parties. The service is called successfully in postman but programmatically it doesn't work. The authentication works fine and returns status code 200 and the BPMCSRF cookie. When the third party tries to call the service it gives the following message "401 - Unauthorized: Access is denied due to invalid credentials."  How can we investigate this issue? Does Creatio offer a logging option so we can investigate the request and response or is there something else that we have forgotten during the implementation of this service?

Like 0

Like

1 comments

Hello,

 

Please try using OAuth authentication to work with your service.

More details on the academy website:

https://academy.creatio.com/docs/user/customization_tools/web_services/…

Show all comments

Hello Everyone.

I want to log in a separate file every communication with a Web-Service (request , response time etc).Is there any built-in , or tools from Marketplace to realize this task. Or I should customize the source -code.  

Like 0

Like

3 comments
Best reply

Petrika,

 

Perfect, then additionally you can use the same approach with EntitySchemaQuery, but create record is some section and then use the standard "Export to excel" functionality to get the file with request calls. So each time something is calling the GetErSumSq method you can create a record in some separate section (for example called "Integration call" and add information like DateTime.Now (to get the date and time when the method was called and which value was returned (sum))). Also you can try looking into the HttpContext, HttpContextAccessor and AppConnection to see which information is available there that can be used to additionally log the method call.

 

Best regards,

Oscar

Hi Petrika,

 

This should be done directly in the code of the 3rd party endpoint to which the call is performed (in case we are discussing the 3rd party webservice call from the business process). Logs of the integration call on the Creatio side are accessible only via standard IIS logs. Or you can enable the process tracing to see the status of the call.

 

In case the webservice is stored in the Creatio configuration (standard anonymous or regular webservice) then you can either add a part of inserting a record to some specific table in Creatio (via InsertQuery class for example) and retrieve data from there.

 

Best regards,

Oscar

Thank you very much for your immediate response Oscar. I have got an idea now.  This is what i am trying to do. I have created a button in the Front-End (Get Sum Ws) which calls in the Back-End a basic web service that caculates the sum of the AmountHC in Details Rows.

This is the code in the back-end

namespace test1323.Files.cs
{
    [EntityEventListener(SchemaName = "PetrikaExpenseReport")]
    [ServiceContract]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    class DemoService : BaseService
    {
 
        [OperationContract]
        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json)]
 
        public decimal GetErSumSq(string name) 
        {
 
            EntitySchemaQuery entity = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "PetrikaExpenseReport"); 
 
            entity.AddColumn("Id");
            entity.AddColumn("PetrikaTotalAmount");
            entity.AddColumn("PetrikaName");
            entity.PrimaryQueryColumn.IsVisible = true;                                                                   
 
            IEntitySchemaQueryFilterItem parentfilter =
            entity.CreateFilterWithParameters(FilterComparisonType.Equal,"PetrikaName",name);
            entity.Filters.Add(parentfilter);                                                                            
            EntityCollection records = entity.GetEntityCollection(UserConnection);                                      
            Guid parentId = records[0].GetTypedColumnValue<Guid>("Id");
 
           EntitySchemaQuery rows = new EntitySchemaQuery(UserConnection.EntitySchemaManager, 
           "PetrikaExpenseReportLines");
 
            rows.AddColumn("PetrikaAmountHC");
            rows.AddColumn("PetrikaAmountFC");
            rows.AddColumn("Id");
 
            IEntitySchemaQueryFilterItem childfilter =
            rows.CreateFilterWithParameters(FilterComparisonType.Equal, "PetrikaExpenseReport", parentId);
            rows.Filters.Add(childfilter);                                                                            
            EntityCollection lines = rows.GetEntityCollection(UserConnection);
 
            decimal sum = decimal.Zero;
 
            foreach (var r in lines) 
            {
                sum = sum + r.GetTypedColumnValue<decimal>("PetrikaAmountHC");
            }
            records[0].SetColumnValue("PetrikaTotalAmount", sum);                                             
            records[0].Save();
            return sum;
        }
}
}

I want to log in a separate file every communication (request , response time etc) with GetErSumSq.

Petrika,

 

Perfect, then additionally you can use the same approach with EntitySchemaQuery, but create record is some section and then use the standard "Export to excel" functionality to get the file with request calls. So each time something is calling the GetErSumSq method you can create a record in some separate section (for example called "Integration call" and add information like DateTime.Now (to get the date and time when the method was called and which value was returned (sum))). Also you can try looking into the HttpContext, HttpContextAccessor and AppConnection to see which information is available there that can be used to additionally log the method call.

 

Best regards,

Oscar

Show all comments

Hello Community,

 

Logging of incoming and outgoing API requests via Custom configuration services in Creatio is a very typical use case wherever system integration is in the picture. Logging the absolute URI, request/response body, response status code, any custom headers added to the request are standard in any enterprise system. 



I could not see any utilities or out of the box features to help log these requests. This is right now done by maintaining custom tables in the DB and logging any incoming or outgoing requests through custom logic.

 

The following features would help - 

  1. Logging inbuilt into the WebService element. It would help to have all outgoing requests using WebService elements be auto logged in the data base and be available for quick reference on the UI. An additional idea could be enabling a 'manual retry' option from the UI for use cases where an outgoing request failed  even after N number of configured retries.
  2. Utility or helper Classes on the server side which assist in tracking outgoing or incoming requests in the data base. A UI view of these logged requests could also help. Right now, we have to use 3rd party logging solutions like Loggly and write custom logic to maintain these logs.
2 comments

Hello!

 

Our R&D team has a problem registered on this topic on their side so to enable easy logging setup in the application UI for custom web-services and this problem is in the "Accepted" status so we can expect this logic implementation in one of the nearest releases. I will also let them know about this community idea so to speed up the problem solution.

 

Thank you for reporting this issue to us and helping us to make the application better!

 

Best regards,

Oscar

Oscar Dylan,

Thank you Oscar.

Show all comments

Hello all

 

We have a Package with a few object schemas and source code schemas and we work out of file development mode. When we upload the files from file system to the application, we get an error saying "The type or namespace name 'Logging' does not exist in the namespace 'Terrasoft.Configuration'. Are you missing an assembly reference". This error happens in a few Autogenerated files (In the C# Class files for new objects we had created).

 

This is weird because we tried installing this on a brand new Vanilla instance and the same issue persist. Few questions below - 

  1. Why does this happen and what is the fix for this?
  2. Is this related to the contents of our package or related to the setup of the instance itself?

Appreciate your help!

 

Like 0

Like

3 comments

Hello Community!



This has been a recurring problem for us with no root cause/fix in sight. Request your help. 

Hello community! Would appreciate your help here

Dear All!

 

We apologize for missing this Community question.

 

Could you please advise if you are seeing an error or a warning?

Is it possible for you to share a screenshot?

In addition, after you receive this message, have you tried 1. Generating the source code and then 2.Compiling the system and checking if there is the same message?

 

Usually Generating the source code and then compiling the system helps to resolve this issue.

 

Looking forward to your response!

 

Thank you!

Regards,

Danyil

Show all comments