Я пытаюсь получить и изменить значение адреса доставки в shipphone при сохранении выполнения элемента, но изменения не сохраняются (и я не выяснил, как получить адрес shipphone, поэтому я проводил первоначальное тестирование со значением телефона).Есть ли другой способ, которым я должен сделать это, чтобы я мог на самом деле обновить детали адреса уровня транзакции?Я предполагаю, что мне нужно загрузить запись клиента, чтобы получить адрес, так как я не могу напрямую получить телефон в записи транзакции, но это все еще не объясняет, как я могу установить shipphone для адреса доставки в транзакции.
function beforeSubmit(context) {
var ifNum = 'N/A';
if (context.newRecord.id) ifNum = context.newRecord.id;
var recordPhone = context.newRecord.getValue('phone');
var phoneValid = checkPhone(recordPhone);
if (!phoneValid) {
try {
var correctedPhone = correctPhone(recordPhone);
var shipaddress = context.newRecord.getSubrecord('shippingaddress')
shipaddress.setValue({fieldId: 'shipphone', value: correctedPhone});
log.debug('Set phone to: ' + correctedPhone + ' from ' + recordPhone);
}
catch(e) {
var errorStr = 'Error setting IF #' + ifNum + ' phone value';
log.error(errorStr, e.message);
throw error.create({
name: errorStr,
message: e.message,
notifyOff: true
});
}
}
}