Business Process
emails
organizational roles
7.14_()
service

How can I send an email from a business process to a group of recipients who are in the same Organizational Unit?

For example, highlighted in the picture below I tried to make a process that sent an email to the contacts in the organizational role "Strategic Partner Support", however when the process ran, no email was sent. So instead I had to add individual contacts, but I am trying to avoid needing to update individual contacts in this process element as our employees come and go or change roles.

I also tried using a system setting, and added a organizational role to that system setting, but that did not send an email either. Can anyone advise on the best way to do this?

 

Like 0

Like

2 comments

Unfortunately, there is no opportunity to send an email to the organizational role via a business process element "Send email".

However the functionality can be implemented. An idea is to use a script task element in order to select all contact emails which are included in the role. They are selected from the database via EntitySchemaQuery. Then join all selected emails into a string using ";" as separator. After that use the newly built string of emails as an email for sending.

The basic business process "Send email to case group" works in the same way. Please feel free to use the business process as an example. I recommend you to copy the process, change conditions for launching according to your purpose and change an email template. Pay attention to the script task element "Prepare Recipient Emails".

 

Show all comments
#button caption
7.14_()
service

How can I change a button caption ? I created a new students section, and I would like the "NEW" button to show "New Student"

Like 0

Like

4 comments

Dear Ricardo, 

You can change the caption on the button in the Translation section (https://prnt.sc/odvfuk). You can find the record with the needed Key and change the caption in the English (United States) - Default column. For example, here are such records for New Contact button caption (https://prnt.sc/odvgsn). 

Best regards,

Dennis 

Thanks... It does work for existent sections, but it did not work for my new Students section. I changed the value of the new sections's "addNewRecordButtonCaption" from "New" to "New Student" in Translations, but button still shows "New"... 

Ricardo Bigio,

In this case you can do the following:

1) Open Section schema for your object (should be named like UsrTest1Section)

2) Find AddRecordButtonCaption and set Value to the needed caption, save the schema (https://prnt.sc/ofs9yy)

3) If you have only one edit page for the section, find the corresponding record in sysModuleEdit:

   3.1) select * from SysModule where Caption = '<Your section caption>'

   3.2) take SysModuleEntityId from there and paste into the query

          update sysModuleEdit set ActionKindCaption = 'Needed caption' where             SysModuleEntityId = 'SysModuleEntityId  you've found before'  

4) Clear cache and reenter the site. 

Best regards, 

Dennis 

Now it works... Thanks!

Show all comments
cases
resolution time
7.13_()
service

Currently in the case section, actual response time gets filled in automatically when the case moves to in progress. Similarly, actual resolution time gets filled in automatically when the stage is resolved. They INCLUDE weekends and holidays right now, so if a case gets created on a Saturday, it looks like the actual response time was two days since our office is closed until Monday.

Is there a way to exclude non working hours and have those fields only calculate based on business hours?

Like 1

Like

4 comments

Hello Mitch,

To achieve your target you need to use "Working days" value for "Response/Resolution time unit" in "Services" section. Here are Academy references that describe how to set those values properly here, here and here.

Best regards,

Oscar

Oscar Dylan,

Thank you Oscar, I may not have explained my problem very well. I am looking for a metric that is 'actual response time' minus 'case registration date'. I want to show the difference between those two columns as Days:Hours. 

I understand I need to either set up a metric in the section wizard, or calculate the metric using a business process. 

For example, if a case is registered on a Friday afternoon, and gets put 'in progress' on a Monday morning, my metric should say a couple hours instead of a couple days.

I will continue searching for a solution, any advice would be appreciated! Thanks!

 

Mitch Kaschub,

Got it. In this case I would advise you to create a business process like on the screenshot http://prntscr.com/ofit1g. It is being triggered upon status change to "In progress" and reads this case record in "Read modified case" element. The main idea is in conditional flows of a process:

1) "Case was created on a Friday afternoon?" flow should check if the incident was created on a Friday afternoon and should contain this formula

DayOfWeek([#Read modified case.First item of resulting collection.Created on#]) == 5 && Time([#Read modified case.First item of resulting collection.Created on#]) >= [#Time value.12:00#]

The process will go to a next step if it is true and if it is not - it will be terminated and base logic will work for this case record.

2) "Case status was changed on Monday?" - here we need to check if the status of this incident was changed on Monday. It can be done with the help of the next formula:

DayOfWeek([#Read modified case.First item of resulting collection.Modified on#]) == 1

And if it is true the process will go to its final stage of actual response/resolution time modification, but if it is false - the process will be terminated. The last process element modifies "Actual resolution time" and "Actual response time" columns and we need to use following formulas, for example:

[#System variable.Current Time and Date#].AddHours(3) - for actual resolution time

[#System variable.Current Time and Date#].AddHours(1) - for actual response time

You can also modify this process based on your needs, but the main logic here is to use date/time functions and modify needed columns in such a way.

Best regards,

Oscar

This is fantastic! Thank you so much Oscar Dylan!

 

Show all comments
Business Process
cases
7.13_()
service

I'm trying to have an email process element say the case number in the body. My challenge is I want the PortalMessage object to trigger start the process. If I read all columns of the Portal Message record, Case number is not one of them. 

Is there a way to add a column for case number to the Portal Message object? How do you connect it?

Like 0

Like

2 comments

Dear Mitch, 

The column connecting Portal Message to case already exists. The column is called Object Instance. You can read a case out of the portal message like that (http://prntscr.com/ocum1y)

Best regards,

Dennis 

Dennis Hudson,

That worked perfect. Thanks!

Show all comments
service

Hello, is there any way to display more information on a user dialogue?

For example, in a bussiness process involving cases, when a user dialogue comes up, is there any way for it to show the current case information?

It is not very useful if only the question pops up, especiallly if you are handling many cases, you won't know which one you are on.

 

Thank you

 

Like 0

Like

1 comments

Dear Alejandro, 

You can insert the case name into the user dialog text display. Here is an example http://prntscr.com/o7jnlq

Best regards,

Dennis 

Show all comments

I am not able to save the process even though I have that lookup and the values in that and I am not getting how to solve this issue

 

 

 

Schema has errors: OpenEditPageUserTask1.RecordColumnValues.guptaStatus [Error while executing expression "[#Lookup.Status.New#]": Formula value error: Expression expected (at index 0).].

Like 0

Like

3 comments

Hello! 

Could you please send a screenshot of the OpenEditPage settings? 

Best regards,

Dennis

Dennis Hudson

Yeah sure

Gupta,

It is likely that on your Request object in configuration you have default value of the Status field populated with the value (of the lookup) that was deleted from the system. In this case you would need to go to configuration and remove this value from default value of the Status column, after that publish an object. 

Best regards, 

Dennis

Show all comments
7.13_()
service

according to my need I have created a new custom detail by following these steps:-

1) I've created a new object for my detail.

2) Next, using detail wizard I have created a new detail using the created object and then I have added few fields and that detail  I have added to my account section.

everything is working fine, but when I have tried to fill the fields  and save first under same account it was saved, but using the same account I tried to another one by filling the fields then I got this error how can I get out of this

 

Violation of PRIMARY KEY constraint 'PKKOuATTzB7cDsHskkp5OVQlx5Jog'. Cannot insert duplicate key in object 'dbo.guptaCompanyFleet'. The duplicate key value is (cad50d15-f28d-49fc-aa79-21615ac35b86). The statement has been terminated.

 

Like 0

Like

6 comments

Hi,

Check on what foreign key it is triggered and investigare connection in DB.

You may use this script: 

Select C.*, (Select definition From sys.default_constraints Where object_id = C.object_id) As dk_definition,

(Select definition From sys.check_constraints Where object_id = C.object_id) As ck_definition,

(Select name From sys.objects Where object_id = D.referenced_object_id) As fk_table,

(Select name From sys.columns Where column_id = D.parent_column_id And object_id = D.parent_object_id) As fk_col

From sys.objects As C

Left Join (Select * From sys.foreign_key_columns) As D On D.constraint_object_id = C.object_id

Where C.parent_object_id = (Select object_id From sys.objects Where type = 'U'

And name = '%Table name%') and type_desc = 'FOREIGN_KEY_CONSTRAINT' -- and C.name = 'PKKOuATTzB7cDsHskkp5OVQlx5Jog' 

Best regards,

Angela

Hi Gupta,

Please check the below following points.

1. Check whether correct lookup is mapped to the field in the detail. For example - Consider you are placing the Company fleet detail in Account's section, Company fleet detail should have a lookup mapped to Account.

2. Check whether the detail is properly mapped with correct field to the section in the section's edit page. For example - detail column should be the lookup which is pointing to 'Account' and the object column should be 'Id' of the account section.

3. If the error still persists, check for any key constraints as suggested by Angela using the above script in sql console.

Thanks,

Mohamed.

Hi Angela thank you for your reply, but how to connect to database or how to find the sql database.

 

Gupta,

If it is installed on premise you can connect to it via SQL manager, otherwise you can use SQL executor application

Angela

Yeah OKay thank you for your reply

 

Hello Chiadika,

 

Such error can have a few possible root causes, due to which the record/page is being saved twice. 



This way 2 requests InsertQuery are being sent to DB while saving the record, one of them is being processed correctly and creates a new record, the other one tries to create a record with already existing Id, which is impossible, so the system doesn't let to save the changes. 

It's possible to check the duplicate request in the Network console while recreating the case. I would advise to check it if the issue occurs again and as of now to double-check the mentioned in the notification objects (settings, etc) in your database to prevent similar situations in the future. 

 

Best regards,

Roman

Show all comments

It was following message attached in file section below that error is seen when i was the cases that I have designed.

Like 0

Like

2 comments

Dear Gupta,

This error often can be fixed by the whole system compillation. Try to perform the following steps:

In the system configurations

1.Generate the source code for all items.

2. Update the database structure.

3. Compile all items.

http://prntscr.com/o1qpe0&nbsp;

After that, try to add a new case. If it still cannot help, please email us at support@bpmonline.com and our support team will take a closer look into the problem in your particular environment. 

Best regards,

Dean

Thank You Mr. Parrett for your reply 

Show all comments
service
  • Count of the Requests (object created in previously) submitted by the contact in the last 90 days for which the contact is also the Owner of the Request
Like 0

Like

1 comments

Hello! 

Unfortunately, in the system you can't build filter as Object.Column1 = Object.Column2. You can implement this task with 2 ways:

1) If you need to do it only once you can write an sql query, 

select count (*) from <Request table name> where Owner=Contact and CreatedOn > (SELECT getdate() - 30) 

2) If you need to keep this metric you can create database view on Request table, after that create an object out of database view in bpm online

https://academy.bpmonline.com/documents/technic-sdk/7-13/localizing-views?_ga=2.82466582.1097619040.1560787229-512856358.1560787229

After that you can create a metric chart comparing the Request's Owner to the View's Contact for the same record. 

Best regards, 

Dennis

Show all comments

Hi, I was facing a problem when I was a fields to a detail that was created in other package it displays following message

"The "EmployeeCareer" item is either created by third-party publisher or installed from the file archive. Changes for this item cannot be saved. Continue?"

Even though I was adding fields to that detail it was not showing on the front end of that respective details page and It displays a message that "The changes or fields will not save".please help out at this issue.

Like 0

Like

1 comments

Hello,

To add needed changes to the schema that is stored in another package that was imported to the application you need to go to the dev-site where the package was developed, perform needed changes there and after that export the package from dev-site and put it to production instance. Or there is another way: you can create a replacing schema for this detail in your current package and put needed changes there. Here are Academy references on creating replacing schemas and general information on development package.

Best regards,

Oscar

Show all comments