Как получить разрешения роли с помощью RESTlet в Netsuite?

Я хочу получить все возможности для моей роли.

Пример: я прикрепил изображение страницы роли. Мне нужны следующие разрешения с использованием кода RESTlet.

  1. Список- ›Разрешения и их уровень
  2. Настройка- ›Разрешения и их уровень

введите описание изображения здесь


person Prabhu    schedule 07.04.2016    source источник


Ответы (1)


По большей части вы должны уметь использовать:

nlapiGetContext().getPermission('permission_id')

для доступа к текущим разрешениям роли. Полный список доступных разрешений можно найти в Справочном центре NetSuite. Найдите: «Имена и идентификаторы разрешений».

Мне нужен лидер, потенциальный клиент, клиент, другое имя и контакт.

Записи о лиде, потенциальном клиенте и клиенте имеют одинаковое разрешение LIST_CUSTJOB

Другое имя LIST_OTHERNAME

Связаться в LIST_CONTACT

Вы можете извлечь идентификаторы разрешений, не указанные в справочном центре, просмотрев XML-текст записей ролей. Добавьте &xml=t к URL-адресу любой роли (или записи) в NS. например:
https://system.na1.netsuite.com/app/setup/role.nl?id=1008&e=T&xml=t

Найдите соответствующий список разрешений и проверьте значение разрешения. Все это выходит за рамки документации, поэтому ваш опыт может отличаться.

person Shea Brennan    schedule 07.04.2016
comment
Спасибо за ответ. я уже пробовал это. я мог бы получить партнера (LIST_PARTNER), поставщика (LIST VENDOR), компанию (LIST_COMPANY). Мне нужен лидер, потенциальный клиент, клиент, другое имя и контакт. Для упомянутых отношений нет идентификатора разрешения - person Prabhu; 07.04.2016
comment
Не уверен, что вы пытаетесь сделать, но если вам нужно найти конкретный идентификатор разрешения, вы можете догадаться. например Если я вхожу в систему с ограниченной ролью и в окне консоли набираю nlapiGetContext().getPermission("LIST_CONTACT");, возвращается 4 - полное разрешение. Если вы протестируете что-то несуществующее или к которому у вас нет доступа, вы получите 0: nlapiGetContext().getPermission("LIST_FRIDGE") or nlapiGetContext().getPermission("LIST_COMPANY") оба из них вернут 0. ПРИМЕЧАНИЕ: когда вы тестируете как администратор или полный доступ, вы всегда получаете 4, даже если разрешение не существуют, поэтому вы должны использовать ограниченную роль - person bknights; 07.04.2016
comment
Это отличный момент. Тестирование с админом / полноправным пользователем совершенно не поможет. Я добавил конкретные запрошенные идентификаторы разрешений и описал метод их обнаружения. - person Shea Brennan; 07.04.2016