Немного о настройках ролей в 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:

pic-1.png

В 

Перед нами предстает заранее настроенный ролевой интерфейс. Возникает вопрос: почему именно данная роль отображается при запуске RoleTailored клиента? Для ответа на этот вопрос достаточно посмотреть изменения, которые были внесены в Codeunit 1. А именно:

pic-2.png

Функция DefaultRoleCenter определяет ролевой интерфейс, который необходимо запустить по-умолчанию. Данная функция вызывает функцию DefaultRoleCenterID кодэюнита “Conf./Personalization Mgt.”. В свою очередь, функция DefaultRoleCenterID выполняет незамысловатый код, возвращая нам жестко прописанный номер страницы, которую надо запустить при запуске RTC:

pic-3.png

Такой страницей является Page 9006 “Order Processor Role Center”. Р?менно ее РјС‹ Рё РІРёРґРёРјВ  РїРѕ-умолчанию РІ демо-базе РїСЂРё запуске RTC…
Резонно спросить: как настроить РґСЂСѓРіСѓСЋ роль РїРѕ-умолчанию? Р?, если это возможно, то как распределить роли РїРѕ пользователям?
Настройка другой роли по-умолчанию возможна. Для этого необходимо воспользоваться классическим клиентом и перейти в меню Administration. Далее по порядку: Application Setup -> RoleTailored Client -> Profiles. Конечно, все эти шаги можно повторить и в RTC, но, как мне показалось, для первого ознакомления более удобным вариантом будет настройка посредством классического клиента: 

pic-5.png

Форма “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:

pic-6.png

Кстати, даже если вы по неосторожности удалите все профили, Навижин пересоздаст их при следующем запуске системы. За это отвечает все тот же кодэюнит “Conf./Personalization Mgt.”, вызываемый из CU 1…
Р? РІСЃРµ Р±С‹ ничего, если Р±С‹ РІ нашей компании работал РѕРґРёРЅ только президент. РќРѕ такая ситуация исключена… Р?менно поэтому роли надо распределить РїРѕ разным пользователям. Р? тут РЅР° помощь РїСЂРёС…РѕРґРёС‚ форма/страница “User Personalization”, РіРґРµ, собственно,В РјС‹ можем связать пользователя СЃ любой ролью:

pic-4.png

Как вы уже догадались, одному пользователю может соответствовать только одна запись в “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.

Метки: ,



Оставьте свой отзыв!