gifts2017

Управление торговлей 11.1 - настройка нестандартных ролей

Опубликовал Алексей Лапицкий (Lapitskiy) в раздел Администрирование - Защита, права, пароли

Особенности настройки прав в УТ 11.1
..рано или поздно, пользователям становится недостаточно того "мощного" функционала, что придуман в УТ 11.1, и дается задание для программиста 1С, чтобы он настроил более тонкие изменения, и ограничения прав.

Эта статья - для тех, кто хочет понять, какие особенности настройки прав (ролей) в конфигурации "Управление торговлей 11.1".

Система прав в УТ 11.1 существенно отличается от ранее применявшихся в типовых конфигурациях. В качестве основы, в конфигурации разработчики создали порядка 400 (!) предопределенных ролей. Предназначено это для того, чтобы пользователи сами, без применения программиста, в свободное от основной работы время, могли "играться" с правами, и "гибко" их настраивать. Идея - прекрасная, так как настраивать и тестировать права мало кому из программистов нравится.

Конечно, вручную "прощелкивать" права разработчики нам не предлагают, для этого существует специальный режим настройки прав - профили и группы подльзователей.

Однако, рано или поздно, пользователям становится недостаточно того "мощного" функционала, что придуман в УТ 11.1, и дается задание для программиста 1С, чтобы он настроил более тонкие изменения, и ограничения прав.

Как в общем устроена система прав в УТ 11.1?

Если не прибегать к помощи программиста, настраивать права нужно так:

Разработчиками предусмотрен справочник "Профили доступа". Заходим в него через меню "Администрирование".

В данном случае я для примера создал профиль "Менеджер продаж ХХХ", его можно видеть в правой части картинки.

Профили

 

 

Откроем карточку элемента профиля "Менеджер продаж ХХХ"

 

Карточка профиля

 

Что мы видим?  На закладке "Разрешенные роли" - перечислены права доступа из конфигуратора. 

Здесь "обычный пользователь" может настроить права досутпа, как ему пожелается.

Например, я, как обычный пользователь, пощелкал флажками, и сохранил данный профиль.

Далее надо идти в справочник "Группы доступа".

Группы доступа

 

В этом справочнике давайте добавим новую группу

 

Группа

 

Для удобства назовем ее так же - "Менеджер продаж ХХХ".

Чтобы группа "заработала", надо добавить в нее пользователей, что я и сделал: "Владислав" - теперь член этой группы. Для лучшего понимания, что происходит, лучше проверить другие существующие группы, если они есть, и убрать из них нашего пользователя "Владислав". Тогда все ограничения будут видны сразу.

В общем-то всё, после сохранения группы, у пользователей этой группы, появятся новые роли, и исчезнут ненужные роли.

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

Несомненно, потратив несколько дней, "рядовой пользователь" сможет многого добиться, в настройке ролей УТ 11.1.

Но "идем далее".

Например, из 400 предложенных ролей, нам не подходит ни одна, либо неохота в них разбираться, либо требуется некая тонкая настройка прав и шаблонов.

Далее - текст для администраторов и программистов, так как обычный пользователь не справится.

Для понимания, за что отвечает каждая роль в УТ 11.1, я пробовал разные способы, даже пытался применять разные полезные обработки, типа этой:

http://infostart.ru/public/249087/

 Но, например, запустив этот отчет по ролям, я не смог дождаться окончания его работы, даже установив ограничения по выборке. Подождав около часа, я прекратил это. 

 Система из 400 ролей, это хитрое изобретение, надеюсь, его отменят в ближайшем будущем.

Давайте же посмотрим, что надо сделать, если мы хотим добавить новую роль в конфигураторе.

Войдем в конфигуратор, и скопируем роль "Полные права", в например "лПраваМенеджеровПродаж".

Затем сделаем с нашими новыми правами то, что захотим, и попытаемся происвоить эти права нашему испытуемому пользователю.

Не все так просто, далее.

Много прав, оказывается, жестко прописано в коде УТ, например, если пользователь, не является "полноправным" (т.е. типа нашего пользователя, имеет массу ограничений, настроенных нами в конфигураторе), то для его работы понадобится "попотеть".

Смотрим. Если мы хотим, чтобы наш пользователь, мог редактировать документ, то надо дополнительно назначить ему право "РедактированиеРеквизитовОбъектов". Без этого УТ покажет реквизиты только для просмотра, даже если есть права редактирования.

Далее, есть несколько подобных ролей, например "Зачет оплаты", "Реализация сверх заказа" и т.д., которые придется выискивать, и дополнительно назначать.

Если заглянуть, что за роль такая "Зачет оплаты", то в конфигураторе мы не увидим в этой роли никаких настроек, она просто существует, и всё.

Но если запустить поиск по конфигурации, то обнаружится много интересного, оказывается, есть ссылки в коде типа "Если РольДоступна() Тогда".

Какие дополнительные роли вам понадобятся, придется определять самостоятельно, так как УТ на месте не стоит.

Но это еще не все, например, мы поняли, что нам понадобятся, кроме нашей новой роли, назначить пользователю еще несколько. Чтобы упростить ввод новых пользователей, и прав, добавим в справочник "Профили", в наш новый профиль "Менеджер продаж ХХХ", нашу роль, установив на нее флажок (это можно видеть на рисунке выше, где показан справочник "Профили"). Сохраним. Но. Войдем же в конфигураторе в список пользователей. Наша нетиповая новая роль "лПраваМенеджеровПродаж" не присвоилась пользователю! Все роли, есть, а новой - нет.

Оказывается, список ролей, и некоторые другие настройки, хранятся в константе "ПараметрыРаботыПользователей".

Константа

 

Это константа типа "Хранилище значений".

Обновится она при выходе обновления, но нам ждать некогда. Пишем обработку, которая обновит эти параметры:

Код обработки прост:

&НаКлиенте
Процедура КомандаОбновитьКонстанту(Команда)
	ОбновитьНаСервере();
	
КонецПроцедуры

&НаСервере
Процедура ОбновитьНаСервере()
	Константы.ПараметрыРаботыПользователей.СоздатьМенеджерЗначения().ОбновитьОбщиеПараметры();
	
КонецПроцедуры
 

После выполнения кода, получим возможность использовать нашу новую роль в профилях доступа.

Также, замечу, в УТ есть еще один механизм настройки прав, без которого наши настройки могут не заработать - в группах доступа и профилях есть закладка - ограничения доступа. Там для "неполноправных" пользователей нужно описать, дополнительные права доступа для нужных нам основных справочников "организации", "Партнеры", "Склады". Это, так сказать, еще более "тонкая" настройка.

Таким образом, система прав в УТ 11.1 гибкая и сложная.



См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Антон gendal (gendal) 12.05.14 14:54
Если разработчики из 1С сами бы попробовали понастраивать роли при внедрении, они бы поняли, что это дело нужно как-то упрощать
angur; Spacer; v.a.ryag; A.Belash; Каратист; Andreyyy; seva1405; tuch; swflash; vitossp; for_sale; +11 Ответить
2. amblik (amblik) 14.05.14 09:06
Согласен с автором и gendal.
Хотя и дана возможность настраивать и изменять права, но не факт, что после сделанных изменений все сработает корректно и не будет выскакивать сообщение типа нарушения прав доступа.
3. Денис Столбов (idhas) 13.08.14 13:17
Вот спасибо за обработку, а то заходил всегда роли в конфигураторе менял.
4. Константин Юрин (kostyaomsk) 27.08.14 18:26
Интересно изложено. Учту опыт
5. Андрей Чуйков (andpal) 15.10.14 10:18
Какие дополнительные роли вам понадобятся, придется определять самостоятельно, так как УТ на месте не стоит.

Да, 1С добавляет новые роли, и если мы используем свои профили групп доступа и тщательно их однажды настроили, то после обновления все надо проверить тщательно еще раз. Так у нас, однажды пропали все разделы с панели разделов у пользователей со "своими" профилями, оказалось появились новые роли, которые управляют разделами ("Раздел продажи" и т.п.)
6. Stas Bobkov (stas1kbob) 28.10.14 19:43
спасибо, статья помогла
7. Алексей Потехин (trumanl) 26.11.14 14:02
Также можно например воспользоваться обработкой "ИнструментыРазработчикаОбновлениеВспомогательныхДанных" с ИТС или конфигурации БСП. Выбрать подсистему "Управление доступом" и обновить.
И кроме обновление константы "Параметры работы пользователей", нужно обновить еще как минимум "Параметры ограничения доступа" и справочник "Идентификаторы объектов метаданных".
Возможно, поэтому лучше использовать обработку.
angur; fieryfist; Andreyyy; +3 Ответить
8. for_sale for_sale (for_sale) 10.02.15 19:11
Весь этот механизм - полная бредятина. Для чего его было создавать - непонятно. Вернее, понятно - хотелось гибкости, но непонятно - зачем делать всё настолько ректально?

Один из многочисленных примеров - в обработке ИнструментыРазработчикаУправлениеДоступом есть кнопка - "Сформировать код", которая формирует код, который нужно засунуть в типовой модуль. Просто жесть - мало того, что модуль на поддержке, так ещё и получается, что без программирования вообще ничего не обновишь!

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

Константы.ПараметрыРаботыПользователей.СоздатьМенеджерЗначения().ОбновитьОбщиеПараметры();


всё равно ничего не взлетело, роль всё равно не зацепилась за пользователей.
9. Stas Bobkov (stas1kbob) 20.03.15 14:38
(8) получилось сделать? в последних релизах даже с этим кодом перестали присваиваться
10. 111 111 (Indifference) 18.06.15 13:05
А не могли бы вы подсказать что нужно сделать для редакции 11.0?
11. Игорь Чернов (it.chernov) 15.09.15 16:53
Что бы роль появилась необязательно пользоваться обработкой достаточно прописать параметр при запуске
/С ЗапуститьОбновлениеИнформационнойБазы
или вот так
chisser; seller7; +2 Ответить
12. Владимир Насыров (Spacer) 05.01.16 14:55
(8) for_sale, может быть у вас пользователи полноправные?
Тоже столкнулся с такой проблемой. Заметил что если у пользователя уже есть роль "ПолныеПрава",
то новые роли ему не добавляются.
13. Алексей Лапицкий (Lapitskiy) 06.01.16 07:01
Механизм "совершенствуется" с каждой новой БСП, поэтому возможно надо что-то еще нажать теперь :)
Я обычно пользуюсь обработкой с ИТС "Обновление вспомогательных данных", должно помочь.
14. Осипов Сергей (fixin) 28.04.16 13:36
чэрэсчур сложная и гибкая, я бы сказал
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа