The custom record is created by the RssBus and we are creating the Orders from those custom records by making necessary validations, case creation if the process failed.
When the Custom records and it’s child records created RssBus is updating the ORDER COMPLETED field. The MapReduce script that runs on each 15 minute will find the custom records that are created and updated with the ORDER COMPLETED field by RssBus and call the suitlet to create PO for that respective custom records.
/**
* @NApiVersion 2.x
* @NScriptType MapReduceScript
* @NModuleScope SameAccount
*/
/**
* Script Description
* This Map Reduce to create update the Order
*
/*******************************************************************************
*
* AM-205 MU Update Custom Record
*
* *******************************************************************************
*
* $Author: Jobin & Jismi IT Services LLP $
*
* Date: 14 - 09 - 2019
*
* DESCRIPTION
*
*
******************************************************************************/
define(['N/record', 'N/url', 'N/email', 'N/runtime', 'N/search', 'N/email', 'N/encode', 'N/task', 'N/https'],
function (record, url, email, runtime, search, email, encode, task, https) {
var main = {
/*Get inputData for Processing */
getInputData: function () {
var customrecord_inbound_ordersSearchObj = search.create({
type: "customrecord_inbound_orders",
filters:
[
["custrecord175","isempty",""],
"AND",
["custrecord_order_complete","is","T"]
],
columns:
[
search.createColumn({ name: "id", label: "ID" }),
search.createColumn({ name: "internalid", label: "Internal ID" }),
search.createColumn({
name: "created",
sort: search.Sort.ASC,
label: "Date Created"
})
]
});
return customrecord_inbound_ordersSearchObj;
},
/*Reduce Function of map Reduce */
reduce: function (context) {
log.debug("context.key", context.key)
try {
// var objRecord = record.load({
// type: 'customrecord_inbound_orders',
// id: context.key
// });
var poCreation = url.resolveScript({
scriptId: "customscript_jj_po_creation_custom_rec",
deploymentId: "customdeploy_jj_po_creation_custom_rec",
returnExternalUrl: true,
});
var response = https.get({
url: poCreation + "&inbound_order=" + context.key
});
// var id = objRecord.save({
// enableSourcing: false,
// ignoreMandatoryFields: true
// });
} catch (e) {
}
},
summarize: function (context) {
try {
var customrecord_inbound_ordersSearchObj = search.create({
type: "customrecord_inbound_orders",
filters:
[
["custrecord175", "isempty", ""]
],
columns:
[
search.createColumn({ name: "id", label: "ID" }),
search.createColumn({ name: "internalid", label: "Internal ID" }),
search.createColumn({
name: "created",
sort: search.Sort.ASC,
label: "Date Created"
})
]
});
var searchResultCount = customrecord_inbound_ordersSearchObj.runPaged().count;
log.debug("searchResultCount", searchResultCount);
if (searchResultCount == 0) {
} else {
var mrTask = task.create({
taskType: task.TaskType.MAP_REDUCE,
scriptId: "customscript_jj_mu_update_customrecord",
deploymentId: "customdeploy_jj_mu_update_customrecord",
});
var scriptTaskId = mrTask.submit();
}
return;
} catch (err) {
log.debug("error@summarize", err)
}
}
}
for (var key in main) {
if (typeof main[key] === 'function') {
main[key] = trycatch(main[key], key);
}
}
function trycatch(myfunction, key) {
return function () {
try {
return myfunction.apply(this, arguments);
} catch (e) {
log.debug("e in " + key, e);
}
}
};
return main;
});
/**
* @NApiVersion 2.x
* @NScriptType Suitelet
* @NModuleScope SameAccount
*/
/**
* Script Description
* This Map Reduce to create Delivery Orders
*
/*******************************************************************************
*
* AHD-193 PO creation Custom Rec
*
* *******************************************************************************
*
* $Author: Jobin & Jismi IT Services LLP $
*
* Date: 07 - 09 - 2019
*
* DESCRIPTION
*
*
******************************************************************************/
define(['N/record', 'N/file', 'N/format', 'N/runtime', 'N/search', 'N/email', 'N/encode', 'N/task', 'N/https'],
function (record, file, format, runtime, search, email, encode, task, https) {
var main = {
onRequest: function (context) {
var idcustomer;
var inboundOrder = context.request.parameters.inbound_order;
log.debug("inbound_order", inboundOrder)
var salesID = inboundOrder;
var objRecord = record.load({
type: 'customrecord_inbound_orders',
id: inboundOrder
});
try {
var tranValue = objRecord.getValue("custrecord_pronumber");
var tranid = tranValue.split("-")[0];
var duplicateorder = main.duplicateOrder(tranid)
log.debug("duplicate", duplicateorder)
if (!duplicateorder) {
var purchaseOrder = record.create({
type: record.Type.PURCHASE_ORDER,
isDynamic: false,
defaultValues: {
customform: 162
}
});
purchaseOrder.setValue({
fieldId: 'custbody_cl_pro_number',
value: tranValue,
ignoreFieldChange: true
});
purchaseOrder.setValue({
fieldId: 'tranid',
value: tranid,
ignoreFieldChange: true
});
purchaseOrder.setValue({
fieldId: 'externalid',
value: tranid,
ignoreFieldChange: true
});
purchaseOrder.setValue({
fieldId: 'custbody_jj_hidden_document_no',
value: tranid,
ignoreFieldChange: true
});
var custserviceType = objRecord.getValue("custrecord_servicetype")
var serviceLevel = objRecord.getValue("custrecord_service_type_code")
if (custserviceType == "Delivery") {
purchaseOrder.setValue({
fieldId: 'custbody17',
value: 2,
ignoreFieldChange: true
});
if (serviceLevel == "STANDARD") {
purchaseOrder.setText({
fieldId: 'custbody_service_level',
text: "CURB",
ignoreFieldChange: true
});
} else {
purchaseOrder.setText({
fieldId: 'custbody_service_level',
text: serviceLevel,
ignoreFieldChange: true
});
}
} else if (custserviceType == "Pickup" || custserviceType == "PickUp" || custserviceType == "PICKUP") {
purchaseOrder.setValue({
fieldId: 'custbody17',
value: 5,
ignoreFieldChange: true
});
} else {
purchaseOrder.setValue({
fieldId: 'custbody17',
value: 4,
ignoreFieldChange: true
});
purchaseOrder.setText({
fieldId: 'custbody_service_level',
text: serviceLevel,
ignoreFieldChange: true
});
}
var billCustNo = objRecord.getValue("custrecord_billto_custno")
var consigneeCustNo = objRecord.getValue("custrecord_consignee_custno")
if (consigneeCustNo == billCustNo) {
purchaseOrder.setValue({
fieldId: 'custbody17',
value: 5,
ignoreFieldChange: true
});
} else if (objRecord.getValue("custrecord_consignee_name").indexOf("AM WAREHOUSE") == 0) {
purchaseOrder.setValue({
fieldId: 'custbody17',
value: 5,
ignoreFieldChange: true
});
} else {
purchaseOrder.setValue({
fieldId: 'custbody17',
value: 2,
ignoreFieldChange: true
});
}
if (serviceLevel == "INST") {
purchaseOrder.setText({
fieldId: 'custbody_service_level',
text: "CURB",
ignoreFieldChange: true
});
}
var po_seller_bol_no = objRecord.getValue("custrecord_reference_bol")
purchaseOrder.setValue({
fieldId: 'custbody_seller_bol_no',
value: po_seller_bol_no,
ignoreFieldChange: true
});
var instruction = main.pinNumber(tranValue, tranid)
var po_otherrefnum = objRecord.getValue("custrecord_po_number")
purchaseOrder.setValue({
fieldId: 'otherrefnum',
value: po_otherrefnum,
ignoreFieldChange: true
});
var po_trandate = objRecord.getValue("custrecord_orderdate")
purchaseOrder.setValue({
fieldId: 'trandate',
value: new Date(po_trandate),
ignoreFieldChange: false
});
var po_shipdate = objRecord.getValue("custrecord_shipdate")
purchaseOrder.setValue({
fieldId: 'shipdate',
value: new Date(po_shipdate),
ignoreFieldChange: false
});
var customerSearchObj = search.create({
type: "customer",
filters: [
["entityid", "is", billCustNo]
],
columns: [
search.createColumn({
name: "entityid",
sort: search.Sort.ASC,
label: "ID"
}),
search.createColumn({
name: "internalid",
label: "Internal ID"
})
]
});
var searchResultCount = customerSearchObj.runPaged().count;
var resultsearch = customerSearchObj.run().getRange(0, 1);
if (searchResultCount > 0) {
idcustomer = resultsearch[0].getValue({
name: "internalid",
label: "Internal ID"
});
} else {
var seller = record.create({
type: record.Type.CUSTOMER,
isDynamic: false
});
seller.setValue({
fieldId: 'entityid',
value: billCustNo,
ignoreFieldChange: true
});
seller.setValue({
fieldId: 'autoname',
value: false,
ignoreFieldChange: true
});
seller.setValue({
fieldId: 'companyname',
value: objRecord.getValue("custrecord_billto_name"),
ignoreFieldChange: true
});
seller.setValue({
fieldId: 'subsidiary',
value: 1,
ignoreFieldChange: true
});
idcustomer = seller.save({
enableSourcing: false,
ignoreMandatoryFields: true
});
log.debug("idcustomer", idcustomer)
}
purchaseOrder.setValue({
fieldId: 'entity',
value: 1749,
ignoreFieldChange: true
});
purchaseOrder.setValue({
fieldId: 'custbody_seller_name_pickup_order',
value: idcustomer,
ignoreFieldChange: true
});
var rec = record.load({
type: record.Type.CUSTOMER,
id: idcustomer,
isDynamic: false
});
var defaultaddress = rec.getText("defaultaddress");
purchaseOrder.setText({
fieldId: 'billaddress',
text: defaultaddress,
ignoreFieldChange: true
});
var lineItems = main.fetchLineItems(tranValue, inboundOrder)
log.debug("lineItems", lineItems)
var items = lineItems
for (var k = 0; k < items.length; k++) {
if (items[k].Model == "" || items[k].Model == null || items[k].Model == undefined) {
items[k].Model = "UNDEFINED"
}
items[k].Model = items[k].Model.trim();
var itemSearchObj = search.create({
type: "item",
filters: [
["nameinternal", "is", items[k].Model]
],
columns: [
search.createColumn({
name: "itemid",
sort: search.Sort.ASC,
label: "Name"
}),
search.createColumn({
name: "internalid",
label: "Internal ID"
})
]
});
var searchResultCount = itemSearchObj.runPaged().count;
var itemid;
if (searchResultCount > 0) {
var result = itemSearchObj.run().getRange(0, 1);
itemid = result[0].getValue({
name: "internalid",
label: "Internal ID"
});
} else {
var newitem = record.create({
type: record.Type.SERIALIZED_INVENTORY_ITEM,
isDynamic: false
});
newitem.setValue({
fieldId: 'itemid',
value: items[k].Model,
ignoreFieldChange: true
});
var item_displayname = items[k].Description
newitem.setValue({
fieldId: 'displayname',
value: item_displayname.substr(0, 60),
ignoreFieldChange: true
});
newitem.setValue({
fieldId: 'usebins',
value: true,
ignoreFieldChange: true
});
newitem.setValue({
fieldId: 'cogsaccount',
value: 212,
ignoreFieldChange: true
});
newitem.setValue({
fieldId: 'assetaccount',
value: 565,
ignoreFieldChange: true
});
newitem.setValue({
fieldId: 'taxschedule',
value: 2,
ignoreFieldChange: true
});
newitem.setValue({
fieldId: 'cost',
value: 0.00,
ignoreFieldChange: true
});
itemid = newitem.save({
enableSourcing: false,
ignoreMandatoryFields: true
});
log.debug("itemid", itemid)
}
try {
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'item',
value: itemid,
line: k,
ignoreFieldChange: true
});
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'quantity',
value: items[k].Pieces,
line: k,
ignoreFieldChange: true
});
var item_displayname = items[k].Description
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'custcol6',
value: item_displayname.substr(0, 60),
line: k,
ignoreFieldChange: true
});
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'custcol_item_level_statuses',
value: 1,
line: k,
ignoreFieldChange: true
});
try {
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'custcol9',
value: items[k].Weight,
line: k,
ignoreFieldChange: true
});
} catch (weight) {
}
try {
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'custcol4',
value: items[k].Height,
line: k,
ignoreFieldChange: true
});
} catch (height) {
}
try {
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'custcol2',
value: items[k].Length,
line: k,
ignoreFieldChange: true
});
} catch (Length) {
}
try {
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'custcol3',
value: items[k].Width,
line: k,
ignoreFieldChange: true
});
} catch (width) {
}
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'custcol_no_plts',
value: items[k].Pallets,
line: k,
ignoreFieldChange: true
});
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'amount',
value: 0,
line: k,
ignoreFieldChange: true
});
} catch (err) {
log.debug(err.name, err.message);
}
}
try {
var serviceItems = main.fetchServiceItems(tranValue, inboundOrder)
var seritems = serviceItems
if (seritems == "" || seritems == null) {
} else {
for (var p = 0; p < seritems.length; p++) {
var itemdescription = seritems[p].Description
var itemdescriptioncount = itemdescription.search("SERVICE LEVEL:");
if (itemdescriptioncount == -1) {
seritems[p].ServiceCode = seritems[p].ServiceCode.trim();
var itemSearchObj = search.create({
type: "item",
filters: [
["type", "anyof", "Service"],
"AND",
["nameinternal", "is", seritems[p].ServiceCode]
],
columns: [
search.createColumn({
name: "itemid",
sort: search.Sort.ASC,
label: "Name"
}),
search.createColumn({
name: "internalid",
label: "Internal ID"
})
]
});
var searchResultCount = itemSearchObj.runPaged().count;
var itemid;
if (searchResultCount > 0) {
var result = itemSearchObj.run().getRange(0, 1);
itemid = result[0].getValue({
name: "internalid",
label: "Internal ID"
});
} else {
var newitem = record.create({
type: record.Type.SERVICE_ITEM,
isDynamic: false
});
newitem.setValue({
fieldId: 'itemid',
value: seritems[p].ServiceCode,
ignoreFieldChange: true
});
newitem.setValue({
fieldId: 'itemtypename',
value: "Service for Resale",
ignoreFieldChange: true
});
newitem.setValue({
fieldId: 'displayname',
value: seritems[p].Description,
ignoreFieldChange: true
});
newitem.setValue({
fieldId: 'taxschedule',
value: 2,
ignoreFieldChange: true
});
newitem.setValue({
fieldId: 'expenseaccount',
value: 493,
ignoreFieldChange: true
});
itemid = newitem.save({
enableSourcing: false,
ignoreMandatoryFields: true
});
log.debug("new seritemid", itemid)
}
try {
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'item',
value: itemid,
line: k,
ignoreFieldChange: true
});
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'custcol6',
value: seritems[p].Description,
line: k,
ignoreFieldChange: true
});
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'custcol_item_level_statuses',
value: 1,
line: k,
ignoreFieldChange: true
});
purchaseOrder.setSublistValue({
sublistId: 'item',
fieldId: 'amount',
value: 0,
line: k,
ignoreFieldChange: true
});
k++;
} catch (err) {
log.debug(err.name, err.message);
}
}
}
}
} catch (errorrr) {
log.debug("errorrr", errorrr)
}
//reschedule the script based on the usage
try {
var memovalue = instruction
var noteItems = main.fetchNoteItems(tranValue, inboundOrder);
if (noteItems.length > 1) {
for (var q = 0; q < noteItems.length; q++) {
memovalue = memovalue + "\t " + ' \n ' + noteItems[q].Description + " ||"
}
purchaseOrder.setValue({
fieldId: 'memo',
value: memovalue.substr(0, 998)
});
} else {
purchaseOrder.setValue({
fieldId: 'memo',
value: memovalue + "\n" + noteItems[0].Description
});
}
} catch (e) {
var noteitem = instruction
purchaseOrder.setValue({
fieldId: 'memo',
value: noteitem
});
}
try {
if (serviceLevel == "INST") {
var inst = instruction
inst = inst.split("SERVICE LEVEL")
purchaseOrder.setValue({
fieldId: 'custbody_do_con_service5',
value: "INST" + inst[1]
});
} else {
purchaseOrder.setValue({
fieldId: 'custbody_do_con_service5',
value: instruction
});
}
} catch (e) {
purchaseOrder.setValue({
fieldId: 'custbody_do_con_service5',
value: instruction
});
}
purchaseOrder.setValue({
fieldId: 'custbody36',
value: objRecord.getValue("custrecord_shipper_name") + "<br />" + objRecord.getValue("custrecord_shipper_address1") + "<br />" + objRecord.getValue("custrecord_shipper_city") + " " + objRecord.getValue("custrecord_shipper_state") + " " + objRecord.getValue("custrecord_shipper_zip") + "<br />" + objRecord.getValue("custrecord_shipper_email") + " " + objRecord.getValue("custrecord_shipper_telephone")
});
var pickaddr = {};
pickaddr.name = objRecord.getValue("custrecord_shipper_name")
pickaddr.Address1 = objRecord.getValue("custrecord_shipper_address1")
pickaddr.Address2 = objRecord.getValue("custrecord_shipper_address2")
pickaddr.City = objRecord.getValue("custrecord_shipper_city")
pickaddr.State = objRecord.getValue("custrecord_shipper_state")
pickaddr.Zip = objRecord.getValue("custrecord_shipper_zip")
pickaddr.email = objRecord.getValue("custrecord_shipper_email")
pickaddr.PhoneNumber = objRecord.getValue("custrecord_shipper_telephone")
try {
purchaseOrder.setValue({
fieldId: "custbody_jj_pickup_address",
value: JSON.stringify(pickaddr)
});
} catch (setvalueerror) {
log.debug("setpickaddrerror", setvalueerror)
}
var res_pick = main.validateaddr(idcustomer, pickaddr, 'Pickup Address', custserviceType)
//log.debug("res_pick", res_pick)
if (custserviceType == "Pickup" || custserviceType == "PickUp" || custserviceType == "PICKUP") {
} else {
purchaseOrder.setValue({
fieldId: 'custbody_pickup_method',
value: res_pick.pickmethod
});
}
if (res_pick.hold == 'ON') {
purchaseOrder.setValue({
fieldId: 'custbody_on_hold',
value: true
});
purchaseOrder.setValue({
fieldId: 'custbody_hold_reason',
value: 'Please Contact Acct. Dept'
});
}
var zippickdetails = main.update_pu_dl(pickaddr.Zip)
//log.debug("zippickdetails", zippickdetails)
purchaseOrder.setValue({
fieldId: 'custbody29',
value: zippickdetails[3]
});
purchaseOrder.setValue({
fieldId: 'custbody30',
value: zippickdetails[1]
});
purchaseOrder.setValue({
fieldId: 'custbody_pickup_route',
value: zippickdetails[2]
});
purchaseOrder.setValue({
fieldId: 'custbody_mzc_dmi_rel_day_sh',
value: zippickdetails[6]
});
purchaseOrder.setValue({
fieldId: 'custbody_mzc_day_trailer_loaded_sh',
value: zippickdetails[5]
});
purchaseOrder.setValue({
fieldId: 'custbody_dt_pickup_route',
value: zippickdetails[8]
});
var id = purchaseOrder.save({
enableSourcing: false,
ignoreMandatoryFields: true
});
purchaseOrder = record.load({
id: id,
type: record.Type.PURCHASE_ORDER
});
var routeDateTime = main.getFormatTimeZone(new Date())
purchaseOrder.setValue({
fieldId: 'custbody_cl_order_history',
value: 'Order inserted via RSSBus on ' + routeDateTime
});
var custbody_do_special_instruction = objRecord.getValue("custrecord_pronotes")
purchaseOrder.setValue({
fieldId: 'custbody_do_special_instruction',
value: custbody_do_special_instruction
});
var declaredvalue = '';
var declValue = objRecord.getValue("custrecord_billto_declvalue")
if (declValue) {
declValue = declValue.split("$")[1]
declValue = declValue.split(",")
for (var p = 0; p < declValue.length; p++) {
declaredvalue = declaredvalue + declValue[p]
}
purchaseOrder.setValue({
fieldId: 'custbody27',
value: declaredvalue
});
}
var shipaddr = {};
var shiperemail = objRecord.getValue("custrecord_cons_email")
shiperemail = shiperemail.split("," && ";");
shipaddr.createflag = false
shipaddr.attention = ""
shipaddr.altphone = ''
shipaddr.consignaltphone = ''
shipaddr.consignphone = ''
shipaddr.addresse = objRecord.getValue("custrecord_consignee_name")
shipaddr.address1 = objRecord.getValue("custrecord_consignee_address1")
shipaddr.address2d = objRecord.getValue("custrecord_consignee_address2")
shipaddr.city = objRecord.getValue("custrecord_consignee_city")
shipaddr.state = objRecord.getValue("custrecord_consignee_state")
shipaddr.zip = objRecord.getValue("custrecord_consignee_zip")
shipaddr.email = shiperemail[0]
shipaddr.phone = objRecord.getValue("custrecord_consignee_phonenumber")
shipaddr.telephoneextention = objRecord.getValue("custrecord_consignee_telephoneextension")
// try {
// shipaddr.altphone = objRecord.getValue("custbody_do_special_instruction")
// } catch (er) {
// shipaddr.altphone = ''
// }
// Search fields for DO
purchaseOrder.setValue({
fieldId: 'custbody_jj_ship_addresse',
value: shipaddr.addresse
});
purchaseOrder.setValue({
fieldId: 'custbody_jj_ship_address1',
value: shipaddr.address1
});
purchaseOrder.setValue({
fieldId: 'custbody_jj_ship_address2',
value: shipaddr.address2d
});
purchaseOrder.setValue({
fieldId: 'custbody_jj_ship_city',
value: shipaddr.city
});
purchaseOrder.setValue({
fieldId: 'custbody_jj_ship_state',
value: shipaddr.state
});
purchaseOrder.setValue({
fieldId: 'custbody_jj_ship_zip',
value: shipaddr.zip
});
purchaseOrder.setValue({
fieldId: 'custbody_jj_ship_phone',
value: shipaddr.phone
});
purchaseOrder.setValue({
fieldId: 'custbody_jj_ship_alt_no',
value: shipaddr.altphone
});
purchaseOrder.setValue({
fieldId: 'approvalstatus',
value: 2
});
var zipshipetails = main.update_pu_dl(shipaddr.zip)
purchaseOrder.setValue({
fieldId: 'custbody_delivery_branch',
value: zipshipetails[3]
});
purchaseOrder.setValue({
fieldId: 'custbody_do_delivery_zone',
value: zipshipetails[1]
});
purchaseOrder.setValue({
fieldId: 'custbody_delivery_route',
value: zipshipetails[2]
});
purchaseOrder.setValue({
fieldId: 'custbody_mzc_pkup_schd_day_sh',
value: zipshipetails[4]
});
purchaseOrder.setValue({
fieldId: 'custbody_mzc_special_ins_co',
value: zipshipetails[7]
});
try {
purchaseOrder.setValue({
fieldId: "custbody_delivery_address_jj",
value: JSON.stringify(shipaddr)
});
} catch (setvalueerror) {
log.debug("setvalueerror", setvalueerror)
}
purchaseOrder.setValue({
fieldId: 'shipaddresslist',
value: ""
});
var serviceType = purchaseOrder.getValue('custbody17');
if (serviceType == 5) {
purchaseOrder.setValue({
fieldId: 'custbody_service_level',
value: null
});
purchaseOrder.setValue({
fieldId: 'custbody_service_level_description_dt',
value: null
});
}
var po_number = purchaseOrder.getValue('tranid');
var validationemail = main.checkEmail(shipaddr, purchaseOrder);
if (validationemail == false) {
//Create case if email is not valid
var supportcase = record.create({
type: record.Type.SUPPORT_CASE,
isDynamic: false
})
supportcase.setValue({
fieldId: 'company',
value: idcustomer
});
supportcase.setValue({
fieldId: 'status',
value: 1
});
supportcase.setValue({
fieldId: 'title',
value: 'Invalid Consignee E-mail ' + shipaddr.email
});
supportcase.setValue({
fieldId: 'incomingmessage',
value: "Invalid Ship E-mail address " + shipaddr.email + "for Delivery Order " + po_number
});
supportcase.setValue({
fieldId: 'email',
value: 'dean@wglgroupusa.com'
});
supportcase.setValue({
fieldId: 'emailform',
value: true
})
supportcase.setValue({
fieldId: 'custevent_customer_name',
value: shipaddr.addresse
});
supportcase.setValue({
fieldId: 'phone',
value: shipaddr.phone
});
supportcase.setValue({
fieldId: 'custevent_order_number',
value: po_number
});
supportcase.setValue({
fieldId: 'issue',
value: 12
});
supportcase.setValue({
fieldId: 'category',
value: 3
});
supportcase.setValue({
fieldId: 'origin',
value: -5
});
supportcase.setValue({
fieldId: 'priority',
value: 1
});
supportcase.setValue({
fieldId: 'assigned',
value: 4336
});
purchaseOrder = record.load({
id: id,
type: record.Type.PURCHASE_ORDER
});
supportcase.setValue({
fieldId: 'custevent_record_created_by',
value: 'SYSTEM'
});
supportcase.setValue({
fieldId: 'custevent_jj_do_order_number',
value: id
});
caseId = supportcase.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
purchaseOrder.setValue({
fieldId: 'custbody_case_id_do',
value: caseId
});
purchaseOrder.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
log.debug("caseId", caseId)
}
var remainingUsage = runtime.getCurrentScript().getRemainingUsage();
log.debug("rescheduleScriptandReturn_scriptTaskId", remainingUsage);
main.deleteService(tranValue)
main.deleteNote(tranValue)
// main.deletePinNumber(tranValue)
main.deleteLineItems(tranValue)
var featureRecord = record.delete({
type: 'customrecord_inbound_orders',
id: inboundOrder
});
log.debug("featureRecord", featureRecord)
// var otherId = record.submitFields({
// type: 'customrecord_inbound_orders',
// id: inboundOrder,
// values: {
// 'custrecord174': "SUCCESS"
// }
// });
} else {
// var otherId = record.submitFields({
// type: 'customrecord_inbound_orders',
// id: inboundOrder,
// values: {
// 'custrecord174': "SUCCESS"
// }
// });
main.deleteService(tranValue)
main.deleteNote(tranValue)
main.deleteLineItems(tranValue)
//main.deletePinNumber(tranValue)
var featureRecord = record.delete({
type: 'customrecord_inbound_orders',
id: inboundOrder
});
log.debug("featureRecord", featureRecord)
}
} catch (error) {
if (error.message.indexOf("record does not exist") == -1) {
log.debug("error", error.message);
var otherId = record.submitFields({
type: 'customrecord_inbound_orders',
id: inboundOrder,
values: {
'custrecord175': error.message
}
});
//Case creation when the delivery order is not created.
var error_case = main.errorcase(salesID, error.message, idcustomer, objRecord.getValue("custrecord_consignee_name"), objRecord.getValue("custrecord_consignee_phonenumber"), objRecord.getValue("custrecord_pronumber"))
log.debug("error_case", error_case)
var remainingUsage = runtime.getCurrentScript().getRemainingUsage();
log.debug("rescheduleScriptandReturn_scriptTaskId", remainingUsage);
}
}
},
getFormatTimeZone: function (dateValue) {
var NEWYORK = format.format({
value: dateValue,
type: format.Type.DATETIME,
timezone: format.Timezone.AMERICA_NEW_YORK
});
log.debug("NEWYORK", NEWYORK)
return NEWYORK;
},
deleteLineItems: function (tranValue) {
var customrecord_inbound_orders_lineitemsSearchObj = search.create({
type: "customrecord_inbound_orders_lineitems",
filters:
[
["custrecord_order_number", "is", tranValue]
],
columns:
[
search.createColumn({
name: "custrecord_order_number",
sort: search.Sort.ASC,
label: "Order Number"
}),
search.createColumn({ name: "custrecord_model", label: "Model" }),
search.createColumn({ name: "custrecord_pieces", label: "Pieces" }),
search.createColumn({ name: "custrecord_description", label: "Description" }),
search.createColumn({ name: "custrecord_pallets", label: "Pallets" }),
search.createColumn({ name: "custrecord_weight", label: "Weight" }),
search.createColumn({ name: "custrecord_class", label: "Class" }),
search.createColumn({ name: "custrecord_jj_length", label: "Length" }),
search.createColumn({ name: "custrecord_jj_width", label: "Width" }),
search.createColumn({ name: "custrecord_jj_height", label: "Height" }),
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = customrecord_inbound_orders_lineitemsSearchObj.runPaged().count;
log.debug("customrecord_inbound_orders_lineitemsSearchObj result count", searchResultCount);
customrecord_inbound_orders_lineitemsSearchObj.run().each(function (result) {
var itemDetails = {};
itemDetails.Model = result.getValue({ name: "custrecord_model", label: "Model" })
var internalid = result.getValue({ name: "internalid", label: "Internal ID" })
var otherId = record.delete({
type: 'customrecord_inbound_orders_lineitems',
id: internalid
});
return true;
});
},
deleteNote: function (tranValue) {
var customrecord_inbound_order_notesitemsSearchObj = search.create({
type: "customrecord_inbound_order_notesitems",
filters:
[
["custrecord179", "is", tranValue]
],
columns:
[
search.createColumn({
name: "custrecord179",
sort: search.Sort.ASC,
label: "Order Number"
}),
search.createColumn({ name: "custrecord180", label: "Description" }),
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = customrecord_inbound_order_notesitemsSearchObj.runPaged().count;
log.debug("customrecord_inbound_order_notesitemsSearchObj result count", searchResultCount);
customrecord_inbound_order_notesitemsSearchObj.run().each(function (result) {
var itemDetails = {};
itemDetails.Description = result.getValue({ name: "custrecord180", label: "Description" })
var noteinternalid = result.getValue({ name: "internalid", label: "Internal ID" })
var otherId = record.delete({
type: 'customrecord_inbound_order_notesitems',
id: noteinternalid
});
return true;
});
},
deleteService: function (tranValue) {
var customrecord_inbound_order_service_itemsSearchObj = search.create({
type: "customrecord_inbound_order_service_items",
filters:
[
["custrecord170", "is", tranValue]
],
columns:
[
search.createColumn({
name: "custrecord170",
sort: search.Sort.ASC,
label: "Order Number"
}),
search.createColumn({ name: "custrecord_service_code", label: "Service Code" }),
search.createColumn({ name: "custrecord171", label: "Description" }),
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = customrecord_inbound_order_service_itemsSearchObj.runPaged().count;
log.debug("customrecord_inbound_order_service_itemsSearchObj result count", searchResultCount);
customrecord_inbound_order_service_itemsSearchObj.run().each(function (result) {
var itemDetails = {};
itemDetails.ServiceCode = result.getValue({ name: "custrecord_service_code", label: "Service Code" })
itemDetails.Description = result.getValue({
name: "custrecord171", label: "Description"
})
var internalid = result.getValue({ name: "internalid", label: "Internal ID" })
var otherId = record.delete({
type: 'customrecord_inbound_order_service_items',
id: internalid
});
return true;
});
},
pinNumber: function (ordernumber, tranid) {
var instructionValue = "";
var pinArray = [];
var customrecord_inbound_order_ref_itemsSearchObj = search.create({
type: "customrecord_inbound_order_ref_items",
filters:
[
["custrecord184", "is", ordernumber]
],
columns:
[
search.createColumn({ name: "custrecord189", label: "PIN" }),
search.createColumn({ name: "custrecord188", label: "Instructions" }),
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = customrecord_inbound_order_ref_itemsSearchObj.runPaged().count;
log.debug("customrecord_inbound_order_ref_itemsSearchObj result count", searchResultCount);
customrecord_inbound_order_ref_itemsSearchObj.run().each(function (result) {
var internalid = result.getValue({ name: "internalid", label: "Internal ID" })
var pinNumber = result.getValue({ name: "custrecord189", label: "PIN" })
instructionValue += result.getValue({ name: "custrecord188", label: "Instructions" }) + " || "
if (pinNumber) {
pinArray.push(pinNumber)
}
var otherId = record.delete({
type: 'customrecord_inbound_order_ref_items',
id: internalid
});
return true;
});
// if (pinData) {
var pinfile = file.create({
name: tranid + '.txt',
fileType: file.Type.PLAINTEXT,
contents: (pinArray).toString(),
folder: 900,
});
pinfile.save();
// }
return instructionValue;
},
deletePinNumber: function (ordernumber) {
var customrecord_inbound_order_ref_itemsSearchObj = search.create({
type: "customrecord_inbound_order_ref_items",
filters:
[
["custrecord184", "is", ordernumber]
],
columns:
[
search.createColumn({ name: "custrecord189", label: "PIN" }),
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = customrecord_inbound_order_ref_itemsSearchObj.runPaged().count;
log.debug("customrecord_inbound_order_ref_itemsSearchObj result count", searchResultCount);
customrecord_inbound_order_ref_itemsSearchObj.run().each(function (result) {
var internalid = result.getValue({ name: "internalid", label: "Internal ID" })
var otherId = record.delete({
type: 'customrecord_inbound_order_ref_items',
id: internalid
});
return true;
});
},
fetchServiceItems: function (ordernumber, inboundOrder) {
var itemArray = [];
var customrecord_inbound_order_service_itemsSearchObj = search.create({
type: "customrecord_inbound_order_service_items",
filters:
[
["custrecord170", "is", ordernumber]
],
columns:
[
search.createColumn({
name: "custrecord170",
sort: search.Sort.ASC,
label: "Order Number"
}),
search.createColumn({ name: "custrecord_service_code", label: "Service Code" }),
search.createColumn({ name: "custrecord171", label: "Description" }),
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = customrecord_inbound_order_service_itemsSearchObj.runPaged().count;
log.debug("customrecord_inbound_order_service_itemsSearchObj result count", searchResultCount);
customrecord_inbound_order_service_itemsSearchObj.run().each(function (result) {
var itemDetails = {};
var internalid = result.getValue({ name: "internalid", label: "Internal ID" })
// var otherId = record.submitFields({
// type: 'customrecord_inbound_order_service_items',
// id: internalid,
// values: {
// 'custrecord169': inboundOrder
// }
// });
itemDetails.ServiceCode = result.getValue({ name: "custrecord_service_code", label: "Service Code" })
itemDetails.Description = result.getValue({
name: "custrecord171", label: "Description"
})
itemArray.push(itemDetails)
return true;
});
return itemArray;
},
fetchNoteItems: function (ordernumber, inboundOrder) {
var itemArray = [];
var customrecord_inbound_order_notesitemsSearchObj = search.create({
type: "customrecord_inbound_order_notesitems",
filters:
[
["custrecord179", "is", ordernumber]
],
columns:
[
search.createColumn({
name: "custrecord179",
sort: search.Sort.ASC,
label: "Order Number"
}),
search.createColumn({ name: "custrecord180", label: "Description" }),
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = customrecord_inbound_order_notesitemsSearchObj.runPaged().count;
log.debug("customrecord_inbound_order_notesitemsSearchObj result count", searchResultCount);
customrecord_inbound_order_notesitemsSearchObj.run().each(function (result) {
var itemDetails = {};
var internalid = result.getValue({ name: "internalid", label: "Internal ID" })
// var otherId = record.submitFields({
// type: 'customrecord_inbound_order_notesitems',
// id: internalid,
// values: {
// 'custrecord178': inboundOrder
// }
// });
itemDetails.Description = result.getValue({ name: "custrecord180", label: "Description" })
itemArray.push(itemDetails)
return true;
});
return itemArray;
},
fetchLineItems: function (ordernumber, inboundOrder) {
var itemArray = [];
var customrecord_inbound_orders_lineitemsSearchObj = search.create({
type: "customrecord_inbound_orders_lineitems",
filters:
[
["custrecord_order_number", "is", ordernumber]
],
columns:
[
search.createColumn({
name: "custrecord_order_number",
sort: search.Sort.ASC,
label: "Order Number"
}),
search.createColumn({ name: "custrecord_model", label: "Model" }),
search.createColumn({ name: "custrecord_pieces", label: "Pieces" }),
search.createColumn({ name: "custrecord_description", label: "Description" }),
search.createColumn({ name: "custrecord_pallets", label: "Pallets" }),
search.createColumn({ name: "custrecord_weight", label: "Weight" }),
search.createColumn({ name: "custrecord_class", label: "Class" }),
search.createColumn({ name: "custrecord_jj_length", label: "Length" }),
search.createColumn({ name: "custrecord_jj_width", label: "Width" }),
search.createColumn({ name: "custrecord_jj_height", label: "Height" }),
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = customrecord_inbound_orders_lineitemsSearchObj.runPaged().count;
log.debug("customrecord_inbound_orders_lineitemsSearchObj result count", searchResultCount);
customrecord_inbound_orders_lineitemsSearchObj.run().each(function (result) {
var itemDetails = {};
var internalid = result.getValue({ name: "internalid", label: "Internal ID" })
// var otherId = record.submitFields({
// type: 'customrecord_inbound_orders_lineitems',
// id: internalid,
// values: {
// 'custrecord_custom': inboundOrder
// }
// });
itemDetails.Model = result.getValue({ name: "custrecord_model", label: "Model" })
itemDetails.Pieces = result.getValue({
name: "custrecord_pieces", label: "Pieces"
})
itemDetails.Description = result.getValue({
name: "custrecord_description", label: "Description"
})
itemDetails.Pallets = result.getValue({
name: "custrecord_pallets", label: "Pallets"
})
itemDetails.Weight = result.getValue({
name: "custrecord_weight", label: "Weight"
})
itemDetails.Class = result.getValue({
name: "custrecord_class", label: "Class"
})
itemDetails.Length = result.getValue({
name: "custrecord_jj_length", label: "Length"
})
itemDetails.Width = result.getValue({
name: "custrecord_jj_width", label: "Width"
})
itemDetails.Height = result.getValue({
name: "custrecord_jj_height", label: "Height"
})
itemArray.push(itemDetails)
return true;
});
return itemArray;
},
//check duplicate record.
duplicateOrder: function (ordernumber) {
var transactionSearch = search.create({
type: "purchaseorder",
filters: [
["type", "anyof", "PurchOrd"],
"AND",
["custbody_jj_hidden_document_no", "is", ordernumber]
],
columns: [
search.createColumn({
name: "internalid",
label: "Internal ID"
})
]
});
var searchResultCount = transactionSearch.runPaged().count;
if (searchResultCount > 0) {
return true
}
return false;
},
//Case creation when the error in DO Creation
errorcase: function (salesID, message, idcustomer, addresse, phone, tranValue) {
var orderno = tranValue.split("-")[0];
var supportcase = record.create({
type: record.Type.SUPPORT_CASE,
isDynamic: false
})
supportcase.setValue({
fieldId: 'company',
value: idcustomer
});
supportcase.setValue({
fieldId: 'status',
value: 1
});
supportcase.setValue({
fieldId: 'custevent_order_number',
value: orderno
});
supportcase.setValue({
fieldId: 'title',
value: 'Failed Order #' + orderno
});
supportcase.setValue({
fieldId: 'incomingmessage',
value: "The Order No " + orderno + " is failed due to " + message
});
supportcase.setValue({
fieldId: 'email',
value: 'dean@wglgroupusa.com'
});
supportcase.setValue({
fieldId: 'emailform',
value: true
})
supportcase.setValue({
fieldId: 'custevent_customer_name',
value: addresse
});
supportcase.setValue({
fieldId: 'phone',
value: phone
});
supportcase.setValue({
fieldId: 'quicknote',
value: message
});
supportcase.setValue({
fieldId: 'category',
value: 3
});
supportcase.setValue({
fieldId: 'origin',
value: -5
});
supportcase.setValue({
fieldId: 'priority',
value: 1
});
supportcase.setValue({
fieldId: 'assigned',
value: 11
});
supportcase.setValue({
fieldId: 'custevent_record_created_by',
value: 'SYSTEM'
});
caseId = supportcase.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
// var attachid = record.attach({
// record: {
// type: 'customrecord_inbound_orders',
// id: salesID
// },
// to: {
// type: 'supportcase',
// id: caseId
// }
// });
return caseId;
},
checkEmail: function (shipaddr, purchaseOrder) {
//To check the shipemail is valid or not
var validmail = true
try {
var shipermail = shipaddr.email
shipermail = shipermail.split(",")
purchaseOrder.setValue({
fieldId: 'custbody_jj_email',
value: shipermail[0]
});
if (!shipaddr.altphone) {
purchaseOrder.setValue({
fieldId: 'shipaddress',
value: shipaddr.addresse + "\n" + shipaddr.address1 + " " + shipaddr.address2d + "\n" + shipaddr.city + " " + shipaddr.state + " " + shipaddr.zip + " \n " + shipaddr.phone + "\n" + shipermail[0]
});
} else {
purchaseOrder.setValue({
fieldId: 'shipaddress',
value: shipaddr.addresse + "\n" + shipaddr.address1 + " " + shipaddr.address2d + "\n" + shipaddr.city + " " + shipaddr.state + " " + shipaddr.zip + " \n " + shipaddr.phone + " \n " + shipaddr.altphone + "\n" + shipermail[0]
});
}
var SoID = purchaseOrder.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
log.debug("SoIDtry", SoID);
} catch (emailerror) {
validmail = false
purchaseOrder.setValue({
fieldId: 'custbody_jj_email',
value: ""
});
if (shipaddr.altphone == undefined) {
purchaseOrder.setValue({
fieldId: 'shipaddress',
value: shipaddr.addresse + "\n" + shipaddr.address1 + " " + shipaddr.address2d + "\n" + shipaddr.city + " " + shipaddr.state + " " + shipaddr.zip + "\n" + shipaddr.phone
});
} else {
purchaseOrder.setValue({
fieldId: 'shipaddress',
value: shipaddr.addresse + "\n" + shipaddr.address1 + " " + shipaddr.address2d + "\n" + shipaddr.city + " " + shipaddr.state + " " + shipaddr.zip + "\n" + shipaddr.phone + " \n " + shipaddr.altphone
});
}
var SoID = purchaseOrder.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
log.debug("SoIDcatch", SoID);
}
log.debug("validmail", validmail);
return validmail
},
update_pu_dl: function (zip) {
//To get the Zone,Branch and Route for PU/DL
var arrRetData = [];
var customrecord173SearchObj = search.create({
type: "customrecord173",
filters: [
["name", "is", zip]
],
columns: [
search.createColumn({
name: "custrecord_ratezone_zip_code",
label: "Zip Code"
}),
search.createColumn({
name: "custrecord_mzct_zone",
label: "Zone_"
}),
search.createColumn({
name: "custrecord_branch_id",
label: "Branch_ID"
}),
search.createColumn({
name: "custrecord_mzct_route",
label: "Route_"
}),
search.createColumn({
name: "custrecord_mzct_delivery_schedule_day",
label: "Delivery_Schedule_Day"
}),
search.createColumn({
name: "custrecord_mzct_day_trailer_is_loaded",
label: "Day_Trailer_is_Loaded"
}),
search.createColumn({
name: "custrecord_mzct_dmi_release_day",
label: "DMI_Release_Day"
}),
search.createColumn({
name: "custrecord_mzct_special_instructions",
label: "Special_Instructions"
}),
search.createColumn({
name: "custrecord_dt_route",
label: "DT Route"
})
]
});
var searchResultCount = customrecord173SearchObj.runPaged().count;
customrecord173SearchObj.run().each(function (result) {
var branch = result.getText({
name: "custrecord_branch_id",
label: "Branch_ID"
})
arrRetData.push(branch)
var zone = result.getValue({
name: "custrecord_mzct_zone",
label: "Zone_"
})
arrRetData.push(zone)
var route = result.getValue({
name: "custrecord_mzct_route",
label: "Route_"
})
arrRetData.push(route)
var branchtext = result.getValue({
name: "custrecord_branch_id",
label: "Branch_ID"
})
arrRetData.push(branchtext)
var delivery_schedule = result.getValue({
name: "custrecord_mzct_delivery_schedule_day",
label: "Delivery_Schedule_Day"
})
arrRetData.push(delivery_schedule)
var day_trailer = result.getValue({
name: "custrecord_mzct_day_trailer_is_loaded",
label: "Day_Trailer_is_Loaded"
})
arrRetData.push(day_trailer)
var dmi_release_day = result.getValue({
name: "custrecord_mzct_dmi_release_day",
label: "DMI_Release_Day"
})
arrRetData.push(dmi_release_day)
var special_instructions = result.getValue({
name: "custrecord_mzct_special_instructions",
label: "Special_Instructions"
})
arrRetData.push(special_instructions)
var dt_route = result.getValue({
name: "custrecord_dt_route",
label: "DT Route"
})
arrRetData.push(dt_route)
});
return arrRetData;
},
validateaddr: function (custId, objLineAdrs, labelname, ServiceType) {
//To validate address of seller is exist or not
var route_delivery;
var pickmethod;
var pickUpadrsId = "";
var rec = record.load({
type: record.Type.CUSTOMER,
id: custId,
isDynamic: false
});
var hold = rec.getValue('creditholdoverride');
var adrsLines = rec.getLineCount('addressbook');
for (var iw = 0; iw < adrsLines; iw++) {
var flag = true;
var subrec = rec.getSublistSubrecord({
sublistId: 'addressbook',
fieldId: 'addressbookaddress',
line: iw
});
var addrsInternalId = rec.getSublistValue({
sublistId: 'addressbook',
fieldId: 'internalid',
line: iw
});
// Retrieve the subrecord to be checked.
var addressee = subrec.getValue('addressee');
var addr1 = subrec.getValue('addr1');
var addr2 = subrec.getValue('addr2');
var city = subrec.getValue('city');
var state = subrec.getValue('state');
var zip = subrec.getValue('zip');
var phone = subrec.getValue('addrphone');
var emailid = subrec.getValue('custrecord152');
if (addr1.toUpperCase() == objLineAdrs.Address1.toUpperCase() && addr2.toUpperCase() == objLineAdrs.Address2.toUpperCase() && city.toUpperCase() == objLineAdrs.City.toUpperCase() && state.toUpperCase() == objLineAdrs.State.toUpperCase() && zip == objLineAdrs.Zip) {
if (addressee.toUpperCase() == objLineAdrs.name.toUpperCase()) { } else {
// log.debug(addressee, objLineAdrs.name)
subrec.setValue({
fieldId: 'addressee',
value: objLineAdrs.name
});
}
if (phone == objLineAdrs.PhoneNumber) { } else {
// log.debug("objLineAdrs.PhoneNumber", objLineAdrs.PhoneNumber)
subrec.setValue({
fieldId: 'addrphone',
value: objLineAdrs.PhoneNumber
});
}
try {
if (emailid == objLineAdrs.email) { } else {
// log.debug("objLineAdrs.email", objLineAdrs.email)
try {
subrec.setValue({
fieldId: 'custrecord152',
value: objLineAdrs.email
});
} catch (emailerr) {
//log.debug("emailerr", emailerr)
}
}
pickUpadrsId = addrsInternalId;
// log.debug("pickUpadrsId", pickUpadrsId)
pickmethod = subrec.getValue('custrecord_pickup_method');
var recId = rec.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
} catch (erro) {
//log.debug("erro", erro.message)
}
} else {
flag = false;
}
}
if (pickUpadrsId == "" || pickUpadrsId == null || pickUpadrsId == undefined) {
if (ServiceType == "Pickup" || ServiceType == "PickUp" || ServiceType == "PICKUP") {
return {
hold: hold,
}
} else {
var custrecId = main.createNewAdrs(custId, objLineAdrs, labelname);
log.debug("custrecId", custrecId)
var rec = record.load({
type: record.Type.CUSTOMER,
id: custId,
isDynamic: false
});
var adrsLines = rec.getLineCount('addressbook');
var subrec = rec.getSublistSubrecord({
sublistId: 'addressbook',
fieldId: 'addressbookaddress',
line: adrsLines - 1
});
var addrsInternalId = rec.getSublistValue({
sublistId: 'addressbook',
fieldId: 'internalid',
line: adrsLines - 1
});
pickmethod = subrec.getValue('custrecord_pickup_method');
return {
pickUpadrsId: addrsInternalId,
pickmethod: pickmethod,
hold: hold
}
}
} else {
return {
pickUpadrsId: pickUpadrsId,
pickmethod: pickmethod,
hold: hold
}
}
},
createNewAdrs: function (custId, objLineAdrs, labelname) {
//create seller address
// log.debug("createnewaddre", "createnewaddre")
var caseId;
var rec = record.load({
type: record.Type.CUSTOMER,
id: custId,
isDynamic: true
});
var pickup_method = rec.getValue('custentity_preferred_pickup_method');
// Create a line in the Address sublist.
rec.selectNewLine({
sublistId: 'addressbook'
});
// Set an optional field on the sublist line.
rec.setCurrentSublistValue({
sublistId: 'addressbook',
fieldId: 'label',
value: labelname
});
// Create an address subrecord for the line.
var subrec = rec.getCurrentSublistSubrecord({
sublistId: 'addressbook',
fieldId: 'addressbookaddress'
});
// Set body fields on the subrecord.
subrec.setValue({
fieldId: 'addressee',
value: objLineAdrs.name
});
subrec.setValue({
fieldId: 'defaultshipping',
value: true
});
subrec.setValue({
fieldId: 'city',
value: objLineAdrs.City
});
subrec.setValue({
fieldId: 'state',
value: objLineAdrs.State
});
subrec.setValue({
fieldId: 'zip',
value: objLineAdrs.Zip
});
subrec.setValue({
fieldId: 'addr1',
value: objLineAdrs.Address1
});
subrec.setValue({
fieldId: 'addr2',
value: objLineAdrs.Address2
});
subrec.setText({
fieldId: 'addrphone',
text: objLineAdrs.PhoneNumber
});
subrec.setValue({
fieldId: 'custrecord_pickup_method',
value: pickup_method
});
try {
subrec.setValue({
fieldId: 'custrecord152',
value: objLineAdrs.email
});
} catch (createemilerr) {
// log.debug("createemilerr", createemilerr)
}
// Save the sublist line.
rec.commitLine({
sublistId: 'addressbook'
});
// Save the record.
var recId = rec.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
log.debug('New Adrress created successfully | Customer Id: ', recId);
return recId;
},
getdate: function (date) {
//get the date in the format
var date = new Date(date);
var newdate = new Date(date);
newdate.setDate(newdate.getDate());
var dd = newdate.getDate();
var mm = newdate.getMonth() + 1;
var y = newdate.getFullYear() + 100;
var someFormattedDate = mm + '/' + dd + '/' + y;
return someFormattedDate;
},
}
for (var key in main) {
if (typeof main[key] === 'function') {
main[key] = trycatch(main[key], key);
}
}
function trycatch(myfunction, key) {
return function () {
try {
return myfunction.apply(this, arguments);
} catch (e) {
log.debug("e in " + key, e);
}
}
};
return main;
});