В 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); 
Другие вопросы по тегам