Я работаю с серверным пакетом SuiteS NetSuite и должен получить доступ к отображаемому значению нескольких настраиваемых полей столбцов транзакций. Эти поля задаются как тип «Список/Запись» и связаны с существующими пользовательскими списками.Доступ к текстовому значению настраиваемого столбца с помощью NetSuite SuiteScript
Работая в отладчике скриптов NetSuite, я проверил значения, возвращаемые с nlapiLoadRecord('salesorder', orderInternalId)
. Посмотрите на элементы в результирующем объекте (например, obj.sublists.item.line 1
). Я вижу, что некоторые из этих пользовательских полей «Список/Запись» предоставляют как число (идентификатор выбранной записи списка), так и строку (отображаемое текстовое значение записи «Список») но другие настраиваемые поля этого не делают.
Например, у меня есть два пользовательских поля с идентификаторами custcol1
и custcol2
. Это оба типа «Список/Запись». Когда загружается заказ на продажу, nlapiLoadRecord предоставляет поля «custcol1» (число) и «custcol1_display» (строка) для custcol1
, но только «custcol2» (номер) для custcol2
. Я не вижу разницы в настройках этих двух настраиваемых полей, поэтому неясно, почему одна строка содержит строку, а другая - нет.
Мне нужно получить строковые значения для обоих полей. Есть ли изменение настроек, которое мне нужно сделать, так что custcol2
автоматически вернет значение «custcol2_display»? Или есть другой вызов API, который я могу использовать, чтобы взять числовое значение из «custcol2» и посмотреть связанное строковое значение в базовом пользовательском списке?
Вы пытались вызвать getLineItemValue/getLineItemText в полях? Если да, то что возвращается? Мне нравится отладчик, но я нахожу, что иногда 'nlapiLogExecution ('debug', 'getLineItemValue return:", value); 'намного эффективнее. –
API nlobjRecord.getLineItemText не поддерживается в подсписке пользовательского события. – eliseobeltran