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

11.05.14

Администрирование - Информационная безопасность

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

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

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

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

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

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

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

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

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

Профили

 

 

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

 

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

 

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

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

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

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

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

 

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

 

Группа

 

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

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

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

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

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

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

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

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

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

//infostart.ru/public/249087/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Константа

 

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

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

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

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

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

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

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

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



УТ Управление торговлей права роли роль право настройка

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2980    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3544    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177758    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27383    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61320    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11746    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

3600 руб.

06.02.2017    31111    31    18    

47
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gendal 8 12.05.14 14:54 Сейчас в теме
Если разработчики из 1С сами бы попробовали понастраивать роли при внедрении, они бы поняли, что это дело нужно как-то упрощать
midas2016; 1giga; Kamilla_Tas; vektor1956; wolder; skmMining; Jeka44; berezin84; a.babenko; distorshion; jaroslav.h; Areal; Quasar; Alister; -I-; angur; Spacer; v.a.ryag; A.Belash; Каратист; Andreyyy; Artem1405; tuch; swflash; vitossp; for_sale; +26 Ответить
2. amblik 14.05.14 09:06 Сейчас в теме
Согласен с автором и gendal.
Хотя и дана возможность настраивать и изменять права, но не факт, что после сделанных изменений все сработает корректно и не будет выскакивать сообщение типа нарушения прав доступа.
3. idhas 9 13.08.14 13:17 Сейчас в теме
Вот спасибо за обработку, а то заходил всегда роли в конфигураторе менял.
4. jobkostya1c_ERP 100 27.08.14 18:26 Сейчас в теме
Интересно изложено. Учту опыт
5. andpal 15.10.14 10:18 Сейчас в теме
Какие дополнительные роли вам понадобятся, придется определять самостоятельно, так как УТ на месте не стоит.

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

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

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

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


всё равно ничего не взлетело, роль всё равно не зацепилась за пользователей.
Farpost; distorshion; Areal; +3 Ответить
9. stas1kbob 59 20.03.15 14:38 Сейчас в теме
(8) получилось сделать? в последних релизах даже с этим кодом перестали присваиваться
12. Spacer 355 05.01.16 14:55 Сейчас в теме
(8) for_sale, может быть у вас пользователи полноправные?
Тоже столкнулся с такой проблемой. Заметил что если у пользователя уже есть роль "ПолныеПрава",
то новые роли ему не добавляются.
10. Indifference 18.06.15 13:05 Сейчас в теме
А не могли бы вы подсказать что нужно сделать для редакции 11.0?
11. it.chernov 3 15.09.15 16:53 Сейчас в теме
Что бы роль появилась необязательно пользоваться обработкой достаточно прописать параметр при запуске
/С ЗапуститьОбновлениеИнформационнойБазы
или вот так
distorshion; chisser; seller7; +3 Ответить
13. Lapitskiy 1057 06.01.16 07:01 Сейчас в теме
Механизм "совершенствуется" с каждой новой БСП, поэтому возможно надо что-то еще нажать теперь :)
Я обычно пользуюсь обработкой с ИТС "Обновление вспомогательных данных", должно помочь.
14. fixin 4252 28.04.16 13:36 Сейчас в теме
чэрэсчур сложная и гибкая, я бы сказал
15. Andryza 38 11.01.18 10:28 Сейчас в теме
(14)Зато очень удобная, на самом деле. Убедился в этом. Да, конечно приходится время потратить, но зато дает возможность без изменений в конфигураторе, достаточно тонко настроить различные права пользователей. Я не так давно сталкивался, настройкой занимался наверное в течении месяца, 30 профилей доступа настраивал со всеми вытекающими )
19. Farpost 116 08.09.23 04:09 Сейчас в теме
(15)
Я в Альфе, де права и настройки несколько по другому сделаны, за 3 дня разобрался с логикой и настроил права, доступы и шаблоны на все, что мне нужно, в 1С видать остались одни "дизигнеры" и дебилы, такую монстрятину захреначить...
Впрочем после того как фирма 1С повернулась в сторону исключительно УФ, она окончательно повернулась к потребителям и пользователям Жопой...
16. FarFar 47 14.03.18 10:11 Сейчас в теме
Я верно понимаю, что выполнение "Константы.ПараметрыРаботыПользователей.СоздатьМенеджерЗначения().ОбновитьОбщиеПараметры()" требует монопольного режима?
17. FarFar 47 14.03.18 10:14 Сейчас в теме
Да, залез в нашу версию УТ 11 (11.1.9.66), черным по русскому написано в этой процедуре:

Если ТолькоПроверка ИЛИ МонопольныйРежим() Тогда
		СнятьМонопольныйРежим = Ложь;
	Иначе
		СнятьМонопольныйРежим = Истина;
		УстановитьМонопольныйРежим(Истина);
	КонецЕсли;
	
	НедоступныеРолиПоТипамПользователей = НедоступныеРолиПоТипамПользователей();
	
	ВсеРоли = ВсеРоли();
	
	Блокировка = Новый БлокировкаДанных;
	ЭлементБлокировки = Блокировка.Добавить("Константа.ПараметрыРаботыПользователей");
	ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Показать
18. Homyak 19 25.06.18 15:22 Сейчас в теме
Большое спасибо, очень помогло!
Оставьте свое сообщение