Контекст: RESTлет, написанный в SuiteScript v1, но я буду использовать v2, если нужно.Как получить поля адреса из записи местоположения с использованием SuiteScript
Важно: Решение должно работать на серверах.
В записи местоположения есть поле под названием Main Address. Идентификатор поля - mainaddress_text.
Когда я редактирую поле «Основной адрес» с помощью веб-сайта NetSuite, он представляет мне обычную форму редактирования адреса с нормальными полями адресов, поэтому кажется, что NetSuite хранит адрес, например, на адресах, например, на клиента запись в полях «Страна», «Внимание», «Адресат», «Телефон» и т. д.
Я хочу получить значения этих полей, но я не могу понять, как это сделать.
Я загрузил местоположение с помощью
location = nlapiLoadRecord('location', locationid)
схемы браузер (https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_1/schema/record/location.html) предполагает, есть поле, называемое mainAddress типа адреса.
Я пытался получить доступ поле mainAddress используя операторы, подобные этим:
location.getField('mainaddress') //returns null
location.getSubList('mainaddress') //returns null
location.getLineItemCount('mainaddress') //returns -1
location.getFieldValue('mainaddress') //returns null
location.getFieldText('mainaddress') //returns null
Но нет успеха.
Я также пробовал location.getLineItemCount('addressbook')
в случае, если в записи пользователя было указано имя, подобное возврату -1.
В браузере записей (https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_1/script/record/location.html) указано, что существует поле под названием addrtext типа Address.
Я пытался получить доступ поле addrtext, используя операторы, подобные этим:
location.getField('addrtext') //returns null
location.getSubList('addrtext') //returns null
location.getLineItemCount('addrtext') //returns -1
location.getFieldValue('addrtext') //returns null
location.getFieldText('addrtext') //returns null
Но нет успеха.
В браузере записей также описаны поля, называемые addr1, addr2, addr3, адресат, внимание, город и т. Д.
я попытался получить доступ к этим поля, используя операторы, подобные этим:
location.getFieldValue('attention') //returns null
location.getFieldValue('addressee') //returns null
location.getFieldValue('addr1') //returns null
location.getFieldValue('addr2') //returns null
location.getFieldValue('addr3') //returns null
location.getFieldValue('city') //returns null
location.getFieldValue('state') //returns null
location.getFieldValue('country') //returns null
Но не успех.
Единственный способ, которым я нашел, чтобы получить адресные данные, - location.getFieldValue('mainaddress_text')
, но который возвращает адрес в виде одной строки с частями адреса, разделенных <br>
-tokens.
Как я могу получить отдельные поля адреса?
Единственные поля адресов, которые дает мне JSON.stringify, - mainaddress_text и returnaddress_text. Адрес был настроен из пользовательского интерфейса. – cja
Странно, на моем конце, когда он настроен из пользовательского интерфейса, как mainaddress_text, так и отдельные addr1 и т. Д. Поля устанавливаются. –
Вы работаете в RESTlet? – cja