Hello, we want portal users to have read only access to the Account column on the Portal Cases Page. However, we don't want them to be able to go to the main portal section list page and be able to open a filter menu that shows all of our Accounts in the system. 

Is there a way to limit which accounts will show up when a portal user clicks filter and Accounts in the portal case section list page?

 

I believe changing access rights to the account object to "manage by records" would work, then we could give portal users access to only the accounts we're ok with them seeing, but this sounds like a cumbersome solution, so are there any other suggestions? Anything easier?

Like 0

Like

3 comments

Dear Mitch,

The solution for your task depends on which account do you want to show - will it be a static list of specific accounts or is it dynamic list? 

You may use business rules for account lookup to filter what records it will show.

Best regards,

Angela

Angela Reyes,

It would be a dynamic list, our portal users are Strategic Partners who have multiple accounts under their umbrella. If a new account gets added to that Strategic Partner's umbrella, the portal user should have access to see that account. For example, we have 1200+ accounts in our system, but the portal user should only see about 100 of those accounts. This number could change as clients come and go.

(However, a static list that we would have to manually update would be better than nothing.)

For the business rule, does that work for the filters on the list view in the main portal case section? I thought business rules only worked on the portal case page on a specific column. I did not know it could be used on the list view of all case records, is that possible?

I was able to answer my own question. The business rule only worked on the account page, it did not change the options in the filter on the Portal Cases section list view: http://recordit.co/9lfKHFP19H

However, with the SQL console app I was able to use a query to remove all portal users access to account records I don't want them to see. Then I changed the "manage by records" default settings so portal users don't get access to any more accounts unless I assign it manually.

delete from sysaccountright where sysadminunitid = ‘(id of portal user)'

 

Show all comments

Hello, we've found when we open a case and set the account, the service agreement will default to which ever one has the oldest created on date. We want it to default to Non-SLA, however many accounts have that as the newest service agreement. 

Is there a query that can be written and used in the SQL query console to remove the 5 older service agreements from an account and re-add them so they have a newer created on date? 

In other words, I want to do what I am doing in this video for all accounts at once with a query instead of having to go through each account 1 by 1 and do this. Any ideas? Maybe someone could at least help me with what table I would find the accounts service agreements in?

http://recordit.co/RUW2oPrGwo

Like 0

Like

7 comments

The table for service agreements is called ServicePact

Thank you Ryan,

In the future, is there a recommended way for me to find which tables certain types of data live in? Instead of having to ask in these community articles?

Mitch Kaschub,

Yes. This is how you can find the name of any table.

  1. Open the configuration by going to https://mybpmnonlineurl/0/dev
  2. Search for the section or entity name, make sure you have "Title" checkbox checked. This would allow you to search for the name "service agreement".
  3. You'll see the object that returns in the results is named ServicePact that has a title of "Service agreement"
  4. The table name is always the same as the entity name, in this case "ServicePact"

Similarly, you can double-click on that object to open it, expand the Columns to see the names of the fields on that table as well, since they will be the same as the property names on that object (not to be confused with their titles). 

Ryan

Thank you Ryan!

This is going to be very helpful!

 

Ryan is there a table that shows which service agreements are added to each account? If I select * from ServicePact it just shows the 7 service agreements but doesn't show which accounts are using them. I tried to run the Accounts table too and I don't see the service agreements in that table either. 

Mitch Kaschub,

The table that connects Service Pacts and Accounts is called ServiceObject. Connection happens using AccountId and ServicePactId columns. So if you need to delete service pacts for some particular account you can use this table and "CreatedOn" column, since records are added/deleted there once any record is added/deleted in "Service agreement" detail.

Best regards,

Oscar

Oscar Dylan,

Perfect, that should be all I need. Thanks Oscar!

Show all comments

Hello, is it possible to set up this functionality for portal users? Regular users can go to an Email Activities Detail in the cases section and click the + sign to create an email and send it. I was able to add the Email Activities Detail in the Portal Case Page, however there is no plus sign. See video for example.

 

http://recordit.co/8l1EsDXBbT

 

Like 0

Like

2 comments

Dear Mitch,

The portal users can only see the records in the detail. Apart from that, they need to have the access rights to see them. The basic functionality does not support sending the emails from the portal case page, and therefore it is not possible to add the email activity on the detail from portal. You will need to involve the development process to change the out-of-the-box logic of the application. 

Best regards,

Dean

Thank you Dean.

Show all comments

Hello

I downloaded the multi selection ad-on from market place:

https://marketplace.bpmonline.com/app/multiple-choice-field-module

added the object to a schema according to the instrucions supplied with the add on: 

https://marketplace.bpmonline.com/sites/marketplace/files/app-guide/MultiSelectField_implementation_guide.pdf

The object works fine but I don't know how to locate it in a gruop field. it always appear on the top of the head of the page as shown here:

The code I used in the SCHEMA_DIFF is this:

 

{

                "operation": "insert",

                "name": "MultiChoiceFieldGroup",

                "values": {

                    "itemType": 15,

                    "caption": {

                        "bindTo": "Resources.Strings.Tabf4d38f16TabLabelTabCaption"

                    },

                    "items": [],

                    "tools": [],

                    "controlConfig": {

                        "collapsed": false

                    }

                },

                "index": 0

            },

            {

                "operation": "insert",

                "name": "MultiChoiceFieldGroupContainer",

                "values": {

                    "itemType": 7,

                    "items": []

                },

                "parentName": "MultiChoiceFieldGroup",

                "propertyName": "items",

                "index": 0

            },

            {

                "operation": "insert",

                "name": "MultichoiceModule",

                "values": {

                    "itemType": 4

                },

                "parentName": "MultiChoiceFieldGroupContainer",

                "propertyName": "items",

                "index": 0

            },

How can I control it's possition ?

Thanks in advance to anyone who will help!

Like 0

Like

4 comments

You need to specify a parent for the MultiChoiceFieldGroup element. In the diff you posted, in the MultiChoiceFieldGroup, add a parentName and propertyName. The parent name would be the name of the tab you'd like it to appear on and set the propertyName to "items".

Something like this:

{
                "operation": "insert",
                "name": "MultiChoiceFieldGroup",
                "values": {
                    "itemType": 15,
                    "caption": {
                        "bindTo": "Resources.Strings.Tabf4d38f16TabLabelTabCaption"
                    },
                    "items": [],
                    "tools": [],
                    "controlConfig": {
                        "collapsed": false
                    }
                },
                "index": 0,
                "parentName": "myTabName",
                "propertyName": "items"
            }

 

Thanks Ryan for your reply but it seems like I'm doing something wrong

I set up parentName as the name of the tab but it keeps showing on the header.

Where is my mistake ?

{

 "operation": "insert",

 "name": "MultiChoiceFieldGroup",

 "values": {

 "itemType": this.Terrasoft.ViewItemType.CONTROL_GROUP,

 "caption": {

 "bindTo": "Resources.Strings.Tabf4d38f16TabLabelGroup59bc0e6aGroupCaption"

 },

 "items": [],

 "tools": [],

 "controlConfig": {

 "collapsed": false

 }

 },

 "parentName": "Resources.Strings.Tabf4d38f16TabLabelTabCaption",

 "propertyName": "items",


 "index": 0

},

Make sure that the module itself (the element with the itemType: Terrasoft.ViewItemType.MODULE - or a 4) has the parent of a container (itemType: Terrasoft.ViewItemType.CONTAINER - or a 7) and the container has a parent of an element that is a control group (itemType: Terrasoft.ViewItemType.CONTROL_GROUP - or a 15). Lastly, make sure the control group has a parent that is the tab (which will have a parentName of "Tabs")

Ryan

Thanks Ryan !smiley

Show all comments

Hi,

I created a campaign, once i try to click on button "START CAMPAIGN" than below error message screen popups. I'm not sure about this issue.

Any help will be highly appreciable.

 

Regards

Like 0

Like

1 comments

Dear Muhammad, 

It seems like you need to set up your system bulk email settings. To resolve this issue, we need the following details:

1. We need your campaign error logs. Could you please find your campaign in the section and open the logs http://prntscr.com/muhmgz In the opened page, please add the new column 'Error details'  http://prntscr.com/muhngk  through the 'Select fields to display' option http://prntscr.com/muhngk

Once you have the error description column set up, please take a screenshot of it. 

2. We need to make sure you have your email validated. To check this, please go the emails section, choose actions and go to gulk email settings http://prntscr.com/muhvic Here, please take a screenshots of the General settings and Sender Domains tabs http://prntscr.com/muhvy5

Since the settings contain your particular environment data, it is better to take a closer look into the issue in therms of the technical support investigation. Therefore, once you take all the screenshots, please send them as well as the name of your instance to our support team via email at support@bpmonline.com We will help you to resolve it.

Best regards,

Dean

Show all comments

Hi Community,

Any idea how to fix this issue, we have already changed the title of our section and disable the add record mini page in our development but when we transfer our package (using export to archive and install application using install application) to Production, still the add record mini page is enabled and the title does not changed at all.

 

 

Like 0

Like

1 comments

Dear Fulgen,

The the reason for this issue might be in not compiled production system before transferring packages. Please, compile the production system and update the database structure before the package installation. Once the packages are installed in the production environment try to compile and update the database structure again. This should resolve the issue.However if it still persists - please contact our support team via email support@bpmonline.com to have a closer look into your particular installation.

Best regards,

Dean

Show all comments

Hi 

I would appreciate if someone could guide me how to read the value from a WiJob object, which has a lookup WiBuilding and WiBuilding has a column WiChargeRate. I added this as dependency in attributes, I can see teh value is there but I am unable to read it. Please see image below.

Like 0

Like

3 comments

Hello Waseem,



You can operate with value of the property of the JS object just by using the property name e.g. to get the "WiBuilding" value you should use "job.WiBuilding".  The value that you will get is the WiBuilding object.

The "value " property of the "WiBuilding" object stores the Id of the record in "WiBuilding" lookup (since the "WiBuilding" is the lookup). 



How to get object`s value from the database by it`s id:

https://academy.bpmonline.com/documents/technic-sdk/7-13/use-entitysche…

Best regards,

Alex

Thank you Alex, you are right I do get the value of the WiBuilding by writing Job.WiBuilding or Job.WiBuilding.value. I am struggling with the next layer which is the WiBuilding.WiChargeRate (displaying 125 in the above image). I tried Job.WiBuilding.WiChargeRate but it does not give me the value of 125. Should I try Job.WiBuilding.WiChargeRate.value. 

In regards to Entity Schema, I wrote the following ESQ and I could get the value to display in the pop up but I could not read it in to variable to do some calculation.

this.showinformationDialog works, but when I try

var chargeRate = result.entity.get("WiChargeRate") I get 0 value

The ESQ code below:

//var building = this.get("WiBuilding");

/*

var recordId = building.value;

var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {

rootSchemaName: "WiBuildings"

});

esq.addColumn("WiChargeRate", "WiChargeRate");

esq.filters.add("IdFilter", esq.createColumnFilterWithParameter(

Terrasoft.ComparisonType.EQUAL, "Id", recordId));

esq.getEntity(recordId, function(result) {

if (!result.success) {

this.showInformationDialog("Data query error");

return;

}

this.showInformationDialog(result.entity.get("WiChargeRate"));

}, this);

*/

Hi Alex

I have resolved it. The syntax needed to be as follows:

var chargeRate = job["WiBuilding.WiChargeRate"];  //read building charge rate

Thank you for your help.

Show all comments

Hi Community,

We have a total of hundred of portal users, is there a way to import the user license in BPM online so we don't need to do this manually hundred times.

 

Like 0

Like

1 comments

Dear Fulgen, 

Unfortunately you wouldn't be able to import licenses as this pretty unique system object. The license distribution should be done by hand. 

Best regards,

Dennis  

Show all comments

Hi ,

Am facing difficulty in implementing default value for Lookup section filters(Status filter in Order screen). Please help me out to resolve this. The code snippet in OrderSectionV2 is given below :

 {

                            name: "Status",

                            columnName: "Status",

                            caption: this.get("Resources.Strings.StatusFilterCaption"),

                            appendCurrentContactMenuItem: false,

                            dataValueType: this.Terrasoft.DataValueType.LOOKUP,

                            defValue : "1f3ad326-effd-4ac3-a3e2-957e7def3684",

                            addNewFilterCaption: this.get("Resources.Strings.SelectStatusCaption"),

                            hint: this.get("Resources.Strings.SelectStatusCaption"),

                            buttonImageConfig: this.get("Resources.Images.StatusFilterImage"),

                        }

 

Like 0

Like

3 comments

Hi, Thanks for the reply. But I am asking for Filters. look up filters as i have highlighted in the code part. i gave Id value,Name value in 'defValue' property.But it din't work. Can you help in this please.

Sriraksha KS,

Please try to to read the academy and other posts on community. This will help you to resolve the difficulties much faster or even prevent them from happening at all.

https://community.bpmonline.com/questions/lookup-field-filter

https://academy.bpmonline.com/documents/base/7-13/filters

Show all comments

I want to send a notification to all users with a specific functional role.  I know how to get the list of users with the role from User in role, then get the contacts for the users from User profile.  How do I feed the list of contacts or their email addresses to the Send email process element?

Like 0

Like

7 comments

Dear Janine,

Unfortunately as for now there is no way to specify a role in the "Send email" element of the business process. But here is the solution that can fit your needs: you can specify one recipient in "To" field in the business process "Send email" element and on mail-server side you can setup filters which will transfer notification emails to some specific folder and then mail-server can transfer all emails sent to this folder to other mailboxes. And it will fit your business target. But I will notify our R&D team about your question and ask them to develop new logic that allows using roles in "To" field.

Best regards,

Oscar

Oscar Dylan,

Unfortunately, I don't have access to configure anything on the mail server, except my own account.  I need to be able to email a collection of users, contacts or email addresses in the process. I could use a section that is a collection of contacts and iterate through it, but that will require maintaining a duplicate set of information, much like maintaining an Outlook distribution list that gets updated manually.  Thanks for forwarding the suggestion.

Janine White,

Well, there is another way how you can achieve a target. You can sync the mailbox for notifications with bpm'online. After that you can share access to this mailbox to a functional role needed. You can also specify that the application sync emails only from some particular folder. On mail-server you can create a filter which will put all notifications sent to this mailbox to a folder and as a result all users of this functional role will receive this email directly into the application and they will be able to see it.

Best regards,

Oscar

Oscar Dylan,

The only mailbox I have available is mine, which I do use for sending notifications. I don't have access to change mail server settings, which is handled by IT.  It would be a security breach to expose reading emails in my mailbox to other people.

Janine White,

Dear Janine,

Unfortunately as for now it is the only way to achieve a target: you need to sync another mailbox with the application (not your personal, but some work mailbox that can be used by employees), grant access rights for this mailbox to other system users based on their functional role and use it for reciving notifications. Developing new functionality on this topic demands huge work and changes applied to core features so it is the most easiest way to achieve a target now. Please use a separate mailbox with granting of access to functional role.

Best regards,

Oscar

Oscar Dylan,

I requested an Outlook distribution list that I can manage to send the notifications when the project is live.  I'd rather not have to maintain two separate lists, but it will work for now.

Show all comments