Email
functional roles
7.13_()
studio

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
7.11
studio

Hello,

We have a grid that shows virtual objects, which we are getting over api, this detail is placed in a custom page also for a virtual object.

We have to show a list of history for each row in the grid on link click as a popup modal box(also the history detail is virtual).

Like 0

Like

1 comments

Hello ayman,



General properties and behavior of modal windows are specified in the ModalBox and ModalBoxSchemaModulemodules of the NUI package. 

In your specific case you should take a look on "LookupUtilitiesV2" schema. The modal window for selecting data from lookups is called in this schema.

So to achieve the task you should understand how the "LookupUtilitiesV2" works and create something similar.



Best regards,

Alex

Show all comments
7.11
studio

Hello,

Can we apply grouping in a virtual detail based on column value ?  

Like 0

Like

3 comments

Hello ayman,



Can you describe more precisely what you`re trying to achieve. Screenshots and pictures will be very helpful in that case.



Regards,

Alex

Alex_Tim,

Hi Alex,

We are trying to get a Grid like the attached screenshot.

 

ayman,

Hello,



In that case you should analyze the realisation of project structure detail on project page. http://prntscr.com/mtgbvn 

The code of the detail lies in "ProjectStructureDetailV2" client module. The idea is to find out how it works and create something similar.



Also I have found this application on marketplace, you can try it to understand if it suits for your purposes: 

https://marketplace.bpmonline.com/app/hierarchy-list-view-bpmonline

Best regards,

Alex

Show all comments
case number mask
7.13_()
studio

Hi Community,

How can I add the current year, in case number mask in system settings

 

Like 0

Like

1 comments

Dear Fulgen, 

Unfortunately, you would not be able to put this value in the system setting manually and it is not recommended to change system setting dynamically. You can edit current year in the case number using business process. You can find more information about working with Date in business process here:

https://academy.bpmonline.com/documents/technic-bpms/7-13/formulas#XREF…

Best regards, 

Dennis 

Show all comments

Hi Community,

Any Idea how can i do this, lets say in Current Case Edit Page, I want to know in client code if my previous screen before opening the Case edit Page is whether Case Section or Account Edit Page (referring to case section detail inside account edit page).

Thanks 

 

Like 0

Like

1 comments

See currentState from HistoryState

var state = sandbox.publish("GetHistoryState");

            var currentHash = state.hash;

            var currentState = state.state || {};                                           console.dir(currentState)

Show all comments
client code
7.13_()
studio

Hi Community,

How can I open an Edit Page in client code?

Like 0

Like

4 comments

Something like this

this.openCardInChain({
    schemaName: "UsrMyPage",
    operation: ConfigurationEnums.CardStateV2.EDIT,
    id: theIdToEdit,
    moduleId: this.sandbox.id + "_UsrMyPage"
});

You'll also need to add ConfigurationEnums to the modules list. This means you'll add ConifurationEnums to the module/page you're using this code above from:

define("UsrMyCurrentPageV2", ["ConfigurationEnums"],
	function(ConfigurationEnums) {
 
    //....
 
}

Ryan

Thank you Ryan, this is what i am looking.

Fulgen Ninofranco,

Hi,

 id: theIdToEdit,Here which id we have to mention in the code.

praveen n,

Supply the Id of the record.

Show all comments
functional roles
studio

I have a process including approvals, where I want if the Creator of the object is in the approver role, then the object skips the approval process. How do I use System Actions to get the functional roles of the Creator, which I know how to get using Read data, and determine if any of them are the approver role?

 

 

 

 

 

 

Like 0

Like

4 comments

Dear Janine,

If your approver is a certain role you can create conditional flows to manage the process. Please see my example below:

http://prntscr.com/mqw6gs

1) Read record that must be approved http://prntscr.com/mqw6q0

2) Read user that created this record http://prntscr.com/mqw6ub

3) Count roles that he have (I tested this case for System Administrator role - he does not need to Approve) http://prntscr.com/mqw6xu

4) If the amount of roles is greater than 0 - perform task, if 0 9default flow) - make Approval. http://prntscr.com/mqw70y

Hope it helps!

Best regards,

Angela

Angela Reyes,

Perfect.  Thanks!

What if the current user is not the creator of the record and I specifically want to look up the roles of the Creator?

Angela Reyes,

I was able to get this working by reading the User from System administration object, instead of Users/roles (view).

Show all comments
pre-configured page
7.12_()
studio

Is it possible to translate this string, for example by setting it up manually from JavaScript?

Like 0

Like

3 comments

Hello Carlos,

Generally speaking, usually to translate some strings "Translation" section is used. You can read more about it in this article: https://academy.bpmonline.com/documents/base/7-13/how-identify-translat…



Other way to achieve it is to find the resource string in table  SysLocalizableValue and change it`s value directly in the database.



Also you can create a new replacing client module where change the element`s binding to new string. Example of such binding: http://prntscr.com/mqsibp



Best regards,

Alex

Alex_Tim,

Thanks. And what if the recommendation is set up by a formula and looks something like this?

"Number of something: " + [#Read number of something.First item of resulting collection.Number#]

 

Carlos Zaldivar Batista,

You can simply change the formula and save the business process as new version.

If the string is coming from the database you can change it by sql query or via business process element "modify data".

Regards,

Alex 

Show all comments

Hi Community,

How can I change the cell color of the grid in a detail just like this example below on how to change the text and background color of section records

https://academy.bpmonline.com/documents/technic-sdk/7-13/how-highlight-…

Like 0

Like

7 comments

Hello Fulgen,

The idea is to connect your custom css styles to the desired detail. 

Here is the article which is describing it: https://academy.bpmonline.com/documents/technic-sdk/7-13/advanced-setti….



I recommend to test your styles in devtools before adding css to the schema. It is the most effective way to make cells look like you want .



Best regards,

Alex

Thank you alex,

What I need also is to put logic on every record to identify which color it will be. The same as overriding the prepareResponseCollectionItem method in section, It will be like the code below, but I need to apply it on detail records. How can I do that with detail? repareResponseCollectionItem: function(item) {

                // Calling the base method.
                this.callParent(arguments);
                item.customStyle = null;
                // Determining the order status.
                var running = item.get("Status");
                //If the status of the order is "In progress", the record style changes.
                if (running.value === OrderConfigurationConstants.Order.OrderStatus.Running) {
                    item.customStyle = {
                        // The text color is white.
                        "color": "white",
                        // The background color is green.
                        "background": "8ecb60"
                    };
                }
            }

 

Fulgen Ninofranco,

Actually, the grid details are using same method, so you should override it in detail schema. For example, I added this method to my detail  

http://prntscr.com/mpw1qy

and now items where quantity = 1 have red text color http://prntscr.com/mpw48t



Best regards,

Alex

Thank you Alex, overriding this method also works for detail grid.

Do you have any idea how to do this, one of our client requirements is to change only the color of status column, not all the columns in a row?

Hello!



We  have tried to apply this in editable detail. But colors are not changed when record is changed and saved.

Colors are applied only when the page is reopened or refreshed

 

What can we do with that?



Thank you!

Vladimir Sokolov,

The only way I could get that to work was a bit hacky. Add a saveDataRow method to override the existing one and do something like this (using Ext to reapply the styles). The code I used looked something like this (this is a shortened version)

saveDataRow: function(row, callback, scope) {
	// this returns something like { "background-color": "#080808" } etc
	var style = this.getRowStyle(row); 
 
	setTimeout(function() {
		Ext.select("div[id$=item-" + row.get(row.primaryColumnName) + "].grid-row-selected").applyStyles(style);
	}, 1000);
 
	this.mixins.ConfigurationGridUtilities.saveDataRow.apply(this, arguments);
},

The problem is that depending on how long for the row to get actually saved could make this not work. I plan on revisiting this to apply the styles once the update is complete (instead of when the save starts) boy replacing the callback arg passed, but sharing this now so maybe it gets you in the right direction.

Ryan

Show all comments

Hi community,

 

How we can filter the section records in client code

Like 0

Like

1 comments

Hello Fulgen,



To perform some filtration in section via client code you should note on "getFilters" method. Actually, you should create a new replacing client module for your section and override this method. 

The example can be found in "ActivitySectionV2" schema in "NUI" package.



Best regards,

Alex

Show all comments