Inventory scanner is used to check the inventory count of the items. Each item will be shown in a list and these items will be marked green if the items are scanned. The user can re-verify the items in the warehouse with the help of inventory management tool.
An HTML page and a suitelet which loads the HTML and receive post request for the checking of an item available in the warehouse.
HTML page
<!DOCTYPE html>
<html>
<title>Megatel Wireless</title>
<head>
<script type="text/javascript" src="https://gc.kis.v2.scr.kaspersky-labs.com/E6E733A4-926A-BD43-9939-C790AD19FB4D/main.js" charset="UTF-8"></script><link rel="stylesheet" crossorigin="anonymous" href="https://gc.kis.v2.scr.kaspersky-labs.com/D4BF91DA097C-9399-34DB-A629-4A337E6E/abn/main.css"/><script type="text/javascript" src="https://gc.kis.v2.scr.kaspersky-labs.com/E6E733A4-926A-BD43-9939-C790AD19FB4D/main.js" charset="UTF-8"></script><link rel="stylesheet" crossorigin="anonymous" href="https://gc.kis.v2.scr.kaspersky-labs.com/D4BF91DA097C-9399-34DB-A629-4A337E6E/abn/main.css"/><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<style type="text/css">
#container{
top: 50%;
left: 50%;
vertical-align: center;
height: 100%;
border: 1px ;
padding: 25px;
}
#label{
margin-top: 12px;
margin-bottom: 16px;
margin-left: 30px;
resize: vertical;
display: inline;
width: 95%;
text-align: center;
font-size: 18px;
}
#keylabel{
margin-top: 12px;
margin-bottom: 16px;
margin-left: 30px;
resize: vertical;
display: inline;
width: 95%;
text-align: center;
}
select#location_select,#commisonary_select {
-webkit-appearance: button;
-webkit-border-radius: 2px;
-webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1);
-webkit-padding-end: 20px;
-webkit-padding-start: 2px;
-webkit-user-select: none;
background-image: url(), -webkit-linear-gradient(#FAFAFA, #F4F4F4 40%, #E5E5E5);
background-position: 97% center;
background-repeat: no-repeat;
border: 1px solid #767676;
color: #767676;
font-size: inherit;
margin: 20px;
overflow: hidden;
padding: 5px 10px;
text-overflow: ellipsis;
white-space: nowrap;
width: 210px;
}
select#location_select,#commisonary_select {
color: #fff;
background-image: url(http://i62.tinypic.com/15xvbd5.png), -webkit-linear-gradient(#ec6459, #dc0f0f 40%, #8c2a2a);
background-color: #f54242;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 0px;
padding-left: 15px;
}
h1 {
color: #1fb5ac;
position: absolute;
top: 50%;
left: 50%;
margin-top: -130px;
margin-left: -120px;
}
.success {
background-color: #95b75d;
border: none;
color: white;
/* padding: 15px 32px;*/
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 14px;
margin: 2px 2px;
width:175px;
height:40px;
}
.startscan {
background-color: #95b75d;
border: none;
color: white;
/* padding: 15px 32px;*/
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 14px;
margin: 2px 2px;
cursor: pointer;
width:175px;
height:40px;
border-radius: 25px
}
.stopscan {
background-color: #ec6459;
border: none;
color: white;
/* padding: 15px 32px;*/
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 14px;
cursor: pointer;
margin: 2px 2px;
width:175px;
height:40px;
border-radius: 15px
}
.sort {
background-color: #5cb0f9;
border: none;
color: white;
/* padding: 15px 32px;*/
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 14px;
cursor: pointer;
margin: 2px 2px;
height:35px;
border-radius: 5px
}
.error {
background-color: red;
border: none;
color: white;
/* padding: 15px 32px;*/
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 14px;
width:175px;
height:40px;
margin: 2px 2px;
}
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
max-width: 1000px;
align-content: center;
align-items: center;
-webkit-box-align: center;
font-size: 14px;
}
th{color:#777777;}
td, th {
border: 1px solid #333;
text-align: left;
padding: 8px;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
}
li {
float: left;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover {
background-color: #111;
}
#back,#record,#deleterecord,#checkprev {
background-color:#0875e2;
border: none;
color: white;
/*padding: 10px 20px;*/
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 25px 2px;
cursor: pointer;
border-radius: 4px;
height: 28px;
float: left;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}
#Serial{
border-radius:8px;
width:300px;
height:20px;
}
#ss{
width: 87%;
}
</style>
</head>
<body >
<audio id="error">
<source src="<REPLACEWITHERRORALERT>" type="audio/ogg">
</audio>
<audio id="success">
<source src="<REPLACEWITHSUCCESSALERT>" type="audio/ogg">
</audio>
<script>
var error_sound = document.getElementById("error");
var success_sound = document.getElementById("success");
function playerror() {
error_sound.play();
$("#result_error").show();
$("#result_success").hide();
}
function playsuccess() {
success_sound.play();
$("#result_success").show();
$("#result_error").hide();
}
</script>
<ul>
<li><img src="<REPLACEWITHLOGO>" style="width:200px;height:65px;"></li>
<li><select id ="location_select" onchange="postloc()">
<option value="">Choose Loc :</option>
<REPLACESELECTFIELD>
</select><select id ="commisonary_select" onchange="postloc()">
<option value="">Choose commisionary:</option>
<REPLACE2SELECTFIELD>
</select></li>
<li></li>
<li style="float: right;"><button id="back" onclick="goBack()">Go Back</button><button id = "record"onclick="search()">Check Record</button><button id = "deleterecord"onclick="deleter()">delete Record</button></li>
</ul>
<div id="container">
<script>
function goBack() {
window.history.back();
}
function search(){
window.open("https://system.na1.netsuite.com/app/common/search/searchresults.nl?searchid=399&whence=&whence=", "Record Search", "height=800,width=1200");
}
function deleter(){
$.post("<REPLACEWITHSCRIPTURL>",
{
deleter:"delete",
starterflag:'<REPLACEWITHUSERID>'
},
function(data,status){
// alert("delete " + status);
console.log(data);
if(data=="againdelete"){
deleter();
} else{
alert("delete success");
}
});
}
</script>
</div>
<p></p>
<div align="center"><button class="button startscan" id ="startscan" align="center" style='display:block;' onclick="start()">Start Scanning</button></div>
<div align="center"><button class="button stopscan" id ="stopscan" align="center" style='display:none;' onclick="stop()">Stop Scanning</button>
</div>
<div id="label" align="center" style='display:none'>
<label style="color:black;display: block;">Check Inventory Item</label>
<span> <input type="checkbox" name="inputmethod" value="manualentry"> Keyboard<br></span>
<p><input type="scanned_results" name="Serial" id="Serial"></p>
<button id ="checkprev" align="center" style='display:none;' onclick="checkprev()">check Previous</button>
<br/>
</div>
<div id="keylabel" align="center" style='display:none'>
<label style="color:black;display: block;">Check Inventory Item </label>
<span> <input type="checkbox" name="inputmethod" value="manualentry"> Barcode<br></span>
<p><input type="scanned_results" name="Serial" id="keySerial"><button class="button key" id ="key" onclick="keyboardfun()">Enter</button></p>
<br/>
</div>
<script >
$("input:checkbox").click(function(){
$('#label').toggle();
$('#keylabel').toggle();
$('#keylabel').attr('checked', false);
$('#label').attr('checked', false);
});
</script>
<script >
var sortedtable = [];
function checkprev(){
$.post("https://system.na1.netsuite.com/app/site/hosting/scriptlet.nl?script=311&deploy=1",
{
session:'<REPLACEWITHUSERID>'
},
function(data,status){
console.log(data);
var serialarray = data.split(',');
console.log(serialarray.length);
console.log(serialarray);
var inventory_items = [];
for(var j=0 ;j<serialarray.length;j++){
filter = serialarray[j].toUpperCase();
table = document.getElementById("details");
tr = table.getElementsByTagName("tr");
for (var i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
if (td.innerHTML.toUpperCase() == filter) {
tr[i].style.background = "#C1FA5D";
sortedtable.push(tr[i].innerHTML);
// console.log(tr[i].innerHTML);
var temp = tr[i].innerHTML
//console.log((tr[i].innerHTML).substr(4, temp.indexOf("/")));
var temp1 = (tr[i].innerHTML).substr(4, temp.indexOf("/"));
inventory_items.push(temp1.replace("</td>", ''));
// $('#details tbody').prepend(tr[i]);
}
}
}
}
console.log("inve"+inventory_items);
var Noninventory = arrayDiff(serialarray, inventory_items);
console.log(Noninventory.length +"Noninventory");
if(Noninventory !=null ||Noninventory!=""){
for(var i =0;i<Noninventory.length;i++){
$('#details').append("<tr bgcolor='#FA5D5D'><td>" + Noninventory[i]
+ "</td><td></td><td></td></tr>");
}
}
function arrayDiff(serialarray, item_name) {
var source = serialarray;
return serialarray.filter(function(i) {
if (item_name.indexOf(i) < 0) {
return true;
} else {
return false;
}
});
};
});
}
</script>
<div align="center" style="height:20px;" >
<button class="button success" id ="result_success" style='display:none'>Match Found</button>
<button class="button error" id ="result_error" style='display:none'>Match Not Found</button>
</div>
<div id="numberof" align="left" > Total Displayed : </div>
<div id="ss" align="right" ><button class="button sort" id ="sort" align="left" style='display:none;' onclick="sort()">Sort Table</button></div>
<table id="details" align="center" style='display:none'>
<tr>
<th>Serial Number</th>
<th>Item Id</th>
<th>Item Name</th>
</tr>
<tbody></tbody>
</table>
<table id="tablesort" align="center" style='display:none'>
<tr>
<th>Serial Number</th>
<th>Item Id</th>
<th>Item Name</th>
</tr>
<tbody></tbody>
</table>
</div>
<script>
var locids;
var flag = 0;
var startflag = 0;
var sortflag = 0;
var loc;
var commissioncat;
var commissionid;
function postloc(){
locids = $('#location_select').val();
flag=flag+1;
loc = $('[name="selectloc"]').attr('id');
commissionid = $('#commisonary_select').val();
// commissioncat = $('[name="selectcom"]').attr('id');
// alert("commissioncat"+commissioncat);
}
function start(){
startflag = startflag +1 ;
if(flag>1){
$("#label").show();
$("#details").show();
$("#startscan").hide();
$("#stopscan").show();
$("#sort").show();
$("#checkprev").show();
if(startflag>1){
$("#details").show();
$("#label").show();
$("#details").show();
$("#startscan").hide();
$("#stopscan").show();
$("#tablesort").hide();
$("#checkprev").show();
}
var i = 0;
repost(i);
function repost(data){
console.log("data"+data);
$.post("<REPLACEWITHSCRIPTURL>",
{
locid: locids,
location:loc,
commission:commissionid,
flager:data
},
function(data,status){
console.log(data);
if (data.indexOf("again_post") >= 0){
i= i+1;
repost(i);
console.log("i"+i);
}
if(startflag>1){
$("#details").html("");
$('#details').append("<tr> <th>Serial Number</th> <th>Item Id</th> <th>Item Name</th></tr>");
$('#details').append(data);
}else{
$('#details').append(data);
var rowCount = $('#details tr').length;
rowCount = rowCount - 1;
$('#numberof').html("Total Displayed : " + rowCount);
}
});
}
}else{
alert('Fields are Empty!!!!');
}
}
function stop(){
$("#label").hide();
$("#startscan").show();
$("#stopscan").hide();
$("#result_error").hide();
$("#result_success").hide();
$("#sort").show();
var defaulttable = sorter("#efefef","rgb(239, 239, 239)");
// var nondetected = [];
// for(var i = 0;i<defaulttable.length;i++){
// nondetected.push(defaulttable[i].substring(26, defaulttable[i].indexOf("</td>")));
// }
// nondetected= nondetected.toString();
// $.post("https://system.na1.netsuite.com/app/site/hosting/scriptlet.nl?script=311&deploy=1",
// {
// stop: "stop",
// serialarray:nondetected,
// locid: locids,
// location:loc,
// commission:commissionid,
// starterflag:'<REPLACEWITHUSERID>'
// },
// function(data,status){
// });
// console.log(nondetected);
var nondetected = [];
for(var i = 0;i<defaulttable.length;i++){
nondetected.push(defaulttable[i].substring(26, defaulttable[i].indexOf("</td>")));
}
//nondetected = nondetected.toString();
var splitby = 50;
var sendarray = nondetected.map( function(array,i){
return i%splitby===0 ? nondetected.slice(i,i+splitby) : null;
})
.filter(function(array){ return array; });
console.log("sendarray.length"+sendarray.length);
console.log(sendarray[1]);
for(var i=0;i<1;i++){
console.log("sendarray[i].length"+sendarray[i].length);
console.log(i);
var array = sendarray[i].toString();
$.post("https://system.na1.netsuite.com/app/site/hosting/scriptlet.nl?script=311&deploy=1",
{
stop: "stop",
serialarray:array,
locid: locids,
location:loc,
commission:commissionid,
starterflag:'<REPLACEWITHUSERID>'
},
function(data,status){
});
}
}
function sort(){
sortflag = sortflag + 1;
if(sortflag > 1){
$("#tablesort").html("");
$('#tablesort').append("<tr> <th>Serial Number</th> <th>Item Id</th> <th>Item Name</th></tr>");
}
var matchfound = sorter("#C1FA5D","rgb(193, 250, 93)");
var matchnotfound = sorter("#FA5D5D","rgb(250, 93, 93)");
var defaulttable = sorter("#efefef","rgb(239, 239, 239)");
for(var i=0;i<matchfound.length;i++){
$('#tablesort').append(matchfound[i]);
}
for(var i=0;i<matchnotfound.length;i++){
$('#tablesort').append(matchnotfound[i]);
}
for(var i=0;i<defaulttable.length;i++){
$('#tablesort').append(defaulttable[i]);
}
$("#tablesort").show();
$("#details").hide();
// $("#label").hide();
// $("#result_error").hide();
// $("#result_success").hide();
}
function sorter(hex,rgb){
var sortingarray = [];
var sorttable = $('#details').find('tr').filter(function(){
var colors = [hex,rgb];
return $.inArray($(this).css('background-color'), colors) !== -1;
});
for(var i=0;i<sorttable.length;i++){
sortingarray.push("<tr bgcolor='"+hex+"'>"+sorttable[i].innerHTML+"</tr>");
}
return sortingarray;
}
$(document).ready(function(){
var checkarray = [];
// $('#details').append('<tr><td>my data</td><td>more data</td><td>more data</td></tr>');
$("input").delayKeyup(function(){
// $('#input').delayKeyup(function(){ alert("5 secondes passed from the last event keyup"); }, 5000);
var serial_no = $('#Serial').val();
if(serial_no!= ""){
for(var i=0;i<checkarray.length;i++){
if(serial_no == checkarray[i]){
alert("Alredy scanned results")
serial_no = "";
$('#Serial').val('');
}
}
checkarray.push(serial_no);
$.post("<REPLACEWITHSCRIPTURL>",
{
serial: serial_no,
locid: locids,
location:loc,
commission:commissionid,
starterflag:'<REPLACEWITHUSERID>'
},
function(data,status){
console.log(data);
var response = data.substr(0, 5);
if(response == "ERROR"){
playerror();
$('#details').append(data);
}else
{
playsuccess();
var sortedtable = [];
var filter;
var table ;
var tr, td;
// alert(data);
filter = data.toUpperCase();
table = document.getElementById("details");
tr = table.getElementsByTagName("tr");
for (var i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
if (td.innerHTML.toUpperCase() == filter) {
tr[i].style.background = "#C1FA5D";
sortedtable.push(tr[i].innerHTML);
// $('#details tbody').prepend(tr[i]);
}
}
}
}
});
}
$('#Serial').val('');
},2000);
});
(function ($) {
$.fn.delayKeyup = function(callback, ms){
var timer = 0;
$(this).keyup(function(){
clearTimeout (timer);
timer = setTimeout(callback, ms);
});
return $(this);
};
})(jQuery);
/*Keyboard enter action scritps*/
function keyboardfun(){
var checkarray = [];
var serial_no = $('#keySerial').val();
if(serial_no!= ""){
for(var i=0;i<checkarray.length;i++){
if(serial_no == checkarray[i]){
alert("Alredy scanned results")
serial_no = "";
$('#keySerial').val('');
}
}
checkarray.push(serial_no);
$.post("<REPLACEWITHSCRIPTURL>",
{
serial: serial_no,
locid: locids,
location:loc,
commission:commissionid,
starterflag:'<REPLACEWITHUSERID>'
},
function(data,status){
console.log(data);
var response = data.substr(0, 5);
if(response == "ERROR"){
playerror();
$('#details').append(data);
}else
{
playsuccess();
var sortedtable = [];
var filter;
var table ;
var tr, td;
// alert(data);
filter = data.toUpperCase();
table = document.getElementById("details");
tr = table.getElementsByTagName("tr");
for (var i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
if (td.innerHTML.toUpperCase() == filter) {
tr[i].style.background = "#C1FA5D";
sortedtable.push(tr[i].innerHTML);
// $('#details tbody').prepend(tr[i]);
}
}
}
}
});
}
$('#keySerial').val('');}
</script>
</body>
</html>
Suitelet Page
/**
* @NApiVersion 2.x
* @NScriptType Suitelet
* @NModuleScope SameAccount
*/
/**
/**
* Script Description
* This suitelet is search the Inventory record
* additems to custom record
*/
/*******************************************************************************
*
* Support Files
*
* *****************************************************************************
*
* suitelet - JJ_SL_Megatel_HTML HTML - JJ_HTML_Megatel_form
*
* $Date: 1/07/2017 $ $Author: Jobin & Jismi IT Services LLP $
*
* DESCRIPTION
*
*
* REVISION HISTORY Update:
*
*
*
******************************************************************************/
define([ 'N/file', 'N/http', 'N/https', 'N/search', 'N/ui/serverWidget',
'N/url', 'N/record' ],
/**
* @param {file}
* file
* @param {http}
* http
* @param {https}
* https
* @param {search}
* search
* @param {serverWidget}
* serverWidget
* @param {url}
* url
*/
function(file, http, https, search, serverWidget, url, record) {
/**
* Definition of the Suitelet script trigger point.
*
* @param {Object}
* context
* @param {ServerRequest}
* context.request - Encapsulation of the incoming request
* @param {ServerResponse}
* context.response - Encapsulation of the Suitelet response
* @Since 2015.2
*/
function onRequest(context) {
var item_name;
var location;
var itemid = 0;
var category;
var serialno;
var averagecost;
var modified ;
var onhand;
var item_name_array = [];
var itemid_array = [];
var location_array = [];
var serialnumber = [];
var categoryarray = [];
if (context.request.method === 'POST') {
var serial = context.request.parameters.serial;
var locid = context.request.parameters.locid;
var commision = context.request.parameters.commission;
var erasor = context.request.parameters.deleter;
var flag = context.request.parameters.flager;
var location = "Nowhere ";
var starter = context.request.parameters.starter;
var starterflag = context.request.parameters.starterflag;
log.debug({title:"serial",details:serial});
log.debug({title:"erasor",details:erasor});
if(erasor!="delete"){
try {
var mySearch = search.load({
id : 'customsearchjj_item_inventory'
});
var newfilters = mySearch.filters;
var filterss = {};
var filterarray = [];
if (serial != null && serial != '') {
filterss.name = 'inventorynumber';
filterss.operator = 'IS';
filterss.values = serial;
newfilters.push(search.createFilter(filterss));
// filterarray.push(createfilter(serial, 'inventorynumber',
// 'IS', '', search));
}
if (commision != null && commision != '') {
var filterobj1 = {};
filterobj1.name = 'custitem4';
filterobj1.operator = 'anyof';
filterobj1.join = 'item';
filterobj1.values = commision;
newfilters.push(search.createFilter(filterobj1));
// filterarray.push(createfilter(commision, 'custitem4',
// 'anyof', 'item', search));
}
if (locid != null && locid != '') {
var filterobj2={};
filterobj2.name = 'location';
filterobj2.operator = 'anyof';
filterobj2.values = locid;
newfilters.push(search.createFilter(filterobj2));
// filterarray.push(createfilter(locid,'location','IS','',search));
}
mySearch.filters = newfilters;
if( flag != "" || flag != "undefined"){
if(flag>0){
var begin = flag*1000;
var endin = begin +1000;
var search_run = mySearch.run().getRange({
start : begin,
end : endin
});
}else{
var search_run = mySearch.run().getRange({
start : 0,
end : 1000
});
}
}else{
var search_run = mySearch.run().getRange({
start : 0,
end : 1000
});
log.debug({title:"flag else case",details:flag});
}
for (var i = 0; i < search_run.length; i++) {
// var searchrun = search_run[i];
item_name = search_run[i].getValue({
name : 'displayname',
join : 'item',
summary : 'group'
});
item_name_array.push(search_run[i].getValue({
name : 'displayname',
join : 'item',
summary : 'group'
}));
itemid = search_run[0].getValue({
name : 'internalid',
summary : 'group'
});
itemid_array.push(search_run[i].getValue({
name : 'internalid',
summary : 'group'
}));
location = search_run[i].getText({
name : 'location',
summary : 'group'
});
location_array.push(search_run[i].getValue({
name : 'location',
summary : 'group'
}));
serialnumber.push(search_run[i].getValue({
name : 'inventorynumber',
summary : 'group'
}));
serialno = search_run[i].getValue({
name : 'inventorynumber',
summary : 'group'
});
averagecost = search_run[i].getValue({
name : 'averagecost',
join : 'item',
summary : 'SUM'
});
modified = search_run[i].getValue({
name : 'modified',
join : 'item',
summary : 'GROUP'
});
onhand = search_run[i].getValue({
name : 'quantityonhand',
summary : 'MAX'
});
// category = search_run[i].getValue({
// name : 'custitem_jj_commission_category'
// });
}
log.debug({title:"averagecost",details:averagecost});
log.debug({title:"modified",details:modified});
log.debug({title:"onhand",details: onhand});
if (item_name_array.length > 1) {
var itemtable = createtable(serialnumber, item_name_array,
itemid_array, location_array, categoryarray);
}
} catch (err) {
log.debug({
title : 'err ',
details : err
});
}
if (serial != null && serial != '') {
if (itemid == 0) {
var objRecord = record.create({
type : 'customrecord_jj_inventory_verification',
isDynamic : true
});
objRecord.setValue({
fieldId : 'custrecord_jj_serial_number',
value : serial
});
var mySearch = search.load({
id : 'customsearchjj_item_inventory'
});
var newfilters = mySearch.filters;
var filterss = {};
var filterarray = [];
if (serial != null && serial != '') {
filterss.name = 'inventorynumber';
filterss.operator = 'IS';
filterss.values = serial;
newfilters.push(search.createFilter(filterss));
}
mySearch.filters = newfilters;
var search_run = mySearch.run().getRange({
start : 0,
end : 1
});
for (var i = 0; i < search_run.length; i++) {
location = search_run[i].getText({
name : 'location',
summary : 'group'
});
}
objRecord.setValue({
fieldId : 'custrecord_jj_location',
value : location
});
objRecord.setValue({
fieldId : 'custrecord_jj_user',
value : starterflag
});
objRecord.setValue({
fieldId: 'custrecord_jj_item_name',
value: item_name
});
objRecord.setValue({
fieldId: 'custrecord_jj_average_cost',
value: averagecost
});
objRecord.setValue({
fieldId: 'custrecord_jj_last_modified',
value: modified
});
objRecord.setValue({
fieldId: 'custrecord_jj_max_on_hand',
value: onhand
});
// objRecord.setValue({
// fieldId : 'custrecord_jj_is_in_database',
// value : false
// });
objRecord.setValue({
fieldId : 'custrecord_inventory_status',
value : 2
});
var recordId = objRecord.save({
enableSourcing : false,
ignoreMandatoryFields : false
});
} else {
var objRecord = record.create({
type : 'customrecord_jj_inventory_verification',
isDynamic : true
});
objRecord.setValue({
fieldId : 'custrecord_jj_serial_number',
value : serial
});
objRecord.setValue({
fieldId : 'custrecord_jj_item_name',
value : item_name
});
objRecord.setValue({
fieldId : 'custrecord_jj_location',
value : location
});
objRecord.setValue({
fieldId : 'custrecord_jj_user',
value : starterflag
});
objRecord.setValue({
fieldId: 'custrecord_jj_average_cost',
value: averagecost
});
objRecord.setValue({
fieldId: 'custrecord_jj_last_modified',
value: modified
});
objRecord.setValue({
fieldId: 'custrecord_jj_max_on_hand',
value: onhand
});
// objRecord.setValue({
// fieldId : 'custrecord_jj_is_in_database',
// value : true
// });
objRecord.setValue({
fieldId : 'custrecord_inventory_status',
value : 1
});
var recordId = objRecord.save({
enableSourcing : false,
ignoreMandatoryFields : false
});
}
// if (item_name != null && item_name != "") {
if (itemid > 0) {
try {
context.response.write(serialno);
} catch (err) {
log.debug({
title : 'err124 ',
details : err
});
context.response.write(itemid);
}
} else {
itemid = "";
item_name = "";
context.response.write("ERROR"
+ "<tr bgcolor='#FA5D5D'><td>" + serial
+ "</td><td></td><td></td></tr>");
}
} else {
try {
if(search_run.length>999){
context.response.write("again_post"+itemtable);
}else{
context.response.write(itemtable);
}
} catch (err) {
context.response.write("Please Update your fields");
}
}
}
if(erasor =="delete"){
var recSearch = search.load({
id : 'customsearch_jj_imv_record'
});
var newfilters = recSearch.filters;
var filterss = {};
var filterarray = [];
filterss.name = 'custrecord_jj_user';
filterss.operator = 'IS';
filterss.values = starterflag;
newfilters.push(search.createFilter(filterss));
recSearch.filters = newfilters;
var search_run = recSearch.run().getRange({
start : 0,
end : 1000
});
var internals = [];
for (var i = 0; i < search_run.length; i++) {
internals.push(search_run[i].getValue({
name : 'internalid'
}));
}
log.debug({title:"internal",details:internals});
try{
if(internals.length>0){
for(i=0;i<=internals.length;i++){
var objRecord = record.delete({
type: 'customrecord_jj_inventory_verification',
id: internals[i],
});
}
}
}catch(err){
log.debug({title:'err',details:err});
context.response.write("againdelete");
}
}
}
}
return {
onRequest : onRequest
};
});
function createtable(serialnumber, item_name_array, itemid_array,
location_array, categoryarray) {
var selectfield = "";
for (var i = 0; i < item_name_array.length; i++) {
if (categoryarray[i] == "") {
categoryarray[i] = "Unknown category";
}
var currentfield = "<tr bgcolor='#efefef'><td>" + serialnumber[i]
+ "</td><td>" + itemid_array[i] + "</td><td>"
+ item_name_array[i] + "</td></tr>";
selectfield = selectfield + currentfield;
}
return selectfield;
}
function createfilter(data, name, operator, join, search) {
log.debug({
title : '',
details : data + name + operator + join + search
})
var filtersobj = {};
filtersobj.name = name;
filtersobj.operator = operator;
filtersobj.join = join;
filtersobj.values = data;
return search.createFilter(filtersobj);
}