- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-06-2017 12:02 AM
Hello all,
I have made a table App Number, and its form has a field App No. My requirement is that when any record is created with its App No. field entry as empty, a unique number is generated for all empty entries entries in sequential order.
As per the above screenshot , in all records which are empty I want some number to be auto generated. Like for First empty entry Number is EMP1 for second its EMP2 and so on.. and the number should not be duplicated, they must be unique.
Can anybody help me with this requirement?
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-08-2017 11:02 PM
Hi Arpita,
Thank you for let me know about the bug in the code.
This happened because of the order by of string field.
Here is the revised version of the BR-
(function executeRule(current, previous /*null when async*/) {
//selecting max number
var curr_max_num=0;
var next_num=0;
var gr = new GlideRecord('u_app_number');
gr.addQuery('u_app_no','CONTAINS','EMP-');
gr.query();
while(gr.next())
{
var max_str=gr.u_app_no;
var array = max_str.split('-');
var recnum=parseInt(array[1]);
if(recnum>curr_max_num)
curr_max_num= recnum;
}
var nxt_val=curr_max_num+1;
var nxt_val_str='EMP-'+nxt_val;
current.u_app_no=nxt_val_str;
})(current, previous);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-08-2017 04:16 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-08-2017 11:02 PM
Hi Arpita,
Thank you for let me know about the bug in the code.
This happened because of the order by of string field.
Here is the revised version of the BR-
(function executeRule(current, previous /*null when async*/) {
//selecting max number
var curr_max_num=0;
var next_num=0;
var gr = new GlideRecord('u_app_number');
gr.addQuery('u_app_no','CONTAINS','EMP-');
gr.query();
while(gr.next())
{
var max_str=gr.u_app_no;
var array = max_str.split('-');
var recnum=parseInt(array[1]);
if(recnum>curr_max_num)
curr_max_num= recnum;
}
var nxt_val=curr_max_num+1;
var nxt_val_str='EMP-'+nxt_val;
current.u_app_no=nxt_val_str;
})(current, previous);