2016-07-13 2 views
1

У меня есть поле с несколькими полями, в котором есть список элементов, используемых нашими клиентами. Некоторые из наших клиентов используют разные аппаратные средства под одной и той же категорией. У меня есть поле на странице Customer, которое является полем множественного выбора, и я пытаюсь взять эту информацию и вставить в форму case с помощью функции beforeSubmit. Поскольку я вытягиваю элемент, когда я вытягиваю поле для элемента, он дает внутренний идентификатор, а не имя. Поэтому я также перечислил список элементов, чтобы получить имя элемента, а не идентификатор элемента.Suitescript Загрузка записей элементов из поля множественного выбора

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу понять, как наилучшим образом разделить внутренний идентификатор и загрузить записи, чтобы извлечь информацию. Сейчас это выглядит примерно так.

var company = nlapiGetFieldValue('company'); var custRecord = nlapiLoadRecord('customer', company); var CustomerTerminal = custRecord.getFieldValue('custentity89'); //ItemInternal Id
var termItemRecord = nlapiLoadRecord('inventoryitem',CustomerTerminal); var termItemName = termItemRecord.getFieldValue('itemid'); nlapiSetFieldValue('custevent129',termItemName);

Это возвращает 5615 2063 3578.

После этого я не знаю, как поступить, так как это три продукта. Я только начал кодирование, поэтому любая помощь будет принята с благодарностью!

+0

может быть разделен на массив с помощью операции '.split (" ")'. Затем выполните цикл и сделайте что-нибудь с каждым значением. Существуют ли значения, которые должны помочь заполнить другой мульти-выбор в форме дела? – TonyH

+0

Я создал текстовое поле свободной формы в форме дела, но в конечном итоге мне нужно, чтобы каждый элемент загружался и вытаскивал идентификатор объекта, а не внутренний идентификатор. –

ответ

1

Для многосегментных полей вы хотите использовать nlapiGetFieldValues (обратите внимание на множественное число). Это должно вернуть вам массив выбранных идентификаторов в виде строк.

Если вы продолжаете использовать nlapiGetFieldValue (единственное число), я полагаю, вы обнаружите, что вам придется разделить на \x05 вместо символа пробела. Попробуйте скопировать и вставить возвращаемое значение в программу, например Notepad ++, а затем отобразить скрытые/специальные символы. По-моему, я видел это несколько раз, хотя это могло измениться.

+0

Это получилось отлично, спасибо! –

0

Вы пытаетесь получить значение поля в конкретном клиенте? чтобы получить некоторые значения Попробуйте использовать nlapiLookupField(type, id, fields, text);nlapiloadrec займет больше единицы

+0

Хорошо, я дам этот шанс, спасибо! На странице «Клиент» мы создали поля для вывода нашего сервисного оборудования из списка товаров, и теперь нам нужно реплицировать эту информацию каждый раз, когда создается случай. –

+0

Я понял, спасибо! –

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