mg2017
04/29/2021, 11:12 PMmg2017
04/29/2021, 11:12 PMmg2017
04/29/2021, 11:12 PMfunction fieldChanged(context) {
if (context.fieldId === 'company') {
var field_changed = context.fieldId;
var current_record = context.currentRecord;
var company = current_record.getValue({
fieldId: 'company'
});
log.debug({title: "Field Changed...", details: context.fieldId})
if (company) {
try {
var CUSTOMER = record.load({
type: record.Type.CUSTOMER,
isDynamic: false,
id: company
});
var address_list = current_record.getField({
fieldId: 'custpage_selectfield_dmcs'
});
log.debug("EMPTY ADDRESS LIST");
address_list.removeSelectOption({
value: null
});
var address_details = GetCustomerAddress(CUSTOMER.id, search, current_record, field_changed);
} catch (e) {
log.error("Catch Block");
}
}
}
if (context.fieldId === 'custpage_selectfield_dmcs') {
var current_record = context.currentRecord;
var company = current_record.getValue({
fieldId: 'company'
});
var _field_id = context.fieldId;
if (company) {
try {
var CUSTOMER = record.load({
type: record.Type.CUSTOMER,
isDynamic: false,
id: company
});
var address_details = GetCustomerAddress(CUSTOMER.id, search, current_record, _field_id);
log.debug({title: "End of Process", details: address_details});
} catch (e) {
log.error("Catch Block - Error");
}
}
}
}
function GetCustomerAddress(customer_id, search, current_record, field_changed) {
var customer_internal_id = customer_id;
var customer_address_search = search.load({
id: "customsearch_customer_add_search"
});
log.debug({title: "Internal ID Passed to filter", details: customer_internal_id});
customer_address_search.filters.push(search.createFilter({
name: 'internalid',
operator: <http://search.Operator.IS|search.Operator.IS>,
values: customer_internal_id
}));
var myPagedData = customer_address_search.runPaged({
"pageSize": 1000
});
var address;
log.debug({title: "Address Count", details: myPagedData.count});
if (myPagedData.count > 0) {
myPagedData.pageRanges.forEach(function (pageRange) {
var myPage = myPagedData.fetch({index: pageRange.index});
myPage.data.forEach(function (result) {
const address_internal_id = result.getValue({
name: 'addressinternalid',
summary: 'GROUP',
});
address = result.getValue({
name: 'address',
summary: 'GROUP',
});
const default_shipping_address = result.getValue({
name: "isdefaultshipping",
summary: "GROUP",
})
if (field_changed === 'company') {
log.debug("Field Changed - Company");
if (default_shipping_address === true) {
log.debug("Set Default Shipping Address");
current_record.setValue({
fieldId: "custevent_case_address",
value: address
});
}
var address_book_field = current_record.getField({
fieldId: 'custpage_selectfield_dmcs'
});
log.debug("Insert Options");
address_book_field.insertSelectOption({
value: address_internal_id,
text: address
});
}
if (field_changed === 'custpage_selectfield_dmcs') {
log.debug("Drop Down Change - Update Address");
current_record.setValue({
fieldId: 'custevent_case_address',
value: address
})
}
log.debug({title: "Address", details: address});
return true
});
});
} else {
log.debug({title: "No Address Found For this Customer", details: customer_internal_id})
}
}
battk
04/29/2021, 11:30 PMbattk
04/29/2021, 11:30 PMmg2017
04/30/2021, 3:39 AMbattk
04/30/2021, 3:52 AMbattk
04/30/2021, 3:54 AMbattk
04/30/2021, 3:54 AMbattk
04/30/2021, 3:55 AMbattk
04/30/2021, 3:56 AM