mg2017
01/09/2024, 1:12 PMfunction saveRecord(context) {
log.debug({title: "Context Save", details: context.mode});
try {
const currentRecord = context.currentRecord;
const addressSublistCount = currentRecord.getLineCount({
sublistId: 'addressbook'
});
alert("Number of Address Found: " + addressSublistCount);
for (let i = 0; i < addressSublistCount; i++) {
const defaultShipping = currentRecord.getSublistValue({
sublistId: 'addressbook',
fieldId: 'defaultshipping',
line: i
});
alert("Default Shipping Found? " + defaultShipping);
if (defaultShipping === true) {
alert("Found a Default Shipping - Get Country Value " + i);
const addressSubrecord = currentRecord.getSublistSubrecord({
sublistId: 'addressbook',
fieldId: 'addressbookaddress',
line: i
});
alert("1");
const countryValue = addressSubrecord.getValue({
fieldId: 'country'
});
alert("2");
dialog.alert({
title: 'Default Shipping Address Found',
message: 'Country for Default Shipping Address: ' + countryValue
});
}
}
} catch
(e) {
log.debug({title: e.title, details: e.message});
}
return true;
}
Kris Reeves
01/09/2024, 3:48 PMKris Reeves
01/09/2024, 3:48 PM"T"
instead of true
; actually displaying the values will help you identify if that's the case, or if it's failing to return any value etcTimothy Wong
01/09/2024, 4:04 PMrequire(['N/record','N/runtime','N/search','N/format','N/currentRecord'], function(record,runtime,search,format, cr) {
try{
const customerId = 323481;
var currentRecord = record.load({
type: record.Type.CUSTOMER,
id: customerId,
isDynamic: true
});
//var currentRecord = cr.get();
const addressSublistCount = currentRecord.getLineCount({
sublistId: 'addressbook'
});
for (let i = 0; i < addressSublistCount; i++) {
const defaultShipping = currentRecord.getSublistValue({
sublistId: 'addressbook',
fieldId: 'defaultshipping',
line: i
});
currentRecord.selectLine({
sublistId: "addressbook",
line: i
});
if (defaultShipping === true) {
var addressSubrecord = currentRecord.getCurrentSublistSubrecord({
sublistId: 'addressbook',
fieldId: 'addressbookaddress',
});
const countryValue = addressSubrecord.getValue({
fieldId: 'country'
});
}
}
} catch (e) {
log.error("ERROR:", JSON.stringify({type: e.type,name: e.name,message: e.message,stack: e.stack,cause: JSON.stringify(e.cause),id: e.id}));
}
});
you can probably run this in the debugger and it'll workmg2017
01/09/2024, 4:39 PMmg2017
01/09/2024, 4:40 PMTimothy Wong
01/09/2024, 6:17 PM