Jira Code: TRS:129
We can request to view the vendor bill created inside the view. The view screen contains specific fields and related journal entries information. Several buttons are implemented in the form.
Find the following points to navigate inside the view
Create a vendor bill using the ‘vendor bill create’ screen or default NetSuite method.
Navigate into a suitelet external link.
Check the values of the field in the screen, which are populated from the vendor bill record.
Click on the approve button, it will create a journal entry for the vendor bill and change the status as open.
Once the JE is created, then the subtab ‘Related Journal’ will display the JE details.
Click on the reject button. It will send an email to the user who created VB and changes the status from rejected.
Clicking on the Resubmit button will change the status into pending approval.
Another button GL Impact will list all GL impact related to the VB.
Also edit, list buttons will redirect into corresponding vendor bill edit and view screen respectively.
/**
* @NApiVersion 2.x
* @NScriptType Suitelet
* @NModuleScope SameAccount
*/
/** Script Description
* .
******************************************************************************************************
TRUST BRIDGE GLOBAL
VIEW SCRREN FOR VENDOR BILL
******************************************************************************************************
* Date: 02-07-19
*
* Author: MN
Jobin & Jismi IT Services LLP
*
*****************************************************************************************************/
define(['N/record', 'N/search', 'N/ui/serverWidget', 'N/url', 'N/runtime'],
function(record, search, serverWidget, url, runtime) {
var main = {
onRequest: function(context) {
var listScriptId = 'customscript_trs116_sl_creat_list_for_je';
var listDepId = 'customdeploy_trs116_sl_creat_list_for_je';
var redirectListURL = url.resolveScript({ scriptId: listScriptId, deploymentId: listDepId, returnExternalUrl: false });
try {
if (context.request.method == 'GET') {
try {
var RECID = context.request.parameters.recid;
var VB_RECORD = record.load({
type: record.Type.VENDOR_BILL,
id: RECID,
isDynamic: true,
});
} catch (e) {
context.response.write("<html><head><body><script>alert('Sorry we could not find vendor bill');window.location.href='" + redirectListURL + "';</script></body></head></html>");
return;
}
var VB_FIELD_VALUES = main.getVendorBillFields(VB_RECORD);
log.debug("VB_FIELD_VALUES", VB_FIELD_VALUES);
context.response.writePage(main.createForm(context.request.parameters, VB_FIELD_VALUES, RECID));
}
} catch (e) { log.debug("onRequest", e) }
},
getVendorBillFields: function(VB_RECORD) {
try {
var VB_field_Obj = {};
var VB_ACOUNT = '';
var field_id = ['entity', 'trandate', 'currency', 'usertotal', 'memo', 'cseg5', 'cseg6', 'transactionnumber', 'approvalstatus'];
var field_names = ['name', 'date', 'currency', 'amount', 'memo', 'fund', 'charityPurpose', 'transactionNo', 'status']
for (var i = 0; i < field_id.length; i++) {
VB_field_Obj[field_names[i]] = VB_RECORD.getValue({ fieldId: field_id[i] });
}
var VB_STATUSTEXT = VB_RECORD.getText({ fieldId: 'approvalstatus' });
VB_field_Obj.statusText = VB_STATUSTEXT;
var VB_CREATEDBY = VB_RECORD.getText({ fieldId: 'custbody_jj_created_by' });
VB_field_Obj.createdBy = VB_CREATEDBY;
var VB_MODIFIEDBY = VB_RECORD.getText({ fieldId: 'custbody_last_modifiedby' });
VB_field_Obj.modifiedBy = VB_MODIFIEDBY;
var line_Count = VB_RECORD.getLineCount({ sublistId: 'expense' })
if (line_Count) {
VB_ACOUNT = VB_RECORD.getSublistValue({
sublistId: 'expense',
fieldId: 'account',
line: 0
});
}
VB_field_Obj.account = VB_ACOUNT;
return VB_field_Obj;
} catch (e) { log.debug("getVendorBillFields", e); }
},
createForm: function(params, VB_FIELD_VALUES, RECID) {
try {
var accountList = main.findAccountList();
var relatedJE = main.findRelatedJE(RECID);
log.debug("relatedJE", relatedJE);
var form = serverWidget.createForm({ title: '#' + VB_FIELD_VALUES.transactionNo });
var vendor_name = form.addField({
id: "vendor_name_requested",
type: serverWidget.FieldType.SELECT,
label: 'vendor name',
source: "vendor"
});
vendor_name.defaultValue = VB_FIELD_VALUES.name;
vendor_name.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var date = form.addField({
id: "date_requested",
type: serverWidget.FieldType.DATE,
label: 'Date'
});
date.defaultValue = VB_FIELD_VALUES.date;
date.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var currency = form.addField({
id: "currency_requested",
type: serverWidget.FieldType.SELECT,
label: 'Currency',
source: "currency"
});
currency.defaultValue = VB_FIELD_VALUES.currency;
currency.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var account = form.addField({
id: 'account_requested',
type: serverWidget.FieldType.SELECT,
label: 'Account'
});
account.addSelectOption({
value: "",
text: ""
});
for (var i = 1; i < accountList.length; i++) {
account.addSelectOption({
value: accountList[i].id,
text: accountList[i].name
});
}
account.defaultValue = VB_FIELD_VALUES.account;
account.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var amount = form.addField({
id: "amount_requested",
type: serverWidget.FieldType.CURRENCY,
label: 'Amount'
});
amount.defaultValue = VB_FIELD_VALUES.amount;
amount.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var memo = form.addField({
id: 'memo_requested',
type: serverWidget.FieldType.TEXT,
label: 'Memo'
});
memo.defaultValue = VB_FIELD_VALUES.memo;
memo.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var fund = form.addField({
id: 'fund_requested',
type: serverWidget.FieldType.SELECT,
label: 'Fund number',
source: 'customrecord_cseg5'
});
fund.defaultValue = VB_FIELD_VALUES.fund;
fund.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var primary_Charity = form.addField({
id: 'cahrity_requested',
type: serverWidget.FieldType.SELECT,
label: 'Primary Charity Purpose',
source: 'customrecord_cseg6'
});
primary_Charity.defaultValue = VB_FIELD_VALUES.charityPurpose;
primary_Charity.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var statusValue = form.addField({
id: 'statusvalue_requested',
type: serverWidget.FieldType.TEXT,
label: 'STATUS',
source: 'customrecord_cseg6'
});
statusValue.defaultValue = VB_FIELD_VALUES.statusText;
statusValue.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var createdBy = form.addField({
id: 'createdby_requested',
type: serverWidget.FieldType.TEXT,
label: 'CREATED BY',
source: 'customrecord_cseg6'
});
createdBy.defaultValue = VB_FIELD_VALUES.createdBy;
createdBy.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var modifiedBy = form.addField({
id: 'modifiedby_requested',
type: serverWidget.FieldType.TEXT,
label: 'LAST MODIFIED BY',
source: 'customrecord_cseg6'
});
modifiedBy.defaultValue = VB_FIELD_VALUES.modifiedBy;
modifiedBy.updateDisplayType({
displayType: serverWidget.FieldDisplayType.DISABLED
});
var sublist = form.addSublist({
id: 'custpage_table',
type: serverWidget.SublistType.STATICLIST,
label: 'Related Journals'
});
sublist.addField({
id: 'custpage_jenumber',
label: 'JE Number',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jedate',
label: 'Date',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jesubsidiary',
label: 'SUBSIDIARY ',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jecurrency',
label: 'CURRENCY ',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jeamount',
label: 'AMOUNT',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jedebit',
label: 'DEBIT',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jecredit',
label: 'CREDIT',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jeheadermemo',
label: 'HEADER MEMO ',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jelinememo',
label: 'LINE MEMO',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jefundsend',
label: 'FUND NUMBER SEND',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_fundrecieved',
label: 'FUND NUMBER RECEIVED',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jecreatedby',
label: 'CREATED BY',
type: serverWidget.FieldType.TEXT
});
sublist.addField({
id: 'custpage_jemodifiedby',
label: 'LAST MODIFIED BY',
type: serverWidget.FieldType.TEXT
});
form.addButton({
id: 'buttonid_Edit',
label: 'Edit',
functionName: 'editVB'
});
form.addButton({
id: 'buttonid_list',
label: 'List',
functionName: 'listVB'
});
var resubBtn = form.addButton({
id: 'buttonid_cancell',
label: 'Resubmit Bill',
functionName: 'ResubmitBtn'
});
var appBtn = form.addButton({
id: 'buttonid_approve',
label: 'Approve',
functionName: 'ApproveBtn'
});
var rejBtn = form.addButton({
id: 'buttonid_reject',
label: 'Reject',
functionName: 'RejectBtn'
});
var glImpact = form.addButton({
id: 'buttonid_glimpact',
label: 'GL Impact',
functionName: 'glImpact'
});
if (VB_FIELD_VALUES.status == 1) {
resubBtn.isDisabled = true;
} else if (VB_FIELD_VALUES.status == 2) {
appBtn.isDisabled = true;
rejBtn.isDisabled = true;
resubBtn.isDisabled = true;
} else if (VB_FIELD_VALUES.status == 3) {
appBtn.isDisabled = true;
rejBtn.isDisabled = true;
}
if (relatedJE.length) {
for (var i = 0; i < relatedJE.length; i++) {
// var nill = 'null';
sublist.setSublistValue({
id: 'custpage_jenumber',
line: i,
value: relatedJE[i].no || 'null'
});
sublist.setSublistValue({
id: 'custpage_jedate',
line: i,
value: relatedJE[i].date || 'null'
});
sublist.setSublistValue({
id: 'custpage_jesubsidiary',
line: i,
value: relatedJE[i].subsidiary || 'null'
});
sublist.setSublistValue({
id: 'custpage_jecurrency',
line: i,
value: relatedJE[i].currency || 'null'
});
sublist.setSublistValue({
id: 'custpage_jeamount',
line: i,
value: relatedJE[i].amount || 'null'
});
sublist.setSublistValue({
id: 'custpage_jedebit',
line: i,
value: relatedJE[i].debit || 'null'
});
sublist.setSublistValue({
id: 'custpage_jecredit',
line: i,
value: relatedJE[i].credit || 'null'
});
sublist.setSublistValue({
id: 'custpage_jeheadermemo',
line: i,
value: relatedJE[i].headermemo || 'null'
});
sublist.setSublistValue({
id: 'custpage_jelinememo',
line: i,
value: relatedJE[i].linememo || 'null'
});
sublist.setSublistValue({
id: 'custpage_jefundsend',
line: i,
value: relatedJE[i].fundrecieved || 'null'
});
sublist.setSublistValue({
id: 'custpage_fundrecieved',
line: i,
value: relatedJE[i].fundrecieved || 'null'
});
sublist.setSublistValue({
id: 'custpage_jecreatedby',
line: i,
value: relatedJE[i].createdby || 'null'
});
sublist.setSublistValue({
id: 'custpage_jemodifiedby',
line: i,
value: relatedJE[i].lastmodified || 'null'
});
}
}
form.clientScriptFileId = 674;
return form;
} catch (e) { log.debug("CreateForm", e); }
},
findAccountList: function() {
try {
var chartArr = [];
var accountSearchObj = search.create({
type: "account",
filters: [
["parent", "anyof", "252"] //grant expense chart of account
],
columns: [
search.createColumn({
name: "name",
sort: search.Sort.ASC,
label: "Name"
}),
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = accountSearchObj.runPaged().count;
accountSearchObj.run().each(function(result) {
var chartObj = {};
chartObj.name = result.getValue(accountSearchObj.columns[0]);
chartObj.id = result.getValue(accountSearchObj.columns[1]);
chartArr.push(chartObj);
return true;
});
return chartArr;
} catch (e) { log.debug("findAccountList", e); }
},
findRelatedJE: function(RECID) {
try {
var related_JE_Array = [];
var journalentrySearchObj = search.create({
type: "journalentry",
filters: [
["type", "anyof", "Journal"],
"AND",
["custbody_jj_source_of_origin", "anyof", RECID],
"AND",
["mainline", "is", "T"]
],
columns: [
search.createColumn({ name: "trandate", label: "Date" }),
search.createColumn({ name: "subsidiary", label: "Subsidiary" }),
search.createColumn({ name: "currency", label: "Currency" }),
search.createColumn({ name: "amount", label: "Amount" }),
search.createColumn({ name: "memomain", label: "Memo (Main)" }),
search.createColumn({ name: "custbody_fund_num_recvd", label: "Fund Number Received" }),
search.createColumn({ name: "custbody_fund_num_send", label: "Fund Number Send" }),
search.createColumn({ name: "memo", label: "Memo" }),
search.createColumn({ name: "custbody_jj_created_by", label: "Created By" }),
search.createColumn({ name: "custbody_last_modifiedby", label: "Last Modified By" }),
search.createColumn({ name: "tranid", label: "entityno" }),
search.createColumn({ name: "creditamount", label: "Amount (Credit)" }),
search.createColumn({ name: "debitamount", label: "Amount (Debit)" })
]
});
var searchResultCount = journalentrySearchObj.runPaged().count;
//log.debug("journalentrySearchObj result count", searchResultCount);
journalentrySearchObj.run().each(function(result) {
var related_JE_Obj = {};
if (searchResultCount) {
related_JE_Obj.date = result.getValue(journalentrySearchObj.columns[0]);
related_JE_Obj.subsidiary = result.getText(journalentrySearchObj.columns[1]);
related_JE_Obj.currency = result.getText(journalentrySearchObj.columns[2]);
related_JE_Obj.amount = result.getValue(journalentrySearchObj.columns[3]);
related_JE_Obj.headermemo = result.getValue(journalentrySearchObj.columns[4]);
related_JE_Obj.fundrecieved = result.getText(journalentrySearchObj.columns[5]);
related_JE_Obj.fundsend = result.getText(journalentrySearchObj.columns[6]);
related_JE_Obj.linememo = result.getValue(journalentrySearchObj.columns[7]);
related_JE_Obj.createdby = result.getText(journalentrySearchObj.columns[8]);
related_JE_Obj.lastmodified = result.getText(journalentrySearchObj.columns[9]);
related_JE_Obj.no = result.getValue(journalentrySearchObj.columns[10]);
related_JE_Obj.debit = result.getValue(journalentrySearchObj.columns[11]);
related_JE_Obj.credit = result.getValue(journalentrySearchObj.columns[12]);
related_JE_Array.push(related_JE_Obj);
}
// .run().each has a limit of 4,000 results
return true;
});
return related_JE_Array;
} catch (e) { log.debug("findRelatedJE", e); }
}
}
return main;
});
//client script for button action
/**
* @NApiVersion 2.x
* @NScriptType ClientScript
* @NModuleScope SameAccount
*/
/*******************************************************************************
* Trust Bridge
*
******************************************************************************
* Date:
* Author: Jobin & Jismi IT Services LLP
* Script Description: Button action from create view of Vendor Bill.
* Date created :02/07/2019
******************************************************************************/
var url_aRRAY = [{
"Name": "Vendor Bill Edit",
"SuitletId": "customscript_trus74_sl_create_je_page",
"DeploymentId": "customdeploy_trus74_sl_create_je_page",
},
{
"Name": "Vendor Bill List",
"SuitletId": "customscript_trus74_sl_create_je_page",
"DeploymentId": "customdeploy_trus74_sl_create_je_page",
}
];
define(['N/currentRecord', 'N/url', 'N/https', 'N/search', 'N/runtime', 'N/record', 'N/email'],
function(currentRecord, url, https, search, runtime, record, email) {
function pageInit(scriptContext) {
}
function listVB() {
try {
var listURL = getResolvedURL(url_aRRAY[0].SuitletId, url_aRRAY[0].DeploymentId);
window.location.href = listURL;
} catch (err3) {
console.log('listVB', listVB);
}
}
function editVB() {
try {
var editURL = getResolvedURL(url_aRRAY[1].SuitletId, url_aRRAY[1].DeploymentId);
window.location.href = editURL;
} catch (err3) {
console.log('editVB', listVB);
}
}
function ApproveBtn() {
try {
var VB_Rec_Id = getParameterByName('recid');
var vendorBillFields = getVendorRecord(VB_Rec_Id);
console.log('vendorBillFields',vendorBillFields);
var account_CurrencyId = getAccountCurrency(vendorBillFields);
console.log('account_CurrencyId',account_CurrencyId);
var JE_record_Id = createJERecord(vendorBillFields, account_CurrencyId);
if (JE_record_Id) {
alert('Journal Entry id=' + JE_record_Id + ' created');
var journalField = record.submitFields({
type: record.Type.VENDOR_BILL,
id: VB_Rec_Id,
values: {
custbody_journal_field: JE_record_Id,
approvalstatus: 2
}
});
window.location.reload();
} else {
alert('Sorry we canot create JE record');
}
} catch (er) {
console.log('er', er);
}
}
function RejectBtn() {
try {
var VB_Rec_Id = getParameterByName('recid');
var currentUserMail = runtime.getCurrentUser().email;
var mailRecipient = null;
var currentUserMailId = getCurrentUserMailId(VB_Rec_Id);
console.log("currentUserMailId", currentUserMailId);
if (currentUserMailId) {
console.log("enter")
email.send({
author: -5,
recipients: currentUserMailId,
subject: 'Vendor bill id - ' + VB_Rec_Id + ' : Rejected',
body: 'The vendor bill of id = ' + VB_Rec_Id + ' has been rejected. Please do necessary changes and resubmit.'
});
}
var journalField = record.submitFields({
type: record.Type.VENDOR_BILL,
id: VB_Rec_Id,
values: {
approvalstatus: 3
}
});
window.location.reload();
} catch (err2) {
console.log('RejectBtn', err2);
}
}
function ResubmitBtn() {
try {
var VB_Rec_Id = getParameterByName('recid');
var satusField3 = record.submitFields({
type: record.Type.VENDOR_BILL,
id: VB_Rec_Id,
values: {
approvalstatus: 1
}
});
window.location.reload();
} catch (err3) {
console.log('ResubmitBtn', err3);
}
}
function glImpact() {
try {
var vendorBiilId = getParameterByName('recid');
var conpanyid = '5432341_SB1'
var http = 'https://';
var urlComponents = '/app/accounting/transactions/impact.nl?trantype=vendbill&searchid=-36&Transaction_INTERNALID=' + vendorBiilId + '&Transaction_INTERNALIDtype=ANYOF&label=Bill'
var accountIdPart = url.resolveDomain({
hostType: url.HostType.APPLICATION,
accountId: conpanyid
});
var glURL = http + accountIdPart + urlComponents;
console.log('glURL', glURL);
window.location.href = glURL;
} catch (err3) {
console.log('glImpact', err3);
}
}
function getCurrentUserMailId(VB_Rec_Id) {
try {
var mailRecipient = '';
var vendorbillSearchObj2 = search.create({
type: "vendorbill",
filters: [
["type", "anyof", "VendBill"],
"AND",
["internalid", "anyof", VB_Rec_Id],
"AND",
["mainline", "is", "T"]
],
columns: [
search.createColumn({ name: "custbody_user_mailid", label: "USER MAILID" })
]
});
var searchResultCount = vendorbillSearchObj2.runPaged().count;
console.log("vendorbillSearchObj2 result count", searchResultCount);
vendorbillSearchObj2.run().each(function(result) {
mailRecipient = result.getValue(vendorbillSearchObj2.columns[0]);
return true;
});
return mailRecipient;
} catch (err3) {
console.log('getCurrentUserMailId', err3);
}
}
function getVendorRecord(VB_Rec_Id) {
try {
var billArr = [];
var vendorbillSearchObj = search.create({
type: "vendorbill",
filters: [
["type", "anyof", "VendBill"],
"AND",
["mainline", "is", "F"],
"AND",
["internalid", "anyof", VB_Rec_Id],
"AND",
["taxline", "is", "F"],
"AND",
["shipping", "is", "F"]
],
columns: [
search.createColumn({ name: "memomain", label: "Memo (Main)" }),
search.createColumn({ name: "subsidiary", label: "Subsidiary" }),
search.createColumn({ name: "currency", label: "Currency" }),
search.createColumn({ name: "trandate", label: "Date" }),
search.createColumn({ name: "fxamount", label: "Amount (Foreign Currency)" }),
search.createColumn({
name: "entityid",
join: "vendor",
label: "Name"
}),
search.createColumn({ name: "account", label: "Account" }),
search.createColumn({ name: "cseg5", label: "Fund Number" }),
search.createColumn({ name: "custbody_jj_created_by", label: "Created By" }),
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = vendorbillSearchObj.runPaged().count;
vendorbillSearchObj.run().each(function(result) {
var billObj = {};
billObj.memomain = result.getValue(vendorbillSearchObj.columns[0]);
billObj.subsidiary = result.getValue(vendorbillSearchObj.columns[1]);
billObj.currency = result.getValue(vendorbillSearchObj.columns[2]);
billObj.trandate = result.getValue(vendorbillSearchObj.columns[3]);
billObj.amount = result.getValue(vendorbillSearchObj.columns[4]);
billObj.Name = result.getValue(vendorbillSearchObj.columns[5]);
billObj.account = result.getValue(vendorbillSearchObj.columns[6]);
billObj.fundnumber = result.getValue(vendorbillSearchObj.columns[7]);
billObj.createdBy = result.getValue(vendorbillSearchObj.columns[8]);
billObj.source = result.getValue(vendorbillSearchObj.columns[9]);
billArr.push(billObj);
return true
});
return billArr;
} catch (err3) {
console.log('getVendorRecord', getVendorRecord);
}
}
function getAccountCurrency(vendorBillFields) {
try {
var currenntCurrency = vendorBillFields[0].currency;
var currencyAccountId = '';
var accountSearchObj = search.create({
type: "account",
filters: [
["custrecord_virtual_currency.internalid", "anyof", currenntCurrency]
],
columns: [
search.createColumn({ name: "internalid", label: "Internal ID" })
]
});
var searchResultCount = accountSearchObj.runPaged().count;
accountSearchObj.run().each(function(result) {
currencyAccountId = result.getValue(accountSearchObj.columns[0]);
return true;
});
return currencyAccountId;
} catch (err3) {
console.log('getAccountCurrency', err3);
}
}
function createJERecord(vendorBillFields, account_CurrencyId) {
try {
var journalRecord = record.create({
type: record.Type.JOURNAL_ENTRY
});
journalRecord.setValue({
fieldId: 'trandate',
value: new Date(vendorBillFields[0].trandate)
});
journalRecord.setValue({
fieldId: 'subsidiary',
value: vendorBillFields[0].subsidiary
});
journalRecord.setValue({
fieldId: 'currency',
value: vendorBillFields[0].currency
});
journalRecord.setValue({
fieldId: 'memo',
value: vendorBillFields[0].memomain
});
journalRecord.setValue({
fieldId: 'memo',
value: vendorBillFields[0].memomain
});
journalRecord.setValue({
fieldId: 'custbody_jj_created_by',
value: vendorBillFields[0].createdBy
});
journalRecord.setValue({
fieldId: 'custbody_jj_source_of_origin',
value: vendorBillFields[0].source
});
var userObj = runtime.getCurrentUser();
log.debug({
title: 'user',
details: userObj
});
var userId = userObj.id;
journalRecord.setValue({
fieldId: 'custbody_last_modifiedby',
value: userId
});
journalRecord.setSublistValue({ sublistId: 'line', fieldId: 'account', line: 0, value: account_CurrencyId });
journalRecord.setSublistValue({ sublistId: 'line', fieldId: 'debit', line: 0, value: vendorBillFields[0].amount });
journalRecord.setSublistValue({ sublistId: 'line', fieldId: 'cseg5', line: 0, value: vendorBillFields[0].fundnumber });
journalRecord.setSublistValue({ sublistId: 'line', fieldId: 'account', line: 1, value: account_CurrencyId });
journalRecord.setSublistValue({ sublistId: 'line', fieldId: 'credit', line: 1, value: vendorBillFields[0].amount });
journalRecord.setSublistValue({ sublistId: 'line', fieldId: 'cseg5', line: 1, value: vendorBillFields[0].fundnumber });
var je_RecordId = journalRecord.save({
enableSource: false,
ignoreMandatoryFields: true
});
return je_RecordId;
} catch (err3) {
console.log('createJERecord', err3);
}
}
function getResolvedURL(scriptId, deploymentId) {
try {
var urlid = url.resolveScript({ scriptId: scriptId, deploymentId: deploymentId, returnExternalUrl: false });
return urlid;
} catch (err3) {
console.log("getResolvedURL", getResolvedURL);
}
}
function getParameterByName(name, url) {
try {
if (!url)
url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex
.exec(url);
if (!results)
return null;
if (!results[2])
return ' ';
return decodeURIComponent(results[2].replace(/\+/g, " "));
} catch (err3) {
console.log('getParameterByName', err3);
}
}
return {
pageInit: pageInit,
listVB: listVB,
editVB: editVB,
ApproveBtn: ApproveBtn,
RejectBtn: RejectBtn,
ResubmitBtn: ResubmitBtn,
glImpact: glImpact
};
});