Question

There are onInit and onRender methods available in client modules but neither of them runs after the page has rendered completely. Is there a method that is called after the DOM tree is ready?

Like

0 comments
Log in or register to comment
Question

How to select the multiple options in dropdown list in bpm online

Like

5 comments

The main question is what you're going to do with the selected data. You will not be able to insert multiple values into a field on a page. A field is just a cell in a table. In order to process multiple values you need either write your own JS code or use a detail.

Anyway, you can open a multiple selection lookup page with the "LookupUtilities" module. There is an "OpenLookup" method there. Specify the "multiSelect" property and you'll be able to select multiple values. 

http://prntscr.com/k72fh6

Eugene Podkovka,

selected options in dropdown  are stored in database in bpm online tool

 

Eugene Podkovka

http://jsfiddle.net/pmrotule/w7aakdbb/

see the link same functionality i want to implement in bpm online and data is store in database.

Can you please guide me how to approach 

kishore,

The detail with the multiple selection would be the closest thing you can get:

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

You will be able to place a detail on a page and  select multiple enties.

Matt

Matt Watts,

my output not like that 

my output see below link

http://jsfiddle.net/pmrotule/w7aakdbb/

Log in or register to comment
Question

Is it possible to put a button (or custom link) on the side bar, where sections are? If it's not possible with the current framework - do you think it would break something if such button was placed there using jQuery?

Like

2 comments

Dear Carlos,

You may try add a usual custom section, put it at any workplace you want and then override init function in section module:
init: function() { window.location.href = "http://bpmonline.com"; }

After clicking on this section http://bpmonline.com page will be opened.

If everything works fine you can delete all unnecessary code created by Section Wizard leaving only the needed one to your section work properly.

You may add everything on the page using jquery but you should be careful with it. Of course you can break something if do it in a wrong way but it's related to any code that developers write.

Thank you very much, it worked.

Log in or register to comment
Question

When running an example.

We are getting errors like 

'Alert' not defined.

Please suggest.

Like

1 comments

Hello,

There are various reasons for the error like that to appear.For us to be able to assist you with finding the root cause of it, specify the steps taken and attach the screenshot of the error message. 

Lisa

Log in or register to comment
Question
Hi Sir/Madam,
I request you to please check, below validation code for data control(if age < 18, error message should be  displayed) I have added localized string given name(InvalidDOBFormat) and value(Incorrect) but error message is not displayed
    methods: {            
                this.addColumnValidator("UsrDateofbirth", this.dobValidator);            
     },
     dobValidator: function(value) {
                var invalidMessage = "";
                var isValid = true;
                var number = value || this.get("UsrDateofbirth");
                
                var nd = number.substr(0, 2);
                var nm = number.substr(3, 2);
                var ny = number.substr(6, 2);
                var cnumber = "";
                cnumber = nm + "-" + nd + "-" + ny;
                
                var today = new Date();
                var birthDate = new Date(cnumber);
                        
                //day
                var tdate = today.toString();
                var td = tdate.substr(8, 2);
                td = parseInt(td, td);
                var bd = number.substr(0, 2);
                bd = parseInt(bd, bd);
                var d = bd - td;
                        
                //year
                var age = today.getFullYear() - birthDate.getFullYear();
                
                //month
                var todayMonth = today.getMonth() + 1;
                var getMonthName =  birthDate.toString();
                var monthName = getMonthName.substr(4, 3);
                var bdmonthnumber;
                
                todayMonth = parseInt(todayMonth, todayMonth);
                
                if (monthName === "Jan") {
                    bdmonthnumber = 1;
                } else if (monthName === "Feb") {
                    bdmonthnumber = 2;
                } else if (monthName === "Mar") {
                    bdmonthnumber = 3;
                } else if (monthName === "Apr") {
                    bdmonthnumber = 4;
                } else if (monthName === "May") {
                    bdmonthnumber = 5;
                } else if (monthName === "Jun") {
                    bdmonthnumber = 6;
                } else if (monthName === "Jul") {
                    bdmonthnumber = 7;
                } else if (monthName === "Aug") {
                    bdmonthnumber = 8;
                } else if (monthName === "Sep") {
                    bdmonthnumber = 9;
                } else if (monthName === "Oct") {
                    bdmonthnumber = 10;
                } else if (monthName === "Nov") {
                    bdmonthnumber = 11;
                } else if (monthName === "Dec") {
                    bdmonthnumber = 12;
                }
        
                var m = todayMonth - bdmonthnumber;
                //console.log("m"+m);
                if ((age === 18) && (m === 0) && (d === 0)) {
                    isValid = true;
                } else if ((age === 18) && (m === 0) && (d < 0)) {
                    isValid = false;
                } else if ((age === 18) && (m === 0) && (d > 0)) {
                    isValid = true;
                } else if (age < 18) {
                    isValid = false;
                } else if (age > 18) {
                    isValid = true;
                }
                
                if (!isValid) {
                    invalidMessage = this.get("Resources.Strings.InvalidDOBFormat");
                }
                // Object which properties contain validation error messages.
                // If the validation is successful, empty strings are returned to the object.
                return {
                    invalidMessage: invalidMessage
                };
          }

Regards
Raghu Ram

Like

3 comments

Dear Raghu,

In order for the functionality to start working, you need to either place an event listener, which will be listening for the column value change, or call the parent implementation of basic validator method. You can do that in two ways.

First approach is based on our basic functionality: addColumnValidator() method. I can see, that you have chosen this way, though, you need to call addColumnValidator inside the setValidationConfig method. This is due to the fact, that the parent implementation of the setValidationConfig() method must be called before calling the addColumnValidator() method to correctly initialize validators of the base page fields.

setValidationConfig: function() {
   // Calls the initialization of validators for the parent view model.
   this.callParent(arguments);
    // The dobValidator() validate method is added to the [UsrDateofbirth] column.
    this.addColumnValidator("UsrDateofbirth", this.dobValidator);
}

Second approach does not use basic validator functionality. You can write a validation method (like dobValidator()) and add change event listener to the onEntityInitialized function. In such way you indicate, that once the column value gets changed(inserted), the system will run the custom validator method. In the method block, please add the following:

onEntityInitialized: function() {
   this.callParent(arguments);
   //which [column] should trigger a validation [method]
   this.on("change:[column]", this.[method], this);
}

Regards,

Anastasia

Anastasia Botezat,

Hi Sir/Madam,

I have called addColumnValidator inside the setValidationConfig method still I'm not getting the error message

 

  methods: { 
 
        setValidationConfig: function() {                
                this.callParent(arguments);
                this.addColumnValidator("UsrDOB", this.dobValidator);                
        },   
 
        dobValidator: function(value) {
                var invalidMessage = "";
                var isValid = true;
                var number = value || this.get("UsrDateofbirth");
 
                var nd = number.substr(0, 2);
                var nm = number.substr(3, 2);
                var ny = number.substr(6, 2);
                var cnumber = "";
                cnumber = nm + "-" + nd + "-" + ny;
 
                var today = new Date();
                var birthDate = new Date(cnumber);
 
                //day
                var tdate = today.toString();
                var td = tdate.substr(8, 2);
                td = parseInt(td, td);
                var bd = number.substr(0, 2);
                bd = parseInt(bd, bd);
                var d = bd - td;
 
                //year
                var age = today.getFullYear() - birthDate.getFullYear();
 
                //month
                var todayMonth = today.getMonth() + 1;
                var getMonthName =  birthDate.toString();
                var monthName = getMonthName.substr(4, 3);
                var bdmonthnumber;
 
                todayMonth = parseInt(todayMonth, todayMonth);
 
                if (monthName === "Jan") {
                    bdmonthnumber = 1;
                } else if (monthName === "Feb") {
                    bdmonthnumber = 2;
                } else if (monthName === "Mar") {
                    bdmonthnumber = 3;
                } else if (monthName === "Apr") {
                    bdmonthnumber = 4;
                } else if (monthName === "May") {
                    bdmonthnumber = 5;
                } else if (monthName === "Jun") {
                    bdmonthnumber = 6;
                } else if (monthName === "Jul") {
                    bdmonthnumber = 7;
                } else if (monthName === "Aug") {
                    bdmonthnumber = 8;
                } else if (monthName === "Sep") {
                    bdmonthnumber = 9;
                } else if (monthName === "Oct") {
                    bdmonthnumber = 10;
                } else if (monthName === "Nov") {
                    bdmonthnumber = 11;
                } else if (monthName === "Dec") {
                    bdmonthnumber = 12;
                }
 
                var m = todayMonth - bdmonthnumber;
                //console.log("m"+m);
                if ((age === 18) &amp;&amp; (m === 0) &amp;&amp; (d === 0)) {
                    isValid = true;
                } else if ((age === 18) &amp;&amp; (m === 0) &amp;&amp; (d &lt; 0)) {
                    isValid = false;
                } else if ((age === 18) &amp;&amp; (m === 0) &amp;&amp; (d &gt; 0)) {
                    isValid = true;
                } else if (age &lt; 18) {
                    isValid = false;
                } else if (age &gt; 18) {
                    isValid = true;
                }
 
                if (!isValid) {
                    invalidMessage = this.get("Resources.Strings.InvalidDOBFormat");
                }
                // Object which properties contain validation error messages.
                // If the validation is successful, empty strings are returned to the object.
                return {
                    invalidMessage: invalidMessage
                };
        }
}

Regards

Raghu Ram

Dear Raghu,

The error message does not appear, because of the errors in the validation function. Please consider rewriting the birthDay variable, since it passes date to new Date() method in a wrong format.

Sincerely,

Anastasia Botezat

Log in or register to comment
Question

Dear Sekhar,

This green lock means that the package is locked in the SVN repository. Nobody can commit this package while it is locked except the person who locked it. But you can develop in this package and save your changes locally. After you made your changes just commit to repository and press the green lock again to unlock a package. More on topic learn here

Thanks peter

Log in or register to comment
Question

I added a post regarding DB files and initial installation of bpm online on site environment. I am not able to see that post and the community member comments for it. I am getting access denied error.

Can any one help me understand what went wrong?

Like

1 comments

Hello!

This post should be available for you now. Please check your profile in order to see the post you have published previously.

Hope you have a good day!

Matt

Log in or register to comment
Question

Hi Community,

I am new to bpm'online. I have started my training with on cloud environment. Now,I want to install on-site environment. I went through the steps provided in user guide for installation but I am not able to find DB backup files or initial installation file to proceed. Please let me know where I can get these details.

Any help is appreciated.

Thanks,

Heena Karir

Like

1 comments

Dear Heena,

according to our company regulations, we can provide the files for local installation only in case of purchasing our product. Right now for testing you can use our cloud environment.

Thanks for contacting us.

 

Log in or register to comment
Question

Hi Community,

I have no button to export the translations in the system. I have allowed the rights to the ‘Export list records’ operation in the Operation permissions section in System Designer.

How can I enable the button?

Like

1 comments

Dear Martin,

The export option in Translations is available starting from 7.12.2 system version. In all the previous versions you need to add the lookup for Translations and export the data from it.

Lisa

Log in or register to comment
Question

dear my friend

i create query with EntitySchemaQuery. can i order root schema with colomn on root schema

getModulePrintFormsESQ: function() {
			var entitySchemaName = this.getEntitySchemaName();
			var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
				rootSchema: SysModuleReport,
				isDistinct: true,
				rowViewModelClassName: "Terrasoft.BasePrintFormViewModel"
			});

thx before

Chairul Anwar

 

Like

2 comments

Yes, you can.
Just push the result columns to the esq, and set sorting by specifying the index of the column and the sort order

var entitySchemaQuery = Ext.create("Terrasoft.EntitySchemaQuery", {
	rootSchemaName: entitySchemaName
});
 
var modifiedOnColumn = entitySchemaQuery.addColumn("ModifiedOn", "ModifiedOn");
 
modifiedOnColumn.orderPosition = 0;
modifiedOnColumn.orderDirection = Terrasoft.OrderDirection.ASC;

 

Anastasia Botezat,

thanks so much anastasia. i can order that page.

Log in or register to comment