Hi Support, i want to ask you about web tracking, how to add tracking event in button and view number on the tracking?

Like 0

Like

1 comments

Dear Lily,

Please see the following academy article, which will help you to set up website even tracking for button click.

https://academy.bpmonline.com/documents/marketing/7-12/how-set-list-tracked-events?document=marketing&document=marketing&document=marketing#HT_chapter_tracking_website_events_setup_click

In order to count number of clicks on the button, you can create a dashboard for "SiteEvent" object. Set filters to display only particular events. Please see videos on how to create a dashboard:

https://academy.bpmonline.com/video-course/dashboards?document=team

Regards,

Anastasia

Show all comments

Hello to everyone!

I'm trying to Hide or Remove Actions from a Section.

i.e: Data Import or Export to Excel

any ideas?

Thanks in advance for your support

Regards,

Fernando

Like 0

Like

13 comments

Hello Fernando,

The default actions collection is populated in the getSectionActions method of the BaseSectionV2 schema (https://prnt.sc/ko83fb). 

In order to remove or hide any of the default actions from the section, you need to create a replacing schema and override the getSectionActions method.

In order to hide the specific action, you will need to change a Visible property:

getSectionActions: function() {

                var actionMenuItems = this.callParent(arguments);

                actionMenuItems.each(function(item) {

                    if(item.values.Caption.bindTo === "Resources.Strings.ExportListToExcelFileButtonCaption"){

                        item.values.Visible = false;

                    }

                });

                return actionMenuItems;

            }

In order to remove the specific action from the collection:

getSectionActions: function() {

                var actionMenuItems = this.callParent(arguments);

                var itemToRemove;

                actionMenuItems.each(function(item) {

                    if(item.values.Caption.bindTo === "Resources.Strings.ExportListToExcelFileButtonCaption"){

                        itemToRemove = item;

                    }

                });

                actionMenuItems.remove(itemToRemove);

                return actionMenuItems;

            }

 

Thanks Tetiana!

 

Where we configure the filters.

Example: I don't want to see the Owner filter in Lead Sections

also ...what happens if I need to hide or remove any of these objects?

Hello Fernando,



You can configure your own filters as well as override existing ones in the initFixedFiltersConfig method. Please, see the documentation - https://academy.bpmonline.com/documents/technic-sdk/7-12/adding-quick-f…



Could you, please specify your second question, please?

Hi Tetiana, i'm trying to hide or remove this Object (Filter) from Lead Section

 

Fernando,



You need to override the initFixedFiltersConfig method in your LeadSectionV2 replacing client schema.

    initFixedFiltersConfig: function() {

                        var fixedFilterConfig = {

                            entitySchema: this.entitySchema,

                            filters: []

                        };

                        this.set("FixedFilterConfig", fixedFilterConfig);

                    }

In such case, there will be no filters in the Lead Section. You can also configure your own filters in the 'filters' array.

Please, see the documentation - https://academy.bpmonline.com/documents/technic-sdk/7-12/adding-quick-f…

Thanks Tetiana!

I want to remove the "Data import" in the Action menu but couldn't find any related string under "LocalizableStrings" in BaseSectionV2. Please help.

 

JP Ngo,

Please take a look at getDataImportMenuItem method of BaseDataView schema. It creates data import menu item for section actions.

			getDataImportMenuItem: function() {
				if (this.getIsImportEnabled()) {
					const config = this.getFileImportMenuItemCfg();
					return this.getButtonMenuItem(config);
				}
			},

This method is executed from getSectionActions method. 

Regards,

Anastasia

Hello Tetiana Markova,

 

I tried to remove the cancel case action from the portal section using the getActions method as you demonstrated above, but when I add some conditions to the method it doesn't work correctly.

 

Below is my code:

 

getActions: function() {

                var NumberOfGuests = this.get("UsrHousingGuest");

                var actionMenuItems = this.callParent(arguments);

                var itemToRemove;

                actionMenuItems.each(function(item) {

                    if(item.values.Caption.bindTo === "Resources.Strings.CancelCaseActionCaption"){

                        if(NumberOfGuests <= 50 && UsrNumberOfDaysOrMonths <= 2){

                                itemToRemove = item;

                        }

                    }

                });

                actionMenuItems.remove(itemToRemove);

                return actionMenuItems;

            },

 

Do you have any recommendations to make please?

 

Many thanks.

 

 

Mouna RACHIDI,

 

Hello,

 

getActions method override should be added to the PortalCasePage schema and also you need to check if NumberOfGuests and UsrNumberOfDaysOrMonths (by the way this variable is never declared in your part of code, so it's undefined and the if clause will be never executed) have correspondent values. After I checked both parts this method worked in my local app.

 

Best regards,

Oscar

Show all comments

Hi Sir/Madam,

I get the below error when I click on compile all items

Cannot run compilation because another compilation is in progress

Request you to please tell me.

Regards

Raghu Ram

Like 0

Like

1 comments

Dear Raghu Ram,

The most obvious reason the the compilation that was launched before or by another system user. Although you might not see it, but once started it should end even if the tab was closed so it might be the thing that when  you were trying to compile previously launched compilation was still in process. 

In case it is occurring all the time and you are sure there is no compilation launched feel free to shoot an email to support@bpmonline.com for further investigation.

Oleh

Show all comments

How to use a detail wizard from one section as a lookup in another section object.

I have PositionDetails as detail object having base object as parent, I need to use this object as a lookup, When I assign this PositionDetails as a lookup to a field I get to see the blank page.

 

Like 0

Like

1 comments

Dear Sekhar,

It seems there is no displayed value selected in the object. You need to open the object used for detail/lookup, add String field (250char) and select it as Displayed field for the object. Once done this field value will be displayed in the lookup field.

Oleh

Show all comments

Hi Sir/Madam,

Can you please tell me how to apply themes in bpm online

Regards

Raghu Ram

Like 0

Like

1 comments

Dear Raghu Ram,

There is no out of the box functionality for applying themes in bpm'online, although you can try some custom themes solution developed in Stylish extension:

https://userstyles.org/styles/browse?search_terms=bpmonline

Oleh

Show all comments

Hi Sir/Madam,

Can you please tell me how to create landing pages inside bpm online.

Regards

Raghu Ram

Like 0

Like

3 comments

Hello,

First of all you should install wordpress plug-in connector from the marketplace via link. There is another community question regarding its setting up and it can be found here. There is an article in our academy regarding landing pages and web forms and you can find it here. For example you want to connect to the web-site www.example.com and have a landing page on www.example.com/landing. Enter the actual landing page URL in the [Website domains] field. For example, the website name is www.example.com. This website has a landing page available at the following address: www.example.com/landing. This address must be entered in the [Website domains] field on the bpm'online landing record page. After all those configurations you will be able to use landing pages functionality.

Best regards,

Oscar

Hi Sir/Madam,

Can you please tell me how to apply themes in bpm online

Regards

Raghu Ram

Hello,

If you want to change colors in the application, you need to click "Color customization" in the system designer and the whole process is described in our academy article.

Best regards,

Oscar

Show all comments

Dear community,

My client has a requirement to specify a list of required documents (per document type) according to which products were entered in an opportunity.

They required a checklist for those documents that needs to be added to the opportunity. And the checklist must be visible for the sales rep.

Can anyone tell me what would be the best practice to implement this?

 

thanks

Like 0

Like

3 comments

Hello Danilo,

You can create a detail (with an editable list) for the Opportunity edit page and business process that will add the data in the detail object once the new product is added into opportunity.

For example, you can create a new detail "Required documents" on the [Products] tab of the Opportunity edit page. Your detail object will contain the following fields:

- the column for  establishing connection with the [Opportunity] object, 

- the column for  establishing connection with the [Document] object, 

- some boolean field for document status (ready/not ready)

You can find more information how to create a detail with the editable list following this link - https://academy.bpmonline.com/documents/technic-sdk/7-12/adding-detail-…

Then, you will need to create a business process which will be triggered on the [Record added] event for the [OpportunityProductInterest] object and will insert the data into your detail. 

Please, see the related articles:

- https://academy.bpmonline.com/documents/technic-bpms/7-12/signal-start-…

- https://academy.bpmonline.com/documents/technic-bpms/7-12/add-data-proc…

As a result, your detail will be updated once you add the product in the opportunity.

Hi Tetiana, thanks for the suggestion, it worked. However, it is generating duplicate entries (same required document for different selected products). Any suggestion on how to avoid this?

Hello Danilo,



You can create a script-task element (https://academy.bpmonline.com/documents/technic-bpms/7-12/script-task-p…) in your business-process. In such script task you will be able to get the list of existing records in the detail object via ESQ,

 check whether the document already exists in the detail and add it if it is needed. You can learn more how to use ESQ on our Academy web-site - 

 https://academy.bpmonline.com/documents/technic-sdk/7-12/crud-operation…

 

Show all comments

 

I have a case, I want to make two or more buttons on a page.

I've create it, but only one button appears, the second button doesn't appear.

When I refresh the page, a second button appears. Below screenshoot and the code that I use to make these 2 buttons.

Source code in section: 

define("UsrExampleBtn1Section", [], function() {
	return {
        entitySchemaName: "UsrExampleBtn",
        methods: {
            onClickTest1: function() {
                console.log("Test 1 Button Clicked..");
            },
            onClickTest2: function() {
                console.log("Test 2 Button Clicked..");
            },
        },
		diff: /**SCHEMA_DIFF*/[
            /**
             * Element Test Button 1
             */
            {
                "operation": "insert",
                "parentName": "CombinedModeActionButtonsCardLeftContainer",
                "propertyName": "items",
                "name": "Test1Btn",
                "values": {
                    itemType: Terrasoft.ViewItemType.BUTTON,
                    caption: {
                        bindTo: "Resources.Strings.TestBtn1Caption"
                    },
                    click: {
                        bindTo: "onClickTest1"
                    },
                    "style": Terrasoft.controls.ButtonEnums.style.BLUE,
                }
            },
 
            /**
             * Element Test Button 2
             */
            {
                "operation": "insert",
                "parentName": "CombinedModeActionButtonsCardLeftContainer",
                "propertyName": "items",
                "name": "Test2Btn",
                "values": {
                    itemType: Terrasoft.ViewItemType.BUTTON,
                    caption: {
                        bindTo: "Resources.Strings.TestBtn2Caption"
                    },
                    click: {
                        bindTo: "onClickTest2"
                    },
                    "style": Terrasoft.controls.ButtonEnums.style.GREEN
                }
            },
 
        ]/**SCHEMA_DIFF*/,
        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
	};
});

Source code in page:

define("UsrExampleBtn1Page", [], function() {
	return {
		entitySchemaName: "UsrExampleBtn",
        methods: {
            onClickTest1: function() {
                console.log("Clicked Test Button 1");
			},
            onClickTest2: function() {
                console.log("Clicked Test Button 2");
            },
        },
		diff: /**SCHEMA_DIFF*/[
 
			/**
             * Element Test Button 1
             */
            {
                "operation": "insert",
                "parentName": "LeftContainer",
                "propertyName": "items",
                "name": "Test1Btn",
                "values": {
                    itemType: Terrasoft.ViewItemType.BUTTON,
                    caption: {
                        bindTo: "Resources.Strings.TestBtn1Caption"
                    },
                    click: {
                        bindTo: "onClickTest1"
                    },
                    "style": Terrasoft.controls.ButtonEnums.style.BLUE
                }
			},
 
			/**
             * Element Test Button 2
             */
            {
                "operation": "insert",
                "parentName": "LeftContainer",
                "propertyName": "items",
                "name": "Test2Btn",
                "values": {
                    itemType: Terrasoft.ViewItemType.BUTTON,
                    caption: {
                        bindTo: "Resources.Strings.TestBtn2Caption"
                    },
                    click: {
                        bindTo: "onClickTest2"
                    },
                    "style": Terrasoft.controls.ButtonEnums.style.GREEN
                }
			},
		]/**SCHEMA_DIFF*/,
	};
});

Is there something wrong in my code? I have checked the console, but there is no error. any solution for my case? Thanks



*SOLVED

Add all button caption in section and page

Like 1

Like

4 comments

Dear Romadan,

It seems you have forgot to add the caption "TestBtn2Caption" in Section schema.

I have added the same buttons with 2 captions both in Section and Page schemas and they are displayed correctly, but once I delete the caption in Section schema I was able to see the same results - the second button was appearing only after I refresh the page.

Please check the caption in the Section schema and make sure it is added correctly.

Oleh

 

I check caption 'TestBtn2Caption' in schema, and I forgot to add.

Thanks Oleh.

 

Dear Romadan & Oleh,



This case is same with my problem.

Thank you for this post and solved very helpful.



Ali

Dear Romadan,

Don't forget about me.

Show all comments

Hello Community! 

I need make enabled the save button after save based on a field condition.

Is that posible?

Regards,

Like 0

Like

5 comments

Hi Federico, could you please clarify what do you mean by "after save on a field condition"? What is the business task you want to solve? 

Dennis Trieskunov,

In the save: function() in js o onsave: i need after run the base logic function keep the button save in the edit page visible.

Dear Federico,

If you open BasePageV2 schema you will find there onSaved() function. At the last line of this method you can see:

this.set("IsChanged", this.isChanged());

So now you know where and how modification property is set.

You need to override onSaved() as you wish. For example:

methods: {

            onSaved: function() {

                this.callParent(arguments);

                this.set("IsChanged", true); // always show Save button after saving

            }

        },

Peter Vdovukhin,

hi,

Can you please clarify on opportunity section if any one filled details by using opportunity mini page after filling the details if you click on save i need to go directly to edit page of opportunity.

praveen n,

You need to override the basic save method, so to firstly run parent realization and save the record. Afterwards, use other basic functionality to open current record card. You can use the following code snippet:

save: function() {
				this.callParent(arguments);
				var elementUId = this.get("ProcessElementId");
				if (elementUId) {
					Terrasoft.ProcessModuleUtilities.tryShowProcessCard.call(this, {
						procElUId: elementUId,
						recordId: this.get("Id")
					});
				} else {
					NetworkUtilities.openEntityPage(this.getOpenEntityPageConfig());
				}
			}

Regards,

Anastasia

Show all comments

Hello, 

We have an API that we are trying to grab information from and show the information on a detail on the edit page. We are already the API is working and we are getting a response, however we are not sure how to now display the data on the detail. 

(We are using a detail because on the edit page we are grabbing a new values and passing them through parameters for a query done on the other server getting the API call.) 

Do you have any thought on this? We looked into virtual columns/tables but were unsuccessful.  

Like 0

Like

1 comments

Hello Philip,

So, you have a REST-service and you are looking for a way to display the response from it on some detail on the edit page. Do I understand you correctly?

The best way to achieve this goal is create a business process. Please, take a look on the [Call web service] process element.

You can find all needed information and examples on our academy web-site - https://academy.bpmonline.com/documents/technic-bpms/7-12/call-web-serv…

Also, you will find an example of setting up web service integration following this link - https://academy.bpmonline.com/documents/technic-bpms/7-12/calling-web-s…

Show all comments