I have the add-in loaded, Calculation of working days in business processes.

Trying to use the "Add Business Days" user task.

Calendar is set, number of days is set, start date is set, end date is empty.  When processing, it throws an error:

 

Npgsql.PostgresException (0x80004005): 42883: operator does not exist: boolean = integer

   at Npgsql.NpgsqlConnector.d__157.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Npgsql.NpgsqlConnector.d__156.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at Npgsql.NpgsqlConnector.d__156.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Npgsql.NpgsqlConnector.d__163`1.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at Npgsql.NpgsqlDataReader.d__32.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Npgsql.NpgsqlDataReader.NextResult()

   at Npgsql.NpgsqlCommand.d__71.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Npgsql.NpgsqlCommand.d__92.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Npgsql.NpgsqlCommand.ExecuteDbDataReader(CommandBehavior behavior)

   at Polly.Policy.<>c__DisplayClass119_0`1.b__0(Context ctx, CancellationToken ct)

   at Polly.Policy.<>c__DisplayClass129_0`1.b__0(Context ctx, CancellationToken ct)

   at Polly.Policy.<>c__DisplayClass103_0.b__1(Context ctx, CancellationToken ct)

   at Polly.NoOp.NoOpEngine.Implementation[TResult](Func`3 action, Context context, CancellationToken cancellationToken)

   at Polly.Policy.<>c.b__103_0(Action`2 action, Context context, CancellationToken cancellationToken)

   at Polly.Policy.ExecuteInternal[TResult](Func`3 action, Context context, CancellationToken cancellationToken)

   at Polly.Policy.Execute[TResult](Func`3 action, Context context, CancellationToken cancellationToken)

   at Polly.Policy.Execute[TResult](Func`1 action)

   at Terrasoft.Core.DB.DBExecutor.FailoverExecuteReader(DbCommand command, Func`1 func)

   at Terrasoft.Core.DB.DBExecutor.d__88`1.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Terrasoft.Core.DB.DBExecutor.ExecuteCommand[TResult](Func`2 commandExecutionCallback, String sqlText, QueryParameterCollection queryParameters, CancellationToken cancellationToken)

   at Terrasoft.Core.DB.DBExecutor.InternalExecuteReader(String sqlText, QueryParameterCollection queryParameters, CommandBehavior behavior, CancellationToken cancellationToken)

   at Terrasoft.DB.PostgreSql.PostgreSqlExecutor.<>c__DisplayClass41_0.b__0()

   at Terrasoft.DB.PostgreSql.PostgreSqlExecutor.ExecuteInLockIfInTransaction[TResult](Func`1 action)

   at Terrasoft.DB.PostgreSql.PostgreSqlExecutor.InternalExecuteReader(String sqlText, QueryParameterCollection queryParameters, CommandBehavior behavior, CancellationToken cancellationToken)

   at Terrasoft.Core.DB.DBExecutor.InternalExecuteReader(String sqlText, QueryParameterCollection queryParameters)

   at Terrasoft.Core.DB.Select.d__54.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Terrasoft.Core.DB.Select.ExecuteReader(DBExecutor dbExecutor)

   at Terrasoft.Configuration.GlbCalendarServiceUtils.GetWeekEnds()

   at Terrasoft.Configuration.GlbCalendarServiceUtils.AddWorkingDays(DateTime date, Int32 days, Guid incomingCalendarId)

   at Terrasoft.Core.Process.Configuration.GlbAddBusinessDays.InternalExecute(ProcessExecutingContext context)

   at Terrasoft.Core.Process.ProcessActivity.ExecuteElement(ProcessExecutingContext context)

   at Terrasoft.Core.Process.ProcessActivity.ExecuteItem(ProcessExecutingContext context)

   at Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

Like 0

Like

2 comments

Hello Chris,

 

Could you please double-check if you executed the script from the instruction on the Creatio deployment procedure, step 8?

https://academy.creatio.com/docs/user/setup_and_administration/on-site_…

The script name is CreateTypeCastsPostgreSql.sql file

 

Best regards,

Bogdan S.

Bogdan, thanks, but this is a creatio-hosted site.  I can run the script there via the sql console if that will work.

 

Show all comments

Hello,

 

I am trying to implement a web-service integration that provides a collection of fields as a response, and adding it to an auto-generated page to show the results. Can someone guide me how I can implement this functionality to grab fields from a collection and show them as separate individual fields?

Like 1

Like

2 comments

I think it depends. If the quantity of fields you need is static and will not change, you can just read individual values and point them to specific fields. If it is a variable, its more complex. 

I am limited in coding, so I would do this as a detail rather than fields. You would have to code something special, I think, to get a variable quantity of fields to display. But with a detail, it will scale with the number of records you want to show. You can also change the detail to an "Editable Detail" if you want the user to edit the values inline. You can either have the detail show the actual records for direct editing, or you can setup a sort of temporary object for the detail that you read and write to that then you can use later.

Hi Reid,

 

Thank you for your answer. I do get your point and even I was thinking along the same lines.

The issue that I am facing right now, is when I'm trying to call a web-service in the business process, using the "Call web-service" element, the response of that web-service is a collection of objects, and any element (Auto-generated Page/Pre-configured page/etc) that I add after this web-service element, does not take that collection of objects at all. It only takes the "Response body" as the value. And when I map the individual values somehow, they do not reflect the results as desired, because they can't just pick one value out of a collection of values randomly, and hence the fields show blank in the result.

So I'm just trying to figure out if this out-of-the-box functionality works only for individual fields or for collection of objects also. 

Show all comments

I added an "Open Edit Page" element to my process. When I got to select which page, the one I am looking for is not an option. I want to open an edit page for my custom section, Change Orders. I have tried having the current package set to Custom, and I've set the current package to my Custom package with the schema I want to use. But I cannot get it to show up in this menu. Can anyone advise what makes certain pages available for this process element?

 

Like 0

Like

3 comments

Hello Mitch,

 

It seems that you have added custom section by development tools, but not via out-of-the-box tools like Section Wizard. For example, I have created new section via standard tools and was able to choose custom section in the process settings:

 

unfortunately, at the moment there is no possibility to choose the Section/Page implemented by development in the Open Edit Page business process element. You can find more information about Open edit page element in the following link:

https://academy.creatio.com/documents/technic-bpms/7-16/open-edit-page-process-element

 

As a workaround we suggest try to use Pre-configured page element and set code of the edit page created using section designer in "Source code" of pre-configured page settings:

 

 

More detailed information about Pre-configured page element in the next link:

https://academy.creatio.com/documents/technic-bpms/7-16/pre-configured-page-process-element

 

Best regards,

Roman

Roman Rak,

Is there a way to get the edit page to automatically open for the user instead of the user needing to click on the business process task?

 

Dear Mitch,

 

Please double check the signal element. Most likely it has active "Run the following element in the background" checkbox. It sets the whole process to the background and that's why the page is not getting opened automatically.

Apart from that, please disable the debug mode. It can influence the proper page loading.

 

Regards,

Dean

Show all comments

Hi

 

One of the annoyances of the case modified date is that it does not get updated if someone was to send an email on the case. This is to allow us to have accurate vision of when the last activity was on each case, so we can confirm that cases are updated regularly i.e. at least in last 48 hours.

 

I understand that a Process could be created which will do the following:

  1. Trigger - Email sent related to a support case
  2. Update the Last Modified date time for the same time that email was sent

I am not sure what the Trigger signal should look like to achieve this function, so would be thankful for any guidance.

 

thanks

Mark

Like 0

Like

1 comments

Hello Mark,

 

For your goal you can use next trigger signal:

 

 

This start signal will be triggered by any email realted to the existing case (in our example it will work for incoming and ourgoing emails, but you can change it by selecting the needed value for Message type).

If you want to tigger new cases (which were just created by incoming emails) you need to choose 'Record added' option for "Which event should trigger the signal" fieild.

 

Best regards,

Roman

Show all comments

Hi,

I am trying to find the parameter values changed through a process execution which is attached to a case stage.

I have enabled the trace data option in process.

 

But after the process ran, I can't see the traced data in the process log.

Is there anything I am missing to turn off or on?

The process has an approval element. Does it have to do anything with trace data option?

Like 0

Like

2 comments

Hello,

You did everything correct, but the trick here is that trace data cannot be received from "Terminate event". Please view trace data of approval element and check parameter values before this element execution and after this element execution so to get needed data.

Best regards,

Oscar

Thanks Oscar.

Actually the process was typically not accurate for the action that I wanted to perform.

Show all comments

Hi,

I'm using Orders and Order Items section with a 1:N relationship. On the Order Item I maintain a re-order date for that specific item. When the Current Date equals the Re-Order Date I want to send emails to customers for all the records where this condition applies.

The email should contain Order Item details but also information from the Parent Order, the associated Account and the Contact associated with the Order.

Below is the workflow as I have it so far. I'm unsure how to read the associated data from the Orders, Account and Contacts related to the initial collection of records of Order Items and then how to use all of it to send one email per Order to the Primary Email of the Account and Cc to the contact on the Order. The email body should include the Product Name from Order Item, Order Number and Date. 

Thanks for your help.

 

 

 

 

 

  

 

 

Like 0

Like

2 comments

Unfortunately, it's not possible to send an email to a collection of users in a business process. The functionality is planned by the bpm'online development team.

Ad for now, please try to check the marketing campaigns and trigger mass mailings functionality. It might help.

https://academy.bpmonline.com/documents/marketing/7-15/campaigns-section#HT_section_campaigns

https://academy.bpmonline.com/documents/marketing/7-15/email-section#HT_section_email

One option I just made use of is Tags.  You can read an object, with or without a tag, then either send the email or tag the object and send the email, then delete the tag and cycle around, or just cycle around.

Let's say you have not tagged anything yet:

1. Read the first item from an object where a tag does not exist, and it meets your other filter criteria.  The Tag needs to exist as an option, so you would need to manually create the tag, or tag a record once (so the tag exists) and untag it.

2. XOR condition that the ID from step 1 is !=Guid.Empty.  Default flow is to end or go somewhere else.

3. Tag that record (insert a section record tag, for example Contact Section Record Tag).  This will denote that the object has the tag and will not be read again in step 1.

4. Send the email.

(You could probably switch steps 3 and 4 as desired)

5. Cycle back around to step 1 and read the next item where the tag does not exist.

OR you can do the opposite, where in step 1 you are searching for records that are already tagged, then you later delete the tag before cycling back around to search again.

Hope this helps!

Chris

 

Show all comments

Hi everyone,

I'm facing a problem in the business process , when I try to save the business process element , the following message appears: ' Error occurred when saving : Collection item  with unique identifier not found '

Like 0

Like

0 comments
Show all comments

Hello, I can not find the menu option "Landing page and web form". Does anyone know how to create a web form and associate it with a bpmn process?

Like 0

Like

3 comments

Dear Edgar,

Since you cannot find the 'Landing page and web form' section in your environment, then most likely you do not have marketing module in it. The section 'Landing page and web form' is only available in marketing applications or bundles. Therefore, make sure you have the marketing module. You can also request free trial CRM bundle to compare it with your environment.  As for the business process, you can associate a landing page in your processes using base process elements as well as the custom script tasks. It depends on your process design and your process purpose. Apart from that, here is a chain of articles that describes how to associate your web form with the bmponline application: 

https://academy.bpmonline.com/documents/marketing/7-13/how-create-landi…

 

Best regards,

Dean 

Hi, how get the marketing module?

Regards.

 

 

Dear Edgar,

Our Support team can update your application and add the required module if you have the required licenses and the updated environment is your production instance. If you are using just a demo or trial environment, we would suggest you to request a new free application that includes Sales,Marketing, Service and Studio modules. To get the full bundle trial CRM, please follow the link below: 

https://www.bpmonline.com/trial?product=en-sales-ent-marketing-service-…

Best regards,

Dean

Show all comments

I create business processes for printable documents. where if the data is selected accordingly it will display the appropriate document file for each role.

why read the data cant be running. 

 

here some SS.

I need some advice

thank you.

File attachments
Like 0

Like

5 comments

Hello,

Apparently the access rights weren't specified due to the filters being set up incorrectly, or there is no record fitting the filtering criteria,

It isn't quite clearly how the filters should be set up since your configuration, customization and the data are unknown. First you need to check if these filters are capable of finding at least one record in Print Document object:

You can also simply re-distribute the access rights by Title here since you probably have only one printable with such title:

You can also fire an email to support@bpmonline.com with more description so support could provide you with more information/guidelines.

You also want to make sure the object is managed by records, so check the object permissions section.

Oliver

Chairul anwar,

It seems you are trying to set up access rights for printable by the record opened. The access rights are not working in a such way, though. The user will be able to see the printable despite the record being opened if he has read rights, or won't see the printable anywhere if he has no read rights.

Such logic can only be implemented by additional developing. It should be similar to the way business-rules work, Filtering by value of the field and either hiding or displaying the printable option.

Oliver

 

Oliver,

areyou have some example for it? value on session can hide printable.

Chairul anwar,

Unfortunately could not find similar cases, or any example.

Oliver

Show all comments

Hello everyone!

I hope you can help me!

I want get the value of a property of a element of my Business Process.In this case, I read all of a employee and from my script task, I want to ask about the value of one of fields, "UsrClaveAltaTemprana". The compilation of the script task is correct but when I do the test from the employee's page and I will see ths process log it pulls the following error.

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

   at Terrasoft.Common.ReflectionUtilities.GetPropertyValueByPath(Object source, String propertyPath)

   at Terrasoft.Core.Process.ProcessModel.Get[T](String propertyPath)

   at Terrasoft.Core.Process.UsrProcess3MethodsWrapper.ScriptTask1Execute(ProcessExecutingContext context)

   at Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

I attached image

 

 

 

 

 

 

 

       

I appreciated your help!

King Regards,

 

Ezequiel Gómez

Like 0

Like

1 comments

Dear Ezequirel,

The reason for an error is that you are trying to obtain value of an Id. Let me explain. 

"UsrClaveAltaTemprana" is a lookup field. Basically, it is a link to another object, so in database it is stored as an Id, but not the value.

If you intend to receive a value, you need to insert a "Read Data" element before a script task. Read the value from the object of "UsrClaveAltaTemprana" lookup, where Id equals the Id retrieved from the record. 

Set received value to new parameter. Then use this parameter in script task.

Hope this helps.

Regards, 

Anastasia

Show all comments