Client needs to Populate a suitelet page when a custom Button is Clicked from a IF record.
/**
* @NApiVersion 2.x
* @NScriptType ClientScript
* @NModuleScope SameAccount
*/
define(['N/currentRecord','N/url','N/record'],
/**
* @param{url} url
*/
function(currentRecord,url,record) {
/**
* Function to be executed after page is initialized.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.mode - The mode in which the record is being accessed (create, copy, or edit)
*
* @since 2015.2
*/
function pageInit(scriptContext) {
}
function printButton(createdFrom){
try{
var currentRec=currentRecord.get().id;
console.log("current rec id",currentRec);
// if(messageCount > 0){
var createLinkUrl=url.resolveScript({
scriptId: 'customscript_jj_sl_back_ord_bill_155',
deploymentId: 'customdeploy_jj_sl_back_ord_bill_155',
returnExternalUrl: false,
params: {
currentRec: createdFrom
}
})
window.open(createLinkUrl)
}
catch(e){
console.log("error@printButton",e)
}
}
/**
* Function to be executed when field is changed.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
* @param {string} scriptContext.fieldId - Field name
* @param {number} scriptContext.lineNum - Line number. Will be undefined if not a sublist or matrix field
* @param {number} scriptContext.columnNum - Line number. Will be undefined if not a matrix field
*
* @since 2015.2
*/
function fieldChanged(scriptContext) {
}
/**
* Function to be executed when field is slaved.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
* @param {string} scriptContext.fieldId - Field name
*
* @since 2015.2
*/
function postSourcing(scriptContext) {
}
/**
* Function to be executed after sublist is inserted, removed, or edited.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @since 2015.2
*/
function sublistChanged(scriptContext) {
}
/**
* Function to be executed after line is selected.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @since 2015.2
*/
function lineInit(scriptContext) {
}
/**
* Validation function to be executed when field is changed.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
* @param {string} scriptContext.fieldId - Field name
* @param {number} scriptContext.lineNum - Line number. Will be undefined if not a sublist or matrix field
* @param {number} scriptContext.columnNum - Line number. Will be undefined if not a matrix field
*
* @returns {boolean} Return true if field is valid
*
* @since 2015.2
*/
function validateField(scriptContext) {
}
/**
* Validation function to be executed when sublist line is committed.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @returns {boolean} Return true if sublist line is valid
*
* @since 2015.2
*/
function validateLine(scriptContext) {
}
/**
* Validation function to be executed when sublist line is inserted.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @returns {boolean} Return true if sublist line is valid
*
* @since 2015.2
*/
function validateInsert(scriptContext) {
}
/**
* Validation function to be executed when record is deleted.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @returns {boolean} Return true if sublist line is valid
*
* @since 2015.2
*/
function validateDelete(scriptContext) {
}
/**
* Validation function to be executed when record is saved.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @returns {boolean} Return true if record is valid
*
* @since 2015.2
*/
function saveRecord(scriptContext) {
try{
var curRec= scriptContext.currentRecord;
console.log("curRec",curRec);
var createdFrom = curRec.getValue({fieldId: 'createdfrom'});
console.log("createdFrom",createdFrom)
if(createdFrom){
var salesOrder= record.load({
type: record.Type.SALES_ORDER,
id: createdFrom
})
var flag=0;
var lineCount= salesOrder.getLineCount({sublistId: 'item'});
console.log("lineCount",lineCount);
for(var i=0;i<lineCount;i++){
var backQuantity=salesOrder.getSublistValue({sublistId: 'item', fieldId: 'quantitybackordered', line: i});
if(backQuantity>0)
flag= flag+1;
}
if(flag>0) alert("There is remaining back-ordered item in the sales order.nYou can download report of the items.");
var createLinkUrl=url.resolveScript({
scriptId: 'customscript_jj_sl_back_ord_bill_155',
deploymentId: 'customdeploy_jj_sl_back_ord_bill_155',
returnExternalUrl: false,
params: {
currentRec: createdFrom
}
})
window.open(createLinkUrl)
}
return true;
}
catch(e){
console.error("error@saveRecord",e)
}
}
return {
pageInit: pageInit,
printButton: printButton,
// fieldChanged: fieldChanged,
// postSourcing: postSourcing,
// sublistChanged: sublistChanged,
// lineInit: lineInit,
// validateField: validateField,
// validateLine: validateLine,
// validateInsert: validateInsert,
// validateDelete: validateDelete,
saveRecord: saveRecord
};
});