Немного о настройках ролей в RTC…
Р’ 8-Рј выпуске журнала Андрей рассказывал РІ 2 частях Рѕ действиях Action РІ страницах NAV 2009. РќРѕ РїРѕРєР° что РјС‹ даже вскользь РЅРµ упомянули Рѕ настройке ролей Role Tailored Client (RTC) NAV 2009. Казалось Р±С‹ - тривиальная вещь, РЅРѕ РЅРµ РІСЃРµ СЃ ней знакомы. Постараемся вкратце компенсировать этот пробел РІ данной статье…
RTC был задуман как средство, использование которого позволит избежать многих проблем эпохи классического клиента, а так же внесет новые технологические преимущества:
- RTC поддерживает работу организации с ориентацией на роли и задачи, решаемые данными ролями;
- выполнение кода (бизнес-логики) происходит на промежуточном уровне, а не на клиенте как это было раньше. Как следствие, решена проблема регистрации COM, OCX компонентов;
- проектирование РїРѕ принципу WYSIWYG (what you see is what you get) осталось РІ прошлом. Рлементы страниц перечислены РІ РїРѕСЂСЏРґРєРµ РёС… отображения, Р° свойства, связанные СЃ каждым элементом, используются для указания конкретных функций представления, РЅРѕ без каких-либо характеристик размера или расположения. Рто открывает возможности для представления страницы разными клиентами без ограничений, накладываемых макетом;
- в RTC слой навигации отображает список рабочих областей, которые называются областями списков. По умолчанию в одном и том же окне один список заменяется другим. Возможен запуск страницы в отдельном окне. Помимо областей списков, слой навигации отображает Role Center и область Departments;
- ……………………
Вот как выглядит рабочая область сразу же после запуска RTC в демо-базе CRONUS:
В
Перед нами предстает заранее настроенный ролевой интерфейс. Возникает вопрос: почему именно данная роль отображается при запуске RoleTailored клиента? Для ответа на этот вопрос достаточно посмотреть изменения, которые были внесены в Codeunit 1. А именно:
Функция DefaultRoleCenter определяет ролевой интерфейс, который необходимо запустить по-умолчанию. Данная функция вызывает функцию DefaultRoleCenterID кодэюнита “Conf./Personalization Mgt.”. В свою очередь, функция DefaultRoleCenterID выполняет незамысловатый код, возвращая нам жестко прописанный номер страницы, которую надо запустить при запуске RTC:
Такой страницей является Page 9006 “Order Processor Role Center”. Р?менно ее РјС‹ Рё РІРёРґРёРјВ РїРѕ-умолчанию РІ демо-базе РїСЂРё запуске RTC…
Резонно спросить: как настроить РґСЂСѓРіСѓСЋ роль РїРѕ-умолчанию? Р?, если это РІРѕР·РјРѕР¶РЅРѕ, то как распределить роли РїРѕ пользователям?
Настройка РґСЂСѓРіРѕР№ роли РїРѕ-умолчанию РІРѕР·РјРѕР¶РЅР°. Для этого необходимо воспользоваться классическим клиентом Рё перейти РІ меню Administration. Далее РїРѕ РїРѕСЂСЏРґРєСѓ: Application Setup -> RoleTailored Client -> Profiles. Конечно, РІСЃРµ эти шаги РјРѕР¶РЅРѕ повторить Рё РІ RTC, РЅРѕ, как РјРЅРµ показалось, для первого ознакомления более удобным вариантом будет настройка посредством классического клиента:В
Форма “Profile Card” отвечает за настройку профилей пользователей. К профилям привязываются роли. На форме “Profile Card” есть ряд ключевых полей:
- Profile ID, собственно, код профиля;
- Role Center ID – номер страницы с типом RoleCenter, связанной с данным профайлом;
- Default Role Center – установка галочки в этом поле означает, что именно данный профиль будет задействован по умолчанию. Попытка настроить 2 профиля с галкой Default Role Center не увенчается успехом: система проставит галочку для последнего профиля, и удалит ее для профиля предыдущего.
Предположим, что профиль “President - Small Business” – именно то, что нам РЅСѓР¶РЅРѕ, СЃ РЅРёРј связан Role Center ID 9020. РќР° последней картинке именно этот профиль отмечен РІ СЃРїРёСЃРєРµ профилей как имеющий роль РїРѕ умолчанию.В
Теперь функция DefaultRoleCenterID кодэюнита “Conf./Personalization Mgt.” никаким образом не повлияет на выбор роли по-умолчанию. Чтобы убедиться в этом, достаточно перезапустить RTC:
Кстати, даже если вы по неосторожности удалите все профили, Навижин пересоздаст их при следующем запуске системы. За это отвечает все тот же кодэюнит “Conf./Personalization Mgt.”, вызываемый из CU 1…
Р? РІСЃРµ Р±С‹ ничего, если Р±С‹ РІ нашей компании работал РѕРґРёРЅ только президент. РќРѕ такая ситуация исключена… Р?менно поэтому роли надо распределить РїРѕ разным пользователям. Р? тут РЅР° помощь РїСЂРёС…РѕРґРёС‚ форма/страница “User Personalization”, РіРґРµ, собственно,В РјС‹ можем связать пользователя СЃ любой ролью:
Как вы уже догадались, одному пользователю может соответствовать только одна запись в “User Personalization”.
В настройке ролей для RTC есть одно очень заметное неудобство: необходимость их постоянной перенастройки с целью тестирования разработчиком функционала под той или иной ролью. Но решение есть, хоть и нестандартное: http://dynamicsuser.net/blogs/waldo/archive/2010/07/13/select-role-when-logging-into-nav-2009-rtc.aspx
В своем блоге Eric Waters (aka Waldo) рассказывает о том, как можно прикрутить механизм выбора профиля/роли в момент запуска RTC.
Метки: Meling Roman, Роман Мелинг