Hi all,

I created a chart with 7 series: 4 lines, 3 colums. All of them were created by using built-in chart.

How to make a line change to short-dot dashstyle?

I tried using json series but it showed only json series, all built in series did not appear.

 

Like 0

Like

1 comments

Unfortunately, there is no way to use this type of line in built-in dashboards. 

However in bpm'online it's possible to create charts of any complexity, with a lot of filters. In order to implement that just create a view in a database. Fill the view with filtered data. Then create a lookup based on the view. After that create a dashboard based on the lookup. How to create an object based on the view please follow the article by the link below

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

Show all comments

Hi,

1.Created an object "Vehicle details" in my package "Vehicles" inheritance Account (base).

2. Created a detail using details wizard "vehicle details"

3. Added detail in Accounts Section under "Account Info" tab. Gave Detail Column "Owner" and  "Id" for object column. 

4.Created a detail page with a "Purchased from" lookup referencing to Accounts.

Getting following error message when trying to create a detail record:

Item with name "KumarVehicledetailsCommunication" not found.

 

I am doubting 3rd step. Can someone help me on this.

 

Thanks in advance.

Like 0

Like

2 comments

Hi,

Can you please send an email to support@bpmonline.com? We will be glad to help! 

Best regards,

Angela

I suspect step 1. instead of accounts as the reference object, can you use base object and include account lookup in the detail and try?

Show all comments
Virtual objects
web api
7.14_()
studio

Hi



We have a use case whereby the data we need to show in a detail needs to be fetched from a 3rd party API. We intend to do the following steps for this - 

1. Create a virtual object (Transient data. Not to be persisted in the database)

2. Call the the 3rd party API and populate the virtual object with the returned data.

3. Bind the virtual object to the Detail. 



The API is still under construction and we would like to mock / populate / hard code dummy data in the virtual object so that we can proceed with developing the detail. Let me know if there is a way to do this. 



Thanks

Shrikanth

Like 0

Like

1 comments
Best reply

Dear Shrikanth,

Please see the following article on how to implement virtual detail on page with calling API to populate data:

https://community.bpmonline.com/articles/add-virtual-detail-page

 

Hope you find it helpful,

Anastasia

Dear Shrikanth,

Please see the following article on how to implement virtual detail on page with calling API to populate data:

https://community.bpmonline.com/articles/add-virtual-detail-page

 

Hope you find it helpful,

Anastasia

Show all comments

I want to change the new record title to something else when i click new.

.

 

 

Like 0

Like

3 comments

Hello, 

To change this caption you need to replace schema MainHeaderSchema and change the value of localizable string DefaultPageHeaderCaption to the needed value (http://prntscr.com/ofyfpa). 

Here is the academy page on how to replace schemes: 

https://academy.bpmonline.com/documents/technic-sdk/7-13/creating-custom-client-module-schema

Best regards,

Dennis

Dennis Hudson,

Thanks Dennis but when i replace the schema changes are made for all the sections, i wand custom header for one section like new page for account page. Also please tell me how will i change the subject of email before sending like dynamic subject. Please see the screen shot below

Muzzammil Alam,

You can check if you are you are in the certain section and use the needed value instead of DefaultPageHeaderCaption in the subscribeSandboxEvents method in MainHeaderSchema. To do this you would need to override this method in the replacing schema. To check if you are in the correct section you can use this.get("entitySchemaName"), for example. 

Best regards, 

Dennis 

Show all comments
case
disable tasks
7.13_()
studio

Hi Community,

Any idea how i can disable the tasks being created in case stages?

 

Thanks

 

Like 0

Like

1 comments

Hello Fulgen,

Such a task should appear on the records actions dashboard and in CTI panel as well (see screenshot http://prntscr.com/og1wm1). The easiest way to disable such tasks is to click on their name http://prntscr.com/og1xkw and click "Cancel activity" http://prntscr.com/og1xqv. As a result you will need to specify the result of this activity http://prntscr.com/og1xzb and click "Save".

The second way to disable such tasks is to open a task in the CTI panel and change status to "Canceled" http://prntscr.com/og1yu0. After that you will need to enter some activity results and save changes.

The third way to disable such tasks is to delete them from SysProcessElementToDo table, but it is not a good practice at all since there can be connections between deleted activity and case stages and it can lead to errors when working with the case, from which deleted task was created, in future.

If you want to remove tasks generation from case stage - you need to delete this task from case stages designer and here is an Academy article on how to delete case stage element.

Best regards,

Oscar

Show all comments
oData
7.13_()
studio

Hi Community,

Currently I was able to get data from Order object using Odata calling "OrderCollection". Order is connected to Account object. Now I want to retrieve account details also. Is it posible to achieve this by having one request only from "OrderCollection" no need of calling "OrderCollection" then "AccountCollection". Any idea how can i achieve this?

Like 0

Like

1 comments

Dear Fulgen,

Unfortunately, there is no way to retrieve account data without making a request directly to the AccountCollection. You need firstly get the Id of needed account and afterwards make a request to Account object.

Regards,

Anastasia

Show all comments
mobile
7.13_()
studio

Hi Community,

Any idea in Mobile how can I add custom field in Case attachment. This custom field will be a lookup field, user is required to select value from this field before uploading the attachment. 

Like 0

Like

1 comments

Dear Fulgen,

Such business task requires advanced development in the system. We do not have a code snippet for such task, however, the algorithm for the case is the following:

1. You add a lookup filed to the CaseFile object. 

2. Add an attachment detail to the Case page via Mobile application wizard.

3. Create your custom generator for the file attachment functionality. You can take basic MobileFileAndLinksEmbeddedDetailGenerator as a reference and indicate it as a parent object for your custom schema.

4. Indicate this custom generator in the values section of detail insert diff, e.g.:


     "generator": "UsrMyControlGenerator.generateUsrMyControl",
                   

5. Add filed to the case file page, make it required. You can make it required on object level, or override save method in the JS schema.

Regards,

Anastasia

Show all comments

Hi Community,

I have this scenario that I need to achieve in mobile

- In Case page I have "Department" lookup field, this "Department" lookup field is linked to "Department" object.

- "Department" object has "PrimaryContact" lookup field which is linked to "Contact" object

- Now when creating a case, once the user selects Department, the "Assignee" field should be auto populated based on the Department's PrimaryContact value.



Any idea how can i achieve this? Thanks in Advance

Like 0

Like

3 comments

Dear Fulgen, 

Please try the MUTUALFILTRATION rule in the mobile business rules from the academy page below:

https://academy.bpmonline.com/documents/technic-sdkmob/7-12/business-rules-mobile-application

Best regards, 

Dennis 

Dennis Hudson,

Thank you Dennis



Is there a way I can manipulate using esq and set the result directly to assignee field?

Dear Fulgen,

It’s possible to create a custom business rule for adding and deleting filtration. Please, use the academy article by the link below and check the second example:

https://academy.bpmonline.com/documents/technic-sdkmob/7-12/custom-business-rules-mobile-application

In order to set a query result directly to some field please use the function set(). Please feel free to read about the function in the beginning of the page from the article by the link above. Also it possible to use esq to manipulate data. Please find code example below. (Example 2)

 In order to apply the code create an empty module and insert the code to the module. Then use mobile wizard to create a replacing module of manifest and add the name of your module to attribute “PageExtensions” of corresponding page section. Please find code example below (in my case it’s section Activity, example 1).

Example 1:

{

                "SyncOptions": {

                                "SysSettingsImportConfig": [

                                                "DefaultMessageLanguage"

                                ],

                                "ModelDataImportConfig": [

                                                {

                                                                "Name": "Contact",

                                                                "SyncColumns": [

                                                                                "City"

                                                                ]

                                                },

                                                {

                                                                "Name": "City",

                                                                "SyncColumns": []

                                                },

                                                {

                                                                "Name": "SysLanguage",

                                                                "SyncColumns": []

                                                },

                                                {

                                                                "Name": "Activity",

                                                                "SyncColumns": []

                                                },

                                                {

                                                                "Name": "ActivityPriority",

                                                                "SyncColumns": []

                                                },

                                                {

                                                                "Name": "ActivityType",

                                                                "SyncColumns": []

                                                },

                                                {

                                                                "Name": "ActivityCategory",

                                                                "SyncColumns": []

                                                },

                                                {

                                                                "Name": "ActivityStatus",

                                                                "SyncColumns": []

                                                },

                                                {

                                                                "Name": "CallDirection",

                                                                "SyncColumns": []

                                                },

                                                {

                                                                "Name": "ActivityParticipant",

                                                                "SyncColumns": [

                                                                                "Activity",

                                                                                "Participant"

                                                                ]

                                                },

                                                {

                                                                "Name": "ActivityParticipantRole",

                                                                "SyncColumns": []

                                                },

                                                {

                                                                "Name": "ParticipantResponse",

                                                                "SyncColumns": []

                                                }

                                ]

                },

                "Modules": {},

                "Models": {

                                "Contact": {

                                                "RequiredModels": [

                                                                "Contact",

                                                                "City",

                                                                "SysLanguage"

                                                ],

                                                "ModelExtensions": [],

                                                "PagesExtensions": [

                                                                "MobileContactGridPageSettingsDefaultWorkplace"

                                                ]

                                },

                                "Activity": {

                                                "RequiredModels": [

                                                                "Activity",

                                                                "ActivityPriority",

                                                                "ActivityType",

                                                                "ActivityCategory",

                                                                "ActivityStatus",

                                                                "CallDirection",

                                                                "ActivityParticipant",

                                                                "Contact",

                                                                "ActivityParticipantRole",

                                                                "ParticipantResponse"

                                                ],

                                                "ModelExtensions": [],

                                                "PagesExtensions": [

                                                                "MobileActivityRecordPageSettingsDefaultWorkplace",

                                                                "UsrMobile1"(my module)

                                                ]

                                }

                }

}

Example 2:

Terrasoft.sdk.Model.addBusinessRule("Activity", {

    name: "ActivityResultByAllowedResultFilterRule",

    position: 1,

    ruleType: Terrasoft.RuleTypes.Custom,

    triggeredByColumns: ["Result"],

    events: [Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Load],

    executeFn: function (record, rule, column, customData, callbackConfig) {

        var store = Ext.create('Terrasoft.store.BaseStore', {

    model: 'ActivityResult'

                                });

                var queryConfig = Ext.create('Terrasoft.QueryConfig', {

    columns: ['Id'],

    modelName: 'ActivityResult'

                                                });

                store.loadPage(1, {

    queryConfig: queryConfig,

    filters: Ext.create('Terrasoft.Filter', {

        property: 'Id',

        value: '6CBD22D4-F36B-1410-5E98-00155D043204'

                }),

            callback: function (records, operation, success) {

                var loadedRecord = records[0];

                var allowedResult = record.get("AllowedResult");

                var filterName = "ActivityResultByAllowedResultFilter";

                if (!Ext.isEmpty(allowedResult)) {

                    var allowedResultIds = Ext.JSON.decode(allowedResult, true);

                    var resultIdsAreCorrect = true;

                    for (var i = 0, ln = allowedResultIds.length; i < ln; i++) {

                        var item = allowedResultIds[i];

                        if (!Terrasoft.util.isGuid(item)) {

                            resultIdsAreCorrect = false;

                            break;

                        }

                    }

                    allowedResultIds.push(loadedRecord.get("Id").toUpperCase());

                    if (resultIdsAreCorrect) {

                        var filter = Ext.create("Terrasoft.Filter", {

                            name: filterName,

                            property: "Id",

                            funcType: Terrasoft.FilterFunctions.In,

                            funcArgs: allowedResultIds

                        });

                        record.changeProperty("Result", {

                            addFilter: filter

                        });

 

                    }

                    else {

                        record.changeProperty("Result", {

                            removeFilter: filterName

                        });

                    }

                } else {

                    record.changeProperty("Result", {

                        removeFilter: filterName

                    });

                }

                Ext.callback(callbackConfig.success, callbackConfig.scope, [true]);

            },

            scope: this

        });

    }

});

 

Best regards,

Norton

 

Show all comments
Lead
notifications
tasks
7.13_()
studio

Hi Community,

Any idea how can i disable all tasks and notification created during lead stages?

Thanks

Like 0

Like

1 comments

Dear Fulgen,

There are a couple of processes that can create the reminders and notifications. They are: 'Lead qualification 7.8.0', 'Lead distribution 7.8.0', 'Handoff to sales 7.8.0' and 'Awaiting sale' 

All these processes are sub-processes of the parent process 'Lead management 7.8.0'

There are 2 options. You can either deactivate the parent process that runs all the sub-processes or edit all sub-processes so that the would not create any activities and reminders.

Best regards,

Dean

 

Show all comments
WORKFLOW BAR
cases
7.13_()
studio

Hi Community,

I have a 2 workflow in case page, the first workflow will show if type is incident, the second workflow will show if type is complain.

Now here is my scenario

1. When i create a case, then select type incident the first workflow is showing - correct

2. I change the value of type from incident to complain, the workflow also changes from first workflow to second workflow - correct

But when I change again the value of type from complain to incident, the workflow is not changing anymore, until such time you reload the page. Any idea how to fix this issue?

 

 

 

Like 0

Like

1 comments

Hello Fulgen,

This is an out-of-the-box behavior of the application and we've created a problem to our R&D team so they could fix it in one of future versions of the application. This is a very interesting problem and thank you for reporting it to us. Currently we assume that it cannot be changed sine it is a hard coded behavior of the application in base schemas and fix needs to be applied by our R&D team. Once this fix is applied - we will notify all our users in Academy release notes that can be accessed here.

Thank you for helping us to make our application better!

Best regards,

Oscar

Show all comments