Hi community !

 

Is there any way to do a switch-case with business processes?



I have a case that can reach different statuses. All the statuses are known. I have to do some things at each step of the case I currently do with a simple signal with "if status change AND status = specific_status, then ..." but I don't really like doing that. It's not readable. Is there an easier way to handle each step of a case, like a switch case or something?



Thanks in advance,



Julien Gunther

Like 0

Like

1 comments
Best reply

Hi Julien, 



If i understood your business task corectly, you need to call those processes from DCM panel. You can do so in DCM configuration. Add a step for the status, in which you want to call a process. You can refer to the screenshot below. 

Best regards,

Yurii. 

Hi Julien, 



If i understood your business task corectly, you need to call those processes from DCM panel. You can do so in DCM configuration. Add a step for the status, in which you want to call a process. You can refer to the screenshot below. 

Best regards,

Yurii. 

Show all comments

Hi Community,

 

I have built a Business Process that Triggers on "Record Added" for a Section.

My goal is that when I Create a Record in the section with OData using the "POST method", That custom business process should be triggered by System. But It is not getting triggered.

 

When I tried to create a new record from the system itself ( instead of OData ), the process got triggered. 

Can someone guide me on this? Is there any System Setting or specific configurations needed to be done?

 

I am using a cloud instance of 7.18.1.2800

Like 0

Like

5 comments
Best reply

Hi Pratik, 



This is the know issue of the version. 

Our R&D team is working on this to be fixed in the future releases. 

There's a workaround to this issue. To implement it please create following request to support team (since your instance is cloud) :

1) set "false" to following keys in  Terrasoft.WebApp\web.config 

<add key="Feature-UseSeparatedOdataEntitiesDll" value="false" />

<add key="Feature-ODataEntitiesCompilationInSeparatedDll" value="false" />

if such keys don't exist, they can be added to  the block <appSettings>;

2) Generate source code for all schemas and compile all. 





Please note, that this fix is only applicable for 7.18.1. Please remove this tags from web.config when updating to newer versions of the application, as it will cause the Odata functionality to not work. 



You can also refer to this community post in your support request. 

Best regards,

Yurii

 

Hi Pratik, 



This is the know issue of the version. 

Our R&D team is working on this to be fixed in the future releases. 

There's a workaround to this issue. To implement it please create following request to support team (since your instance is cloud) :

1) set "false" to following keys in  Terrasoft.WebApp\web.config 

<add key="Feature-UseSeparatedOdataEntitiesDll" value="false" />

<add key="Feature-ODataEntitiesCompilationInSeparatedDll" value="false" />

if such keys don't exist, they can be added to  the block <appSettings>;

2) Generate source code for all schemas and compile all. 





Please note, that this fix is only applicable for 7.18.1. Please remove this tags from web.config when updating to newer versions of the application, as it will cause the Odata functionality to not work. 



You can also refer to this community post in your support request. 

Best regards,

Yurii

 

Hi Yurii,

It Worked, Thanks for the help. 

Hi. 

This solution is for version 7.18.1 only.

Hi,

 

I have the same issue as Patrik, but I am using version 8.1.2.3942. Could you please suggest a solution? 

P.S. This logic worked for me before the upgrade.

Aurora Leka,

Hello!

 

If you are expecting such an issue using version using version 8.1.2.3942. Please take the next steps:

  1. 1. Ensure that the update was successful (double-check Update extended logs).
  2. 2. Run full schema generation and compilation process.

 

If those recommendations do not help you to solve the issue please contact support@creatio.com with information about this issue.

 

Show all comments



Hi !

 

Is there a way to launch a business process when a specific object is opened ?

 

I have an interview object (custom) and I'd like to update some element when the object is opened then aumatically reload the object so the view of this object will be updated but I didn't find anything to make that

Like 1

Like

1 comments

Dear Julien, 



It should be possible by means of development. 

We have an academy article describing how you can set the launch for processes directly from a Client Module. 



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



Thank you. 

Show all comments



Hi community !

 

In a custom object, I have a list of contact objects. On a specific signal, I need to loop over these contacts and change the attributes of each contact based on other attributes found in the contact object. How can I achieve the for loop with a business process?



If the only way is to use the Scripts element, where can I find proper documentation to start using Scripts in Creatio?

 

Like 0

Like

5 comments
Best reply

Dear Julien,

 

Thank you for your question!

 

The best way to create a Business Process with a for loop you would need to create a sub-process:

 

 

Signal "Contact Added" element: 

Read Data "Read Contact" element:

 

 

For the sub-process, you would need to specify the [Parameters] of it:

 

 

And make a filter of the element within the sub-process based on the ID:

And finally, you would need to specify this parameter in the parent Business Process:

 

This is it. The business process here would trigger upon a Contact being added, then it would fetch 50 top Contacts in the system and transfer them to the sub-process, which will do some required magic within it, and then would end.

You may customize this example in any way you would like.

 

You may also find these academy Articles useful:

 

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

 

https://academy.creatio.com/docs/user/bpm_tools/bpm_process_examples/us…

 

Hope this helps!

 

Thank you!

 

Regards,

 

Danyil 

Hello Julien,

A common way to loop through records in a process is to use a flag field to mark the records to loop through and then un-flag them to move to the next record in the loop. See https://customerfx.com/article/how-to-loop-through-records-in-a-process…

Another method to do this is to read a collection of records that get passed to a sub-process. The sub process gets called for each record in the collection. See https://customerfx.com/article/working-with-a-collection-of-records-in-…

Ryan

Dear Julien,

 

Thank you for your question!

 

The best way to create a Business Process with a for loop you would need to create a sub-process:

 

 

Signal "Contact Added" element: 

Read Data "Read Contact" element:

 

 

For the sub-process, you would need to specify the [Parameters] of it:

 

 

And make a filter of the element within the sub-process based on the ID:

And finally, you would need to specify this parameter in the parent Business Process:

 

This is it. The business process here would trigger upon a Contact being added, then it would fetch 50 top Contacts in the system and transfer them to the sub-process, which will do some required magic within it, and then would end.

You may customize this example in any way you would like.

 

You may also find these academy Articles useful:

 

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

 

https://academy.creatio.com/docs/user/bpm_tools/bpm_process_examples/us…

 

Hope this helps!

 

Thank you!

 

Regards,

 

Danyil 

Thank you very much !

 

Danyil Onoprienko,

I tried creating a for loop by using a flag but there the process stops after 100 records because there is a limit to each element.

If I'll create the subprocess option, will that resolve the problem?

Thanks,

Chani

Hi Chani,

In the process parameter you can specify the maximum repetition number for the process. If you put nothing, it will read the all collection.

 

Late answer !

nico

Show all comments

Hi All,

 

my question is i have a business process that will run from the command line or from the section menu and i made it 

this process when run must open a new record in returns section and check whether the notes field and reason fields are populated before saving . 

 

my sol :

i made a boolean field in returns section and give it a default value with false then when the process run the value of this boolean will be changed to true and based on this i made a business role and make field required and it worked correctly .

 

but my Issue here is : when the process run and i click cancel the record it gives me a notification that the request is still opened and still in the notification and doesn't  disappear . i want to make this notification disappear when i click cancel the request . 

 

here are some  screenshots

 

this when i open the process :

when the process run and open anew record and i clicked cancel here 

here are the notification after cancel the record 

and here are the process

 

any sol please 

 

thanks 

Like 0

Like

3 comments

Hello Ibrahim Nour El-Din, 

Currently, there's no way to cancel creating a record using "Open Edit Page" in OOB version of the system. 

However, to fullfill your business task, you can create one more business process with only one element "Delete Data". You'll also need to create a parameter for Id of the record and add it to the section in section wizard. 

While adding the process to the section please specify the Parameter of the process, so it looks like following : 

Please note, that the user will still have to populate all required fields in order for the record to be saved and then deleted by the process. 

Then, when you don't want to create a record, you execute the process and click Cancel. The notification and the record will be gone. 

Best Regards,



Yurii.

Yurii Sokil,

 

ok thank you 

Yurii Sokil,

 

ok but is there any sol using the same business process changing elements, add elements anything ? 

 

thanks

Show all comments

Good day. How to create a business process that should

open the page of a new record in the section and control whether the required fields in this record are filled.

Like 0

Like

2 comments

you will need to make it with a work around solution by adding a boolean field in the section and set the default value for it false 

then you should build the business process when the process fire change the value of the boolean from false to true then in the section make a business rule that when the value of the boolean will be true make the fields you need required so with this sol you can open a page of a new record and can't save until the required fields be filled 

 

Hello, 



You can find more information about business process setup in our Creatio Academy.



Best regards,

Bogdan

Show all comments

hi all,

 

The process must open a new record page in the “Returns” section and check whether the “Notes” and “Reason” fields are populated before the new record can be saved

 

 

how can i solve this please how can i make the scenario ?

i need a process diagram with sol please

thanks

Like 0

Like

6 comments

Hello,

Here is the simple example of creating the Contact based on the notes in created Account

 

In the Conditional flow (notes filled in) you just need to put this formula:

Here are the results for the execution if the created account has not Notes or no:

 

 

Regards,

Dean

dean parrett,

hi 

can you make it using simple not signal because i will fire this process only from the command line or section menu 

thanks

Hello,

 

You can use simple signal. The first element will just be Read Data which will be reading your account and that's it. Everything else is the same. The most vital here is to make 2 flows from this Read Data element, one is conditional which checks if the notes field is populated.

 

Regards,

Dean

dean parrett,

 

hello,

how can i use simple and after that use read data of a record doesn't exist !! 

the process will create the record so with your scenario that i will read data from where !! where is the record the process created that i will read the data from it and check if the notes and reason filled in so it will create if aren't filled it will not create the record to the section ?

 

thanks 

Hello,

 

In this case you need to come up with some condition under which your process could identify the desired record. Then read data will catch the desired record under this condition and read its notes. Other then that, the process will not know what to read and what is expected from it. 

If you are going to run the process from command line or manually, you need to make it understand which record from Returns to read. If there is no condition - the process will read some random record. 

 

Another idea is to pass the ID of the required record to this process from Main process. So my process would read the account which id = 'some id'

 

Regards,

Dean 

dean parrett,

 

can you explain that with a diagram please 

 

notice that:

1- there isn't a main process 

2- this process is a separate process and will fire only when run from the command line or from section menu only so the notes and reason will be required only when the process fire, when the user creates the record manually the notes and the reason will not be required 

3- if the notes and reason are not filled in the record mustn't be saved or added 

 

thanks

Show all comments

Hey community !

 

TL;DR : How can I Read data from  a lookup that was fetch in a previous Read data ?

 

I have a business process that is called when a field in an object is changed. Based on this, I get the object ID and read the data from it. Until then, no problem.

 

This object contains lookup fields (they are all filled in) and I also need to read the data from these objects.

 

Here is my business process, I will explain what I do after the screenshot :

 

So my "Candidat retenu" signal passes the object ID which is changed to "read recruteurs" and I ask for all the lines in the recruteurs object :

 

Based on the data received, I have my second read data (read contact) which I have configured as follows:

 

All read data are very similar after that:

"read opportinite" : Opportunité.id = read recruteurs.Premier élément de la collection résultante.Opportunité

"read Soft skill 1" : custom object.id = read contact.Premier élément de la collection résultante.Soft Skills 1

"read Soft skill 2" : custom object.id = read contact.Premier élément de la collection résultante.Soft Skills 2

"read Soft skill 3" : custom object.id = read contact.Premier élément de la collection résultante.Soft Skills 3

"read Soft skill 4" : custom object.id = read contact.Premier élément de la collection résultante.Soft Skills 4

 

Based on all previously queried table I create a new object "candidature" :

 

All fields which I try to query data from are filled in.

 

Unfortunately when the candidature object is created the only fields that are filled in are the fields from "read recruteurs" and the "Disponibilité" field and I don't understand why. In the process diagram everything's "working" :

 

I don't have any errors and I don't understand what are my mistakes.

 

How can I query data from objects previously queried like I'm trying to do ?

 

Thanks in advance for your response !

 

Best regards,

 

 

Julien Gunther

Like 0

Like

1 comments

Dear Julien,

 

Try to contact the support team via support@creatio.com. It is necessary to have the access to the website to have and have a look at entire process. Most likely you linked some elements incorrectly, it is necessary to find the place. 

 

Regards,

Dean

Show all comments

Hi Community,

 

  • I am trying to pass the JSON string into the Web-Service Element of the Business Process. I had tried this in one of the trial instances of version 7.18.0.1353. In this version, Web-Service Element has Request body parameter in its Advanced Setting. The screenshot of this is as below. 

 

 

 

  • I want to implement this same POC in another instance which is in a version of  7.17.3.1377. But the "Request body" parameter in Advanced Setting of Web-Service Element and I am not able to pass JSON in this instance.

 

 

Is there any way ? to achieve this POC working in the instance of version 7.17.3.1377

Please guide me on this.

 

Thanks and Regards.

Like 0

Like

1 comments
Best reply

Hello,

 

This feature is available starting from 7.17.4 version. The simplest way to achieve it is just to upgrade your website to 7.17.4 or even better to 7.18.0 which is the latest actual version of the app.

 

Regards,

Dean

Hello,

 

This feature is available starting from 7.17.4 version. The simplest way to achieve it is just to upgrade your website to 7.17.4 or even better to 7.18.0 which is the latest actual version of the app.

 

Regards,

Dean

Show all comments

Hi Community,

 

We've this situation where we need to get a specific attachment from a specific object. In order to do that we've created a new process that is using the "Process File" process element to get the Attachment, as you can see bellow:

The problem is, the "Process File" element only shows the default objects files. How can I receive the attachments from my custom objects through this element?

 

Note: Both custom object and process are on the same package.

 

Thanks in advance.

 

Best Regards,

Pedro Pinheiro

Like 0

Like

1 comments

Hello Pedro, 

The files from custom objects are available by default. For example, i've created custom section called Test2. 

No additional setup is needed. Make sure to re-log after creating custom sections in order for changes to take place.  



Best regards, 

Yurii. 

Show all comments