2012-07-18 2 views
1

Я работаю с серверным пакетом 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» и посмотреть связанное строковое значение в базовом пользовательском списке?

+0

Вы пытались вызвать getLineItemValue/getLineItemText в полях? Если да, то что возвращается? Мне нравится отладчик, но я нахожу, что иногда 'nlapiLogExecution ('debug', 'getLineItemValue return:", value); 'намного эффективнее. –

+0

API nlobjRecord.getLineItemText не поддерживается в подсписке пользовательского события. – eliseobeltran

ответ

1

Попробуйте использовать record.getLineItemText('item', 'custcol2', linenum)

Для отладки, я предпочитаю использовать Firebug - это намного эффективнее, чем отладчик NS и быстрее, чем регистрация заявления только для тестирования вещи.

1

Я только что заметил, что это два года, но я думаю, вы можете поместить columnname.id, чтобы получить значение данных. Он работает для стандартных столбцов, но не уверен в пользовательских.

Одна вещь, которую я научился использовать, - отладчик NetSuite, я не использую его как стандартный отладчик, а скорее как консоль javascript. Просто вставьте какой-то код в поле и отлаживайте его, отлично видно, что значения свойств dang и данные в них, которые, как представляется, являются crapshoot в NetSuite.

+0

One что особенно раздражает «отладчик», так это то, как он, кажется, уничтожается всем/что угодно. Например, у вас есть какой-то код, вставленный в том, что касается записей Клиента, если вы посмотрите на клиента, который может быть затронут вам будет сообщено сообщение «кто-то еще вошел в систему». Как-то это даже сохраняется в браузерах не только с вкладками. Сделайте себе одолжение и сохраните текстовый редактор, удобный для работы с буфером обмена. – torpy

Смежные вопросы