Hi Community,

 

I want to create a PAGE, this page can add record but instead of adding one record at a time I want its behavior like in adding product in order page (all products were listed already, you can enter multiple records and save).

 

Like 0

Like

1 comments

Hello.

You can use a detail with the selection from a lookup for this purpose. The step by step guide is available in the article below:

https://academy.bpmonline.com/documents/technic-sdk/7-13/creating-detai…

Best regards,

Matt

Show all comments

I've been trying to find some authoritative documentation on the best way to do this but alas, can't seem to find what I'm looking for.  We work with a lot of professional organizations (law firms, accounting firms, etc.) that have multiple offices in geographical locations.  They're all part of the same company, but have somewhat separate identities because of their location.

Ideally we would like to have one Account record for the overall company, with each separate location tracked AND all of the contacts at that particular office associated with that office so we can easily see who is at each location.  We would like to be able to get statistics (i.e. opportunities, projects, etc.) at both levels -- meaning the ability to see how many projects we've worked with at Accounting Firm A AND we'd like to be able to get these same stats for each location for the company.   E.g. Accounting Firm A - Location 1, Accounting Firm A - Location 2, etc.

I assumed we would use the Structure and Contacts Detail section, but I'm not seeing how to associate an individual contact with a particular location, etc. 

Is this the best approach?  Any instructions on associating a contact with one of these offices?

Like 0

Like

4 comments

Dear Damon,

You can either use functionality of Field Sales to create tasks/visits for each contact based on their location or add new address detail in the Account section with Office field which would determine the name of the office. When building statistics for any section you may use office to determine for which department is this statistics built. 

Dear Damon,

You might also create different Accounts with type "Our company" and set different addresses for each account. Each employee will be bonded to its own account, general statistics can be viewed via Dashboards section and each every dashboard can be set up for a certain office. 

Angela, thanks for the comments.  Perhaps I wasn't as clear as I needed to be.  This is NOT for OUR company, it is the manner in which we would structure all accounts.  Again, the majority of our clients are law firms and accounting firms; many of which have multiple offices.  The most important aspects for this are:

a) our ability to see ALL of the contacts associated with that Account, but also know which office they belong to (as some of these offices are widely dispersed geographically); 

b) ability to see all Opportunities and Projects under the firm so that we can get a good handle on where to spend our marketing & sales efforts.

 

I believe there are two routes I could go:

1) setting up each office as it's own account and linking them via Connected To

2) creating a separate object, say "Office".  Adding a detail at the Account level and adding each office via this mechanism.

I'm leaning towards #2, but trying to understand the advantages/disadvantages of both routes -- as I don't want to "undo" built-in functionality that might actually help in us seeing a clear picture on this.  So far though, I'm not really seeing a clear path forward on route #1 -- disadvantages seem to outweigh the advantages of #2...especially as it relates to assigning individuals to each office but having visibility at the "parent company" Account.

 

Damon Hacker,

Thank you for specifying your task. You may use "departments" lookup - add departments for each account and bind employees for certain department. To specify the address you might use my 1st comment. If a certain Account has 6 offices it will have 6 addresses, each one with "department" name field. Then you may add additional field to projects and opportunities that will be required and name it "Department" - thus there will be no need for creating a separate object. Is this a suitable solution for you? 

Show all comments

Hi community,

our client is asking for a way to filter a second detail when selecting one of the records on a first detail list. In screenshot below, they want to list on the Benefit Stream list only the Benefits from the Claimant Test selected on the first detail.

Appreciate any assistance.

 

 

Like 0

Like

5 comments

Hello Danilo,

This article outlines how to do this: https://community.bpmonline.com/articles/filtering-detail-records-based…

Ryan

Hi Danilo, 

Do you have  solved your problem ?

Ryan Farley,

Thanks, Ryan!... I will try that.

Hi Aymen,

We are finishing a web service integration and will get back to this after. That´s why I didn´t update yet.

Thanks

Danilo Lage,

Thanks, Danilo

Show all comments

Hello Community!

I need convert a decimal and show it in percentage format in the word file. How can do it?

Like 0

Like

1 comments

How are multiple tasks in a step ordered from left to right? And how do I change this order?

They are created by Business Process in this case.

 

4 comments

Dear Julius,

Hope you are doing great today.

Unfortunately, there are no any basic tools in the system to change the order of the statuses or the tasks. Only development process can help you to change it. As a solution, you can try to change the localization to Arabic or Hebrew. The order of the statuses and the tasks are reversed there. Apart from that, here is the guide on how to reverse the order using the development tools -

https://academy.bpmonline.com/documents/technic-sdk/7-13/development-re…

Hope this solution will help you out.

Best regards,

Dean Parrett

Thanks, Dean. We need an option to sort the tasks in a stage propperly in bpm'online.

I have also tried to have them arranged by changing StartTime and EndTime. This does not work. We need a SortingOrder or SortingIndex -parameter on Tasks in bpm'online

Hello Julius,



The tasks are arranged in the order they were added.(Last added => last in list). So, the way how to change is to add them in appropriate way. I recommend to modify business process so that tasks were added in sorted way. 



Best regards, 

Alex

Alex_Tim, I solved it by adding some Read elements as fillers. It's not pretty, but it works! Thank you Alex.

 

We sould have a index parameter for elements for sorting Tasks when they are on the current stage at the same time on the Edit page.

Show all comments

Hi all,

We have a custom section, which contains a contact field (label = Member): http://prntscr.com/luc7de

In the list view, this contact is clickable (clicking the contact name will redirect user to the contact page itself)

Now we want to make this field not clickable for specific user role. They are allowed to see the contact name, but thay are not allowed to click to the contact page where all info can be seen.

I tried this in the 'UsrReservations1Section'-page behind the 'onEntityInitialized'-method:

$("a").each(function() {

    var linkId = $(this).attr("id");

    var href = $(this).attr("href");

    var n = href.indexOf("ContactPage");

    if (n > 0) {

        document.getElementById(linkId).style.cursor = "default";

        document.getElementById(linkId).style.pointerEvents = "none";

        document.getElementById(linkId).style.color = "black";

    }

});

But this does not work...

Any ideas or advice would be appreciated!

Kind regards,

Vincent

Like 0

Like

3 comments

Hello Vincent,



Here is an example how to disable "Account" filed on Contact section.



Best regards,

Alex

define("ContactSectionV2", ["GridUtilitiesV2"], function(GridUtilities) {
	return {
		entitySchemaName: "Contact",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		methods: {
			prepareResponseCollection: function(collection) {
				this.callParent(arguments);
				collection.each(this.removeLink, this);
			},
 
			removeLink: function(item) {
				var AccountId = item.values.Account.value;
				if(AccountId != undefined) { 
					item.customStyle = {"pointerEvents": "none"} 
				}
 
			}
		}
	};
});

 

Hi Alex,

 

Thank you for the feedback.

I slightly modified your code, since it would only be applicable for one specific user:

            prepareResponseCollectionItem: function(collection) {

                this.callParent(arguments);

                var currentUser = Terrasoft.SysValue.CURRENT_USER.value;

                if (currentUser === "ff64c809-3ff0-4d10-b096-a9c351db37cb") {

                    collection.each(this.removeLink, this);

                }

            },

            removeLink: function(item) {

                var MemberId = item.values.UsrMember.value;

                if(MemberId !== undefined) { 

                    item.customStyle = {"pointerEvents": "none"};

                }

            }

But I am getting following error in the console: http://prntscr.com/lvylzy

--> message: TypeError: n.each is not a function

Any idea what went wrong?

 

Kind regards,

Vincent

Vincent Tahon,

Unfortunately, it`s hard to say what exactly goes wrong. You should debug your code via devtools. At first you should check where exception is raising. Then check the value and type of "n" variable.

Basically, It seems that "each" function doesn`t exist in "n" object.



How to debug client code:

https://academy.bpmonline.com/documents/technic-sdk/7-13/client-code-de…

Best regards,

Alex

 

Show all comments

Hi,

 

In the overview of a custom section, the contact is shown in the second column. Clicking this contact will redirect to the Contact page. --> http://prntscr.com/lu135p

Now I want to disable this link to the contact. 

I tried this:

 

prepareResponseCollectionItem: function(item) {

this.callParent(arguments);

item.customStyle = {

"pointerEvents": "none"

};

}

 

But this disables all links, not only the link to the contact.

Any ideas? 

 

Thanks!

Like 0

Like

1 comments

Dear Vincent,

Please draw your attention to the addColumnLink() method of the GridUtilities schema. 

You can override this method in the replacing schema of needed section. Set if clause check so to pick needed column out of the collection. Set this column property for pointer events.

In this case changes will be applied only to the indicated columns.

Hope you will find it helpful.

Regards,

Anastasia 

Show all comments

Hi,

I'm getting an error while trying to accomplish one of the exercises of the first Admin class.

Repro Steps:

1) Create a brand new trial instance in the following URL:

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

2) Once the trial is created and you are logged in, go to Contacts and select a Contact.

3) Menu "VIEW > Open section wizard".

4) Click on EDIT PAGE

5) Drag the "Birth date" field into the CONTACT INFO tab.

6) Click on the Page Settings icon.

7) Set a valid name (e.g. "UsrContactPageV2") and click SAVE.

8) Click on the SECTION WIZARD button to go back.

9) Click SAVE

10) After a while, the following error is displayed:

Unable to save schema. Name: UsrContactPageV2. Caption: Display schema - Contact card. Error: ObjectIsReadOnlyException. Unable to save changes for item "UsrContactPageV2". It is either created by third-party publisher or installed from the file archive. Contact system administrator.

I tried similar steps with an Account and I got the same error. I created a brand new trial just to make sure that I didn't break anything.

Any help would be appreciated.

Regards,

     Marcos

Like 0

Like

3 comments

Dear Marcos,

Hope you are doing great today. 

The reason for the issue might be connected to the system setting 'Current package'. You might have different package that is set as a default. Try to find it in the system settings and make sure the default value is - Custom https://prnt.sc/ltl1ul. If it doesn't help - please send your request at support@bpmonline.com for further investigation in your particular environment.

Best regards,

Dean

Hi Dean,

The Current Package is "Custom". The trial environment has not been modified, so everything is by default.

I'll send an email to support. Thank you.

Regards,

Marcos

Dear Marcos,

Thank you for the reply. Our support team will be glad to help you out. 

Have a wonderful day ahead.

Best regards,

Dean

Show all comments

Hello community,

my client is aiming to change the default document storage for attachments on every objects (Accounts, Contacts, Leads, Opportunities, Products, and Invoices) to Azure environment. 

They already have SSO for that Azure environment.

How could we handle this?

Thanks,

Like 0

Like

1 comments

Dear Danilo,

As for now there is no such functionality, unfortunately. As a workaround you may use the following application: https://marketplace.bpmonline.com/app/external-file-storage-bpmonline

Show all comments

Hi Community,

How can I create an excel file then send this excel file as email attachment using script task.

Like 0

Like

1 comments

Hello Fulgen!



Usually, we recommend to create business process for this purpose. It `s more convenient to develop and maintain it later. To generate excel file you can use "EPPlus" library which is frequently updated and comes under the GNU public license. There are some useful links below, please check it.



How to send email with attachments:  https://community.bpmonline.com/questions/email-attachments-business-pr…



Generate printable and send is as attachment:

https://community.bpmonline.com/articles/generate-printable-and-send-it…



Library "EPPlus":

https://github.com/JanKallman/EPPlus



Developing the configuration server code in the user project:

https://academy.bpmonline.com/documents/technic-sdk/7-13/developing-con…



Best regards,

Alex

 

Show all comments