Running compleateExecution on PreConfigured page i get an error



2021-06-17 11:18:07,964 [366] ERROR ZARZĄDZANIE NT\SYSTEM Terrasoft.Web.Common.ServiceModel.ErrorHandler HandleError - AssemblyQualifiedServiceName = [Terrasoft.Core.ServiceModel.ProcessEngineService, Terrasoft.Core.ServiceModel, Version=7.17.2.1728, Culture=neutral, PublicKeyToken=edaadfbc3b0bb879]

System.NullReferenceException: Object reference not set to an instance of an object.

   at Terrasoft.Core.ServiceModel.ProcessEngineService.GetSchemaParameterValues(UserConnection userConnection, BaseProcessSchemaElement baseSchemaElement, IEnumerable`1 completeParameters)

   at Terrasoft.Core.ServiceModel.ProcessEngineService.CompleteExecuting(CompleteExecutingRequest request)

   at SyncInvokeCompleteExecuting(Object , Object[] , Object[] )

   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)

   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)

   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)

   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)

   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

2021-06-17 11:18:26,697 [358] ERROR ZARZĄDZANIE NT\SYSTEM Terrasoft.Web.Common.ServiceModel.ErrorHandler ProvideFault - Object reference not set to an instance of an object.

System.NullReferenceException: Object reference not set to an instance of an object.

   at Terrasoft.Core.ServiceModel.ProcessEngineService.GetSchemaParameterValues(UserConnection userConnection, BaseProcessSchemaElement baseSchemaElement, IEnumerable`1 completeParameters)

   at Terrasoft.Core.ServiceModel.ProcessEngineService.CompleteExecuting(CompleteExecutingRequest request)

   at SyncInvokeCompleteExecuting(Object , Object[] , Object[] )

   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)

   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)

   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)

   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)

   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

2021-06-17 11:18:26,697 [358] ERROR ZARZĄDZANIE NT\SYSTEM Terrasoft.WebApp.FileWebEventProvider RaiseInternal - Date: 17.06.2021 11:18:26

Date (UTC): 17.06.2021 09:18:26

Exception Message: Object reference not set to an instance of an object.

Exception Type: System.ServiceModel.FaultException`1[System.NullReferenceException]

Exception Source: 

Exception Stack Trace:



SessionID: zl3nd5bqp5z5fgexzrdibnle

Request URL: /0/ServiceModel/ProcessEngineService.svc/CompleteExecuting

Request Path: /0/ServiceModel/ProcessEngineService.svc/CompleteExecuting

Request UrlReferrer: http://localhost:81/0/Nui/ViewModule.aspx

Request Type: POST

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36

User Host Address: ::1

User: Supervisor

Is Authenticated: True

Authentication Type: Forms

Is Secure Connection: False

Application Version: 7.17.2.1728

Application Path: C:\Creatio_7_17\Terrasoft.WebApp\

Application Virtual Path: /0

Application Trust Level: Full

Machine Name: DCG-249

Is Local: True

Process ID: 15220

Process Name: w3wp.exe

Process Account Name: ZARZĄDZANIE NT\SYSTEM

Thread Account Name: ZARZĄDZANIE NT\SYSTEM

OS Version: Microsoft Windows NT 10.0.19042.0

Net Framework Version: 4.0.30319.42000

DBExecutor Type: MSSqlExecutor







the request is: 

{collectExecutionData: true, processElementUId: "05ea0041-ae68-4465-a0d0-c7582ab6c03f"}

URL

http://localhost:81/0/ServiceModel/ProcessEngineService.svc/CompleteExe….



Any ideas?



Regards

Tomek

Like 0

Like

1 comments

Dear Tomasz,



Could you please elaborate more on after what actions do you receive this error?



Thank you in advance.



Best Regards,

Ivanna Yatsura

Show all comments

Hi,

 

We're looking to integrate a Creatio instance with the Mitel telephony system and we installed the MiContact Center connector for the instance. Is the connector a standalone solution to integrate with the phone system or do we still need to have the BPM Messaging Service running in order to establish the connection between Creatio and the phone system?

 

Thanks

Like 0

Like

1 comments

Hello,

 

For Mitel telephony it is not necessary to have BPM Messaging Service. The connector can be used alone. 

 

Regards,

Dean

Show all comments

We have implemented custom section for opportunity similar to OOTB with DCM. The stage movement is restricted to few users as per acess rights. 

  1. The stage movement happens on click and should be allowed only when reason is provided which is captured as detail through pre-config page in business process
  2. if it s cancelled it is reverted back to previous stage.

(Business process is called when on change of value in DCM stage look up happens- through js code in edit page)

 



Right now it is allowing users without edit access to edit the DCM though insuffient permissions error shows up.



Can someone guide me implementing the same or suggest any alternate approach?

Also let us know if this stage  movement can de denied to other valid users unless the current user initiates movement and gives reason or cancels it.

 

Thanks,

Gokul

Like 0

Like

1 comments

Hello,

 

The users can update the record with the processes, even if they do not have rights to edit the record manually. This is longstanding logic. In your case it is better to add some some condition with code. The idea is the following - if the user has to modify the record (the condition is met) - the button becomes visible and user can update the record with the process. Else - the button is not visible on the page.



One more idea is to restrict process launch completely in the process properties. This feature is available in 7.18.0

 

Regards,

Dean

Show all comments

Hi community!

 

I'm trying to set up a call to a web service (the built-in no-code approach), which uses a custom HTTP header for authentication called 'X-API-KEY'.

 

I haven't found a way to add a header to the web service via the UI. Is there some way to achieve this?

 

Thanks,

Robert

Like 0

Like

3 comments

Hi Robert, 

 

Usually such operations is performed by using OData: 

 

https://academy.creatio.com/docs/developer/integrations_and_api/data_se…



https://documenter.getpostman.com/view/10204500/SztHX5Qb?version=latest

 

Please also check out this articles to find some useful tips: 

 

[Call web service] process element -

 

https://academy.creatio.com/docs/user/bpm_tools/process_elements_refere…

 

API Keys - 

 

https://swagger.io/docs/specification/authentication/api-keys/

 

 

Regards, 

 

Bogdan L.

 

 

 

Hi Bogdan,

thanks for the answer!

However, that's not quite what I was looking for ;)

 

I know of OData and how to use it. Unfortunately, the 3rd party service doesn't support it.

What I'm looking for is actually a way to add custom headers to HTTP requests when calling external web services via business processes.

 

I know I could use a script task and program it myself, but I was wondering if it also worked when using the standard web service integration.

 

Thanks,

Robert

Robert Pordes,

 

Actually we don't have practical examples of such implementation. 

 

So in this case as you said you may use a script task to achieve required result. 

 

Probably the link of how to Run business process via web-service will be also useful for you:

 

https://academy.creatio.com/docs/developer/front-end_development/creati…

 

Thank you! 

 

Regards, 

 

Bogdan L.

Show all comments

Hi,

I'm trying to run from a script task a postgres stored procedure, but the postgres database return an error "call" is missing,

What Am I doing wrong ?

bool retCode = false;
var userId = Get<Guid>("UtenteId");
var year = Get<int>("Anno");
 
var userConnection = Get<UserConnection>("UserConnection");
StoredProcedure storedProcedure = new StoredProcedure(userConnection, "SifLoadSurvey");
storedProcedure.WithParameter("Year", year);
storedProcedure.WithParameter("UserId", userId);
storedProcedure.InitializeParameters();
storedProcedure.PackageName = userConnection.DBEngine.SystemPackageName;
 
using (var dbExecutor = userConnection.EnsureDBConnection()) {
	try {
        dbExecutor.CommandTimeout = 0;
        dbExecutor.StartTransaction();
        storedProcedure.Execute(dbExecutor);
        dbExecutor.CommitTransaction();
        retCode = true;
    } catch(Exception ex) {
        dbExecutor.RollbackTransaction();
        retCode =  false;
    }
}
return retCode;

 

Like 0

Like

5 comments

Hi, 

I solved it by converting the postgres procedure in a function

Hi, Stefano!

Did you call postgres function in C# code as StoredProcedure?

Stefano Bassoli, did you call your postgres function as a StoredProcedure ?

Stefano Bassoli, 

did you call the postgres function as StoredProcedure ?

Hi sorry for my late answer,

I call the postgres function as a StoredProcedure

Show all comments

Hi Community,

 

We have this situation where we need to send a specific attachment to our client's API. This API only accepts "multipart/form-data" contents, so we need to send the byte[] of our attachment.

 

Is it possible to send the byte[] from our attachments to the API using the "Web Service Integration Setup" tool? If yes, how can we achieve that?

 

Thanks in Advance.

 

Best Regards,

Pedro Pinheiro

Like 2

Like

3 comments

Hi Pedro,

 

You need to use a stream to pass a byte array in a body of a request. It's possible to create a business process that uses WebService call process element and you can also use a script-task element. Here we can find examples of locating an attachment in the system and reading it in a stream. Once it's read completely you can pass the read byte[] to the request body and perform an API call to the endpoint where the file should be passed. Feel free to develop your logic using the article provided.

 

Best regards,

Oscar

hi oleg,

 

please share the link again, because it is no longer valid. Thanks in advance.

 

Best Regards,

Abderrahman TIGAMI

Hi Pedro,

 

Here is a new link for you: https://academy.creatio.com/docs/developer/back_end_development/api_for…

 

We will be glad to help with any other questions.

Show all comments

Hello,

I have a contact who is a contact of two accounts.

On an order page, in my contact lookup, i can only select contact with the primary=true experience for the account (contactcareer). 

However, only one contact experience can be with the key primary at true, so for other account i can not select the contact.

Does anybody knows how to solve this issue ?

Thank you

Nicolas

 

Like 0

Like

3 comments

Dear Nicolas,



Unfortunately, it is not possible to add more than 1 primary account for contact as it is a primary one and it is the base logic.

 

Best Regards,

Ivanna Yatsura.

Ivanna Yatsura,

Dear Ivanna,

Thank you for your answer !

In an order page, is it possible to display a contact lookup displaying all contacts having the current [contactcareer] field to true.

Actually mine contact lookup field, display only contacts having the primary [contactcareer] field to true (effectivly, only one record can have the primary field to true).

Have a nice day,

Nicolas

LÉZORAY Nicolas,

 

You can achieve it by adding detail with the use of Business Rules to show only needed contacts.



Best Regards,

Ivanna.

Show all comments

Has someone ever integrated CREATIO with a DRUPAL website ?

 

You want to be able to capture leads from the DRUPAL website and automatically add the leads into CREATIO.

 

Several options :

- Creatio LP code added to the website

- Zapier

- Piesync

- others...

 

 

Thanks for your responses...

 

Like 1

Like

1 comments

Hello Francois,

 

Hope you're doing well.

 

If I understood your request correctly at the moment there are no such Marketplace applications/add-ons which would allow connecting the Leads generated by Drupal sites to the Creatio application. Thank you for giving a nice idea! We have created a request for developing and further implementation of this kind of functionality for our R&D team.

 

At the same time as a possible solution, the JS script which is being used for HTML sites (on the Landing page in the Creatio application) should be converted/translated to PHP.

 

Best regards,

Roman

Show all comments

Dear Community,

I have tried adding new communication option under lookup "Communication option types". but I want it grouped under existing "Phone" type. Please help in implementing the same.

Thanks,

Gokul

Like 0

Like

3 comments

Dear Gokul, 



In order to add the new value to the group, please open the lookup  "Communication option types", open the new record you've added and add "Communication option" on the detail(see the screenshots below) 



As a result, your group will look like this. 





Best regards, 

Yurii. 

 

Thank you Yurii. Incase of databinding lookup to package, Is it enough if I data bind "Communication option types" alone? because addition in communication type is not reflecting. should I add it directly in respective instance?

Gokul, 

In order to export communication properly please bind both CommunicationType and ComTypebyCommunication.

As a result your communication options will be exported grouped by communication types. 



Best Regards,

Yurii. 

Show all comments

Hi all !

On the account section, i would like to filter accounts which have not received any email

I tryed to used the "History on account section" with the Object email but it looks like it did not work because in my example below the account is having an email in its timeline tab.

On the account i ve an email record in the history tab:

Does anybody knows how can i retrieve accounts with no emails history ?

Thank you

nicolas

Like 0

Like

1 comments
Best reply

Hello,

 

It is necessary to use this filter to use this filter:

 

Regards,

Dean

Hello,

 

It is necessary to use this filter to use this filter:

 

Regards,

Dean

Show all comments