RE: getSublistValue is not returning value

I have used getSublistValue to get and set item’s internal id to other custom record’s “product” field. But its setting item name to “product” field instead of item id. Please Help!

/**

@NApiVersion 2.x
@NScriptType ScheduledScript
@NModuleScope SameAccount */
define([‘N/record’,’N/search’,’N/runtime’], function(record,search,runtime) {

function execute(context) {

try {
var script = runtime.getCurrentScript();
var id = script.getParameter({name: ‘custscript_qa_record_id’});
var type = script.getParameter({name: ‘custscript_qa_record_type’});
log.debug(‘i_qa_record_id:’, id+’,i_qa_record_type=’+type);

if(id && type)
{
var REC;
var quote = record.load({type: type, id: id});
log.debug(‘quote:==’,quote);
var customer = quote.getValue({fieldId: ‘entity’});
log.debug(‘customer:==’,customer);

var lineCount = quote.getLineCount({sublistId: ‘item’});

for(var cnt=0; cnt<lineCount; cnt++)
{
var i_quote = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_far_trn_relatedasset’, line: cnt});
var item_1 = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘item’, line: cnt});
log.debug(‘item_1===’,item_1);

if(i_quote)
{

REC.setValue({fieldId: ‘custrecord_products’, value:item_1 });

}//end of for(var cnt=0; cnt<lineCount; cnt++)
var i_id = quote.save({enableSourcing: true, ignoreMandatoryFields: true});
log.debug(‘i_id:=== ‘+i_id);
}//end of if(id && type)

}catch (error) {
log.debug(‘Error’, error);
}

}
return {
execute: execute
};
});

Maira S Beginner Asked on March 21, 2023 in SuiteScript.
Add Comment
10 Answers

It is there. Now I parsed item value. Will it set internal id now?

/**
* @NApiVersion 2.x
* @NScriptType ScheduledScript
* @NModuleScope SameAccount
*/

define([‘N/record’,’N/search’,’N/runtime’], function(record,search,runtime) {

function execute(context) {

try {
var script = runtime.getCurrentScript();
var id = script.getParameter({name: ‘custscript_qa_record_id’});
var type = script.getParameter({name: ‘custscript_qa_record_type’});
log.debug(‘i_qa_record_id:’, id+’,i_qa_record_type=’+type);

if(id && type)
{
var REC;
var quote = record.load({type: type, id: id});
log.debug(‘quote:==’,quote);
var customer = quote.getValue({fieldId: ‘entity’});
log.debug(‘customer:==’,customer);
var shipdate = quote.getValue({fieldId: ‘custbody_riggs_ship_date_qt’});
log.debug(‘shipdate:==’,shipdate);
var d_verified_date = quote.getValue({fieldId: ‘custbody_riggs_verified_date_quote’});
log.debug(‘d_verified_date:==’,d_verified_date);
if(shipdate){
var NewShipDate = new Date(shipdate);
}
if(NewShipDate)
{
var lessThanTwoYears = NewShipDate.setDate(NewShipDate.getDate() + 650); // add 650 days in shipdate
}
if(lessThanTwoYears)
{
lessThanTwoYears = new Date(lessThanTwoYears);
log.debug(‘lessThanTwoYears:==’,lessThanTwoYears);
}
if(NewShipDate)
{
var olderThanThreeYears = NewShipDate.setDate(NewShipDate.getDate() + 1095); // add 1095 days in shipdate
}
if(olderThanThreeYears)
{
olderThanThreeYears = new Date(olderThanThreeYears);
log.debug(‘olderThanThreeYears:==’,olderThanThreeYears);
}

var diffDays;
if(d_verified_date)
{
var one_day=1000*60*60*24;
var fromDate = d_verified_date;
var toDate= new Date();

var date1 = format.parse({value:fromDate, type: format.Type.DATE});
var date2 = format.parse({value:toDate, type: format.Type.DATE});

var date3=Math.round((date2-date1)/one_day);

diffDays = date3+1;
}

var lineCount = quote.getLineCount({sublistId: ‘item’});
var date = quote.getValue({fieldId: ‘trandate’});
log.debug(‘date:==’,date);
if(date){
var tranDate = new Date(date);
var endUseDate = tranDate.setDate(tranDate.getDate() + 1095); // add 1095 days in trandate
log.debug(‘endUseDate:==’,new Date(endUseDate));
}

for(var cnt=0; cnt<lineCount; cnt++)
{
var i_quote = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_far_trn_relatedasset’, line: cnt});
var item = quote.getSublistText({sublistId: ‘item’, fieldId: ‘item’, line: cnt});
var item_1 = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘item’, line: cnt});
log.debug(‘item===’,item+’===item_1===’+item_1);
var itemId=parseInt(item_1);
log.debug(‘i_quote===’,i_quote);

var amount = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘amount’, line: cnt});
log.debug(‘amount’,amount);
var item_department = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_list_record_department’, line: cnt});
log.debug(‘item_department’,item_department);
var item_class = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_list_record_class’, line: cnt});
log.debug(‘item_class’,item_class);
var item_division = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_list_quote_record_div’, line: cnt});
log.debug(‘item_division’,item_division);
var item_display_requirement = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_list_req_item_display_req’, line: cnt});
log.debug(‘item_display_requirement=’,item_display_requirement);

var serialNum_arr = [];
//Get Serial number/Lot Number from Inventory details
var obj_inventory = quote.getSublistSubrecord({sublistId: ‘item’, fieldId: ‘inventorydetail’,line: cnt});
log.debug(‘obj_inventory:==’,obj_inventory);
var i_cnt = obj_inventory.getLineCount({sublistId:”inventoryassignment”});
log.debug(‘i_cnt:==’,i_cnt);
var serial_Hidden = ”;

for (var i=0; i < i_cnt; i++)
{
if(obj_inventory){
var serialNo = obj_inventory.getSublistText({sublistId: ‘inventoryassignment’,fieldId: ‘issueinventorynumber’,line: i});
log.debug(‘serialNo:==’,serialNo);
serialNum_arr.push(serialNo);

serial_Hidden += serialNo.substring(serialNo.length – 8);
if(i < i_cnt – 1){
serial_Hidden += ‘, ‘;
}
}

}
log.debug(‘array serial_Hidden:==’, serial_Hidden);
log.debug(‘array List:==’, serialNum_arr);

var itemRec = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘item’, line: cnt});
log.debug(‘ItemRec==’,itemRec);

var isinactive;
if(itemRec){
var inventoryItemLookup = search.lookupFields({
type: “inventoryitem”,
id: itemRec,
columns: [‘isinactive’]
});
log.debug(‘inventoryItemLookup’, inventoryItemLookup);

isinactive = inventoryItemLookup.isinactive;
log.debug(‘IsActive=’,isinactive);
}

if(i_quote)
{
REC = record.load({type: ‘customrecord_ncfar_asset’, id:i_quote, isDynamic: true});//FAM record id
REC.setValue({fieldId: ‘customform’, value:101 });
REC.setValue({fieldId: ‘altname’, value:item });
REC.setValue({fieldId: ‘custrecord_products’, value:itemId });
REC.setValue({fieldId: ‘custrecord_assettype’, value: 106});
REC.setValue({fieldId: ‘custrecord_assetcost’, value: amount});
REC.setValue({fieldId: ‘custrecord_assetsubsidiary’, value: 1});
REC.setValue({fieldId: ‘custrecord_customer_fld_lst’, value: customer});
REC.setValue({fieldId: ‘custrecord_fam_account’, value: customer});
//REC.setValue({fieldId: ‘custrecord_asset_ship_date’, value:shipdate});
REC.setValue({fieldId: ‘custrecord_end_use_date1’, value: new Date(endUseDate)});
REC.setValue({fieldId: ‘custrecord_assetresidualvalue’, value:0.00});

/*if(serialNum_arr)
{
serialNum_arr = serialNum_arr.toString().replace(‘[“‘,”);
serialNum_arr = serialNum_arr.toString().replace(‘]”‘,”);
REC.setValue({fieldId: ‘custrecord_assetserialno’, value: serialNum_arr});//serialNum_arr.join(‘, ‘)
}else{
REC.setValue({fieldId: ‘custrecord_assetserialno’, value: ”});
}*/
if(item_division == ’14’ && serial_Hidden){
REC.setValue({fieldId: ‘custrecordasset_serial_hiddeen’, value: serial_Hidden});
}else{
REC.setValue({fieldId: ‘custrecordasset_serial_hiddeen’, value: ”});
}
if(lessThanTwoYears > new Date()){
REC.setValue({fieldId: ‘custrecord_less_than_two_years’, value: true});
}else{
REC.setValue({fieldId: ‘custrecord_less_than_two_years’, value: false});
}
if(item_division){
REC.setValue({fieldId: ‘custrecord_brandd’, value: item_division});
}
if(item_class){
REC.setValue({fieldId: ‘custrecord_product_familys’, value: item_class});
}
if(isinactive == true){
REC.setValue({fieldId: ‘custrecord_discounted_model’, value: true});
}else{
REC.setValue({fieldId: ‘custrecord_discounted_model’, value: false});
}
if(diffDays)
{
REC.setValue({fieldId: ‘custrecord_asset_years_on_display’, value: diffDays});
}
if(olderThanThreeYears < new Date()){
REC.setValue({fieldId: ‘custrecord_older_than_three_year’, value: true});
}else{
REC.setValue({fieldId: ‘custrecord_older_than_three_year’, value: false});
}
/*if(shipdate)
{
REC.setValue({fieldId: ‘custrecord_asset_ship_date’, value: shipdate});
}*/
if(item_display_requirement){
REC.setValue({fieldId: ‘custrecord_list_record_dis_req’, value: item_display_requirement});
}
var recId = REC.save({enableSourcing: true, ignoreMandatoryFields: true});
log.debug(‘Loaded Display Asset Request: ‘+recId);
quote.setSublistValue({sublistId: ‘item’,fieldId: ‘custcol_far_trn_relatedasset’,value: recId,line:cnt});
// quote.setSublistValue({sublistId: ‘item’,fieldId: ‘custcol_created_fam_asset’,line: cnt,value: recId,line:cnt});
}
else
{
REC = record.create({type: ‘customrecord_ncfar_asset’, isDynamic: true});
REC.setValue({fieldId: ‘customform’, value:101 });
REC.setValue({fieldId: ‘altname’, value:item });
REC.setValue({fieldId: ‘custrecord_products’, value:itemId });
REC.setValue({fieldId: ‘custrecord_assettype’, value: 106});
REC.setValue({fieldId: ‘custrecord_assetcost’, value: amount});
REC.setValue({fieldId: ‘custrecord_assetsubsidiary’, value: 1});
REC.setValue({fieldId: ‘custrecord_customer_fld_lst’, value: customer});
REC.setValue({fieldId: ‘custrecord_fam_account’, value: customer});
REC.setValue({fieldId: ‘custrecord_end_use_date1’, value: new Date(endUseDate)});
REC.setValue({fieldId: ‘custrecord_assetresidualvalue’, value:0.00});
/*if(serialNum_arr)
{
REC.setValue({fieldId: ‘custrecord_assetserialno’, value: serialNum_arr});//serialNum_arr.join(‘, ‘)
}else{
REC.setValue({fieldId: ‘custrecord_assetserialno’, value: ”});
}*/
/*if(item_division == ’14’ && serial_Hidden){
REC.setValue({fieldId: ‘custrecordasset_serial_hiddeen’, value: serial_Hidden});
}else{
REC.setValue({fieldId: ‘custrecordasset_serial_hiddeen’, value: ”});
}*/
if(lessThanTwoYears > new Date()){
REC.setValue({fieldId: ‘custrecord_less_than_two_years’, value: true});
}else{
REC.setValue({fieldId: ‘custrecord_less_than_two_years’, value: false});
}
if(item_division){
REC.setValue({fieldId: ‘custrecord_brandd’, value: item_division});
}
if(item_class){
REC.setValue({fieldId: ‘custrecord_product_familys’, value: item_class});
}
if(isinactive == true){
REC.setValue({fieldId: ‘custrecord_discounted_model’, value: true});
}else{
REC.setValue({fieldId: ‘custrecord_discounted_model’, value: false});
}
if(diffDays)
{
REC.setValue({fieldId: ‘custrecord_asset_years_on_display’, value: diffDays});
}
if(olderThanThreeYears < new Date()){
REC.setValue({fieldId: ‘custrecord_older_than_three_year’, value: true});
}else{
REC.setValue({fieldId: ‘custrecord_older_than_three_year’, value: false});
}
/*if(item_display_requirement){
REC.setValue({fieldId: ‘custrecord_list_record_dis_req’, value: item_display_requirement});
}*/
var recId = REC.save({enableSourcing: true, ignoreMandatoryFields: true});
log.debug(‘Created Display Asset Request: ‘+recId);
quote.setSublistValue({sublistId: ‘item’,fieldId: ‘custcol_far_trn_relatedasset’,value: recId,line:cnt});
// quote.setSublistValue({sublistId: ‘item’,fieldId: ‘custcol_created_fam_asset’,value: recId,line:cnt});
}
}//end of for(var cnt=0; cnt<lineCount; cnt++)
var i_id = quote.save({enableSourcing: true, ignoreMandatoryFields: true});
log.debug(‘i_id:=== ‘+i_id);
}//end of if(id && type)

}catch (error) {
log.debug(‘Error’, error);
}

}
return {
execute: execute
};
});

Beginner Answered on March 21, 2023.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.