В Netsuite: настройка раскрывающегося поля "Доставка для выбора" адреса доставки для заказа на продажу через Suitscript
При создании Заказа на продажу в Netsuite через Suitescript, мы можем успешно установить "Доставить" (идентификатор поля: адрес отправления), отправив ему строку, содержащую полный адрес.
Это вызывает проблему, поскольку в раскрывающемся поле "ДОСТУП К ВЫБОРУ" сохраняется адрес по умолчанию, установленный для клиента.
В идеале мы бы предпочли отправить действительный идентификатор из записи клиента и установить раскрывающееся поле "ДОСТУП К ВЫБОРУ" (идентификатор поля: shipaddresslist), используя этот идентификатор.
Мы можем получить действительный идентификатор, но не можем найти способ установить этот идентификатор в поле, чтобы заполнить этот раскрывающийся список.
1 ответ
Как правило, если вы делаете это вне контекста сценария "Пользовательское событие перед отправкой", вам также необходимо убедиться, что вы сэкономили с использованием источников.
var soRec = nlapiLoadRecord('salesorder' soId);
soRec.setFieldValue('shipaddresslist', addressId);
nlapiSubmitRecord(soRec, true);
// alternatively nlapiSubmitRecord(soRec, {enablesourcing:true [, disabletriggers:true|false, ignoremandatoryfields:true|false]});
Если вы все еще видите старый адресный текст, вы можете добавить:
soRec.setFieldValue('shipaddress', null);
перед отправкой.
Если то, что вы хотите сделать, это установить собственный адрес, то аналогично, но вам нужно установить переопределение:
var soRec = nlapiLoadRecord('salesorder' soId);
soRec.setFieldValue('shipaddresslist', null);
soRec.setFieldValue('shipoverride', 'T');
soRec.setFieldValue('shipaddress', formattedAddressString);
nlapiSubmitRecord(soRec);
Имейте в виду, что при этом любые поиски или автоматизация, основанные на адресных полях, будут пропущены или приведут к неверным результатам в этой записи.
Если вам нужен индивидуальный адрес, вам, как правило, лучше:
var soRec = nlapiLoadRecord('salesorder' soId);
soRec.setFieldValue('shipaddresslist', null);
soRec.setFieldValue('shipaddr1', '123 Elm St.');
soRec.setFieldValue('shipcity', 'Portland');
...
nlapiSubmitRecord(soRec);