1с отчет по правам доступа к объектам
В обрате отсутствуют какие-либо отборы и настройки. Если есть необходимость их можно доработать, но тут их нет именно потому, что обработку старались сделать как можно проще (на совершенство обработка не претендует :) )
Необходимо получить отчет по доступу ролей к объектам метаданных (сегодня озадачили этим J). При этом рассматриваются только три возможных состояния:
- Роли доступно свойство «Изменение» (другое не проверяется)
- Роли доступно свойство «Чтение» (если изменение не доступно, т.е. «Изменение» имеет более высокий приоритет чем «Чтение»)
- В остальных случаях считается что роли ничего не доступно.
Действительно, если роли доступно «Редактирование» или «Пометка на удаление», то «Изменение» ей так же должно быть доступно, а если доступно «Просмотр», то обязательно доступно «Чтение». Поэтому, для читабельности отчета (иначе он просто потеряет читабельность) мы и контролируем эти два права (Изменение и Чтение).
Так же необходимо проверить права роли на работу с самой конфигурацией («Монопольный режим», «Администрирование» и т.д.)
Отчет должен быть представлен в виде шахматки:
- Строки «Объекты метаданных»
- Колонки «Роли»
В общем случае последовательность работ такая:
- Создаем список ролей
- Создаем список контролируемых прав (с учетом приоритета)
- Создаем список объектов метаданных
- Сравниваем все три параметра в процедуре «ПравоДоступа» и выводим результат.
Для реализации создадим новую обработку и форму, весь программный код поместим в модуль формы. На форме создадим «табличное поле» («ПолеТабличногоДокумента1») куда будем выводить отчет. Кроме того будут реквизиты формы:
дМетаданных – дерево метаданных (вывод нужно организовать с учетом иерархии). Конечно, от него можно отказаться и просто организовать обход по метаданным, но лучше его оставить, так как если потребуется поставить фильтр на объекты в отчет оно может здорово пригодится (достаточно в дереве добавить новую колонку, проставить в нее соответствующий признак, и при выводе учитывать – в данной обработке не реализовано).
спРоли – список ролей в конфигурации. Так же при необходимости отборов добавляем на форму и используем свойство «Пометка».
спПрав – список контролируемых прав с учетом приоритетов (то что важнее заносится раньше).
Соответственно в форму при открытии укажем процедуры по заполнению всех нужных списков.
Роли_ПолучитьСписок();
Роли_СписокПрав();
ДеревоМетаданных();
КонецПроцедуры
Начнем с простого – список прав (их всего две), и список ролей
Процедура Роли_СписокПрав()
спПрав.Добавить("Изменение");
спПрав.Добавить("Чтение");
КонецПРоцедуры
Процедура Роли_ПолучитьСписок()
спРоли = новый СписокЗначений;
Для каждого РОль Из Метаданные.Роли Цикл
ОбработкаПрерыванияПОльзователя();
спРоли.Добавить(РОль,РОль_Описание(РОль));
КонецЦикла;
КонецПроцедуры
Функция РОль_Описание(Роль)
Результат = РОль.Представление();
Если Результат<>РОль.Имя Тогда
Результат = Результат+"["+Роль.Имя+"]";
КонецЕсли;
возврат Результат;
КонецФункции
При формировании отчета мы хотим видеть пользовательское представление метаданных и ролей, а так же их представление в метаданных (поэтому и вводим Функцию «РОль_Описание» - в принципе ее можно описать непосредственно в процедуре «Роли_ПолучитьСписок» - дело вкуса :) )
Если посмотреть в описании процедуры «ПравоДоступа» то такие права как «Администрирование» тоже по идеи нужно отнести в СписокПрав, но исходя из целесообразности и наглядности отчета мы условно отнесем их к метаданным и занесем в дальнейшем в дМетаданные (что бы видеть их как строки – создадим отдельную ветку).
Дерево метаданных состоит из двух колонок «Описание» и «Представление»
Процедура ДеревоМетаданных() Экспорт
дМетаданные.Колонки.Добавить("Объект");
дМетаданные.Колонки.Добавить("Представление");
ДеревоМетаданных_ДобавитьАдминистрирование();
ДеревоМетаданных_Добавить("Справочники");
ДеревоМетаданных_Добавить("Документы");
ДеревоМетаданных_Добавить("ЖурналыДокументов","Журналы документов");
ДеревоМетаданных_Добавить("Перечисления");
ДеревоМетаданных_Добавить("Отчеты");
ДеревоМетаданных_Добавить("Обработки");
ДеревоМетаданных_Добавить("ПланыВидовХарактеристик","Планы видов характеристик");
ДеревоМетаданных_Добавить("ПланыСчетов","Планы счетов");
ДеревоМетаданных_Добавить("ПланыВидовРасчета","Планы видов расчета");
ДеревоМетаданных_Добавить("РегистрыСведений","Регистры сведений");
ДеревоМетаданных_Добавить("РегистрыНакопления","Регистры накопления");
ДеревоМетаданных_Добавить("РегистрыБухгалтерии","Регистры бухгалтерии");
ДеревоМетаданных_Добавить("РегистрыРасчета","Регистры расчета");
ДеревоМетаданных_Добавить("БизнесПроцессы","Бизнес-процессы");
ДеревоМетаданных_Добавить("Задачи");
КонецПроцедуры
ПРоцедура ДеревоМетаданных_ДобавитьАдминистрирование()
СтрокаГр = дМетаданные.Строки.Добавить();
СтрокаГр.Объект = "Администрирование";
СтрокаГр.Представление = "Права на конфигурацию в целом";
мсПрав = новый СписокЗначений;
мсПрав.Добавить("Администрирование","Администрирование");
мсПрав.Добавить("МонопольныйРежим","Монопольный режим");
мсПрав.Добавить("АктивныеПользователи","Просмотр списка активных пользователей");
мсПрав.Добавить("ЖурналРегистрации","Журнал регистрации");
мсПрав.Добавить("ВнешнееСоединение","Внешнее соединение");
мсПрав.Добавить("Automation","Использование automation");
мсПрав.Добавить("ИнтерактивноеОткрытиеВнешнихОбработок","Интерактивное открытие внешних обработок");
мсПрав.Добавить("ИнтерактивноеОткрытиеВнешнихОтчетов","Интерактивное открытие внешних отчетов");
мсПрав.Добавить("Вывод","Вывод на печать, запись и копирование в буфер обмена");
мсПрав.Добавить("ОбновлениеКонфигурацииБазыДанных","Обновление конфигурации базы данных");
Для каждого эл Из мсПрав Цикл
ОбработкаПрерыванияПОльзователя();
НС = СтрокаГр.Строки.Добавить();
НС.Объект = Эл.Значение;
НС.Представление = Эл.Представление;
КонецЦикла;
КонецПРоцедуры
Процедура ДеревоМетаданных_Добавить(что,Представление="")
Первая = истина;
Для каждого мет Из Метаданные[что] Цикл
Если Первая Тогда
СтрокаГр = дМетаданные.Строки.Добавить();
СтрокаГр.Объект = Что;
Если ПустаяСтрока(Представление) Тогда
СтрокаГР.Представление = Что;
иначе
СтрокаГР.Представление = Представление;
КонецЕсли;
первая = Ложь;
КонецЕсли;
строка = СтрокаГр.Строки.Добавить();
Строка.Объект = Мет.Имя;
Строка.Представление = Мет.Представление();
КонецЦикла;
КонецПроцедуры
Как было сказано для ряда прав мы создаем отдельную ветку «Администрирование» (процедура «ДеревоМетаданных_ДобавитьАдминистрирование()»), и определять эту ветку мы будем по объекту «Администрирование». Остальные возможные объекты метаданных мы добавляем с помощью процедуры ДеревоМетаданных_Добавить(,). При этом в процедуре ДеревоМетаданных_Добавить мы контролируем что бы хотя бы один объект такого типа есть (иначе ветка не нужна). Кроме того, если «Представление» в параметрах процедуры не задана, то считаем что прдеставление равно типу.
Далее, нам нужно будет создать макет, имеющий вертикальные и горизонтальные секции (для формирования шахматки). Кроме того, поскольку мы формируем шахматку с использованием разных процедур то в форме объявим две переменные: Макет и ТабДок (ТабДок – это результирующий отчет).
Дальше собственно формируем сам отчет с использованием (как уже несколько раз было сказано J ) процедуры «ПравоДоступа». Учтем один нюанс, если нам нужно получить права роли на какой-то отдельный объект метаданных (из нашего дерева), то мы должны передать в процедуру ПравоДоступа(,,), где «Право» из списка Прав. Но если нам нужно получить права ролей из ветки “Администрирование», то в качестве Метаданных используется сама конфигурация (т.е. просто МЕТАДАННЫЕ), а права у нас уходят в дерево Метаданных, и тогда нужно использовать ПравоДоступа(,Метаданные,), а результат уже просто доступно это право или нет.
Для этого создадим отдельную функцию:
Функция РОль_Права(Мет,Роль)
Результат = "";
Если ТипЗнч(Мет)=Тип("Строка") Тогда
// это проверка Административных прав
Если ПравоДоступа(Мет,Метаданные,РОль) Тогда
Результат = "Да";
иначе
результат = "";
КонецЕсли;
возврат Результат;
КонецЕсли;
Для каждого Право Из спПрав Цикл
ОбработкаПрерыванияПОльзователя();
Если ПравоДоступа(Право.Значение,Мет,РОль) Тогда
Результат = Право.Значение;
прервать;
КонецЕсли;
КонецЦикла;
возврат Результат;
КонецФункции
В которую если у нас контролируется права на объект метаданных в качестве первого параметра и передаем этот объект (функция в этом случае возвращает значение права учетом приоритета), а если нужно право из ветки «Администрирование», то передаем строковую переменную с именем этого права (функция возвращает «Да» или). По типу первого параметра и определяется, как использовать функцию ПравоДоступа.
Формирование самого отчета делаем при помощи процедур
Процедура Сфомировать_Вывод(ИмяСекции,данные=Неопределено)
Сек = Макет.ПолучитьОбласть(ИмяСекции+"|Начало");
пСек = Сек.Параметры;
Уровень = 0;
ЭтоАдминистирирование = ТипЗнч(Данные)=Тип("СтрокаДереваЗначений");
Если ИмяСекции="С1" Тогда
уровень = 1;
пСек.Объект = данные;
ИначеЕсли ИмяСекции="С2" Тогда
уровень = 2;
Если ЭтоАдминистирирование Тогда
пСек.Объект = данные.Представление;
пСек.Обозначение = данные.Объект;
иначе
пСек.Объект = данные.Представление();
пСек.Обозначение = данные.Имя;
КонецЕсли;
КонецЕсли;
ТабДок.Вывести(Сек,Уровень);
Для каждого Роль Из спРоли Цикл
ОбработкаПрерыванияПОльзователя();
Сек = Макет.ПолучитьОбласть(ИмяСекции+"|В1");
пСек = Сек.Параметры;
Если ИмяСекции = "Ш1" Тогда
пСек.РОль = Роль.Представление;
иначеЕСли ИмяСекции = "С2" Тогда
Если ЭтоАдминистирирование Тогда
Права = РОль_Права(данные.Объект,Роль.Значение);
иначе
Права = РОль_Права(данные,Роль.Значение);
КонецЕсли;
Если Права = "Изменение" или Права="Да" тогда
Сек.Область("ТекПрава").ЦветФона = WebЦвета.СветлоЗеленый;
ИначеЕсли Права = "Чтение" тогда
Сек.Область("ТекПрава").ЦветФона = WebЦвета.Желтый;
КонецЕсли;
пСек.Права = Права;
КонецЕсли;
ТабДок.Присоединить(Сек);
КонецЦикла;
ТабДок.Присоединить(Макет.ПолучитьОбласть(ИмяСекции+"|Конец"));
КонецПроцедуры
Процедура Сфомировать(Кнопка)
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента1;
ТабДок.Очистить();
Макет = ПолучитьМакет("Макет");
Сфомировать_Вывод("Ш1");
ТабДок.ФиксацияСверху = ТабДок.ВысотаТаблицы;
ТабДок.ФиксацияСлева = 2;
ТабДок.НачатьАвтогруппировкуСтрок();
Для каждого Ст1 Из дМетаданные.Строки Цикл
ОбработкаПрерыванияПОльзователя();
ЭтоАдминистирирование = Ст1.Объект = "Администрирование";
Если ЭтоАдминистирирование Тогда
Мет1 = Метаданные;
иначе
Мет1 = Метаданные[Ст1.ОБъект];
КонецЕсли;
Сфомировать_Вывод("С1",Ст1.Представление);
Для каждого Ст2 Из Ст1.Строки Цикл
ОбработкаПрерыванияПОльзователя();
Если ЭтоАдминистирирование Тогда
Мет2 = Ст2;
иначе
Мет2 = Мет1[СокрЛП(Ст2.ОБъект)];
КонецЕсли;
Сфомировать_Вывод("С2",Мет2);
КонецЦикла;
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
Сфомировать_Вывод("И1");
КонецПроцедуры
Сфомировать – организует таблицу и обход по строкам
Сфомировать_Вывод – организует обход по колонкам
Ну и для красоты отчета те роли, которые имеют право «Изменение» или «Да» (для администрирования) окрашиваем зеленым, роли на «Чтение» - желтым. Для этого создали в секции специальную именованную область.
Собственно и все, может кому пригодится как исходная «точка» для написания нечто подобного, к примеру, если нужно получить права не по ролям а по пользователям, то список ролей меняем на список пользователей и в ПравоДоступа передаем не роль а конкретного пользователя.
Роли — это общие объекты конфигурации , предназначенные для реализации ограничения прав доступа в прикладных решениях. В процессе ведения списка пользователей прикладного решения каждому пользователю ставится в соответствие список ролей, которыми определяется, какие действия, над какими объектами метаданных может выполнять пользователь.
Общая схема системы прав доступа подразумевает:
- Создание ролей для доступа к объектам отдельно для чтения и для записи.
- Объединение ролей в профили (в том числе поставляемые).
- Назначение профилей группам доступа с ограничением доступа по видам доступа.
- Добавление в группы доступа пользователей и групп пользователей.
Такой механизм обладает гибкостью и универсальностью. Это позволяет его достаточно широко применять. Однако непосредственное использование этого механизма громоздко и трудоемко.
Во время работы пользователя в базе 1С при попытке выполнить действие (на которое у него нет разрешения) система выдаст окно предупреждения, примерно такого вида:
Если открыть журнал регистрации по пользователю, то можно увидеть объект и недостающее право в событии «Доступ. Отказ в доступе». Например, отсутствие права на чтение константы, как на рисунке ниже:
Задача администратора базы данных или сотрудника технической поддержки в том, чтобы добавить пользователю недостающее право, а для этого требуется найти Роль, которую следует назначить пользователю.
В большинстве случаев (но не во всех) для этого достаточно выполнить следующие шаги:
1. Найти роли, дающие права на объект, в регистре сведений Права ролейПерейти в меню - Все функции - Регистры сведений - Права ролей (или перейти по навигационной ссылке e1cib/list/РегистрСведений.ПраваРолей)
Примечание: Пункт Все функции, можно включить так: Переходим в меню - Настройки - Параметры - Отображать команду "Все функции"
Регистр типовой, наполнен объектами метаданных и ролями, которые дают на них права.
Выполняем поиск по интересующему нас объекту (документу, отчету, регистру, обработке и т.п.).
Получаем список задействованных ролей (как на рисунке выше с документом Авансовый отчет):
- Добавление изменение авансовых отчетов (роль)
- Чтение авансовых отчетов (роль)
Открываем справочник Профилей, это можно сделать так:
- Переходим в меню - Все функции - Справочники - Профили групп доступа
- Раздел - НСИ и администрирование - Настройки пользователей и прав - Профили групп доступа
- Или перейти по навигационной ссылке e1cib/list/Справочник.ПрофилиГруппДоступа
Чтобы определить подходящие профили, добавляем отбор на форму списка
Ещё - Настроить список - Закладка Отбор - Добавляем отбор по полю табличной части Ссылка.Роли.Роль
После этого можно удобно вычислить нужные профили, например, с ролью Чтение авансовых отчетов.
Примечание: Предварительно установите в списке Ещё - Режим просмотра - Список (чтобы убрать группы)
Если нужных профилей не оказалось, то создайте новый профиль или измените существующий.
Примечание: В предопределенные профили базы добавлять роли нельзя, а для того чтобы добавить роль в предопределенный профиль, сделайте свой, скопировав, предопределенный профиль и уже туда добавляйте роль.
3. Назначить пользователю группу доступа по профилюОпределив нужный профиль доступа, вам необходимо в связанную с ним группу доступа, добавить пользователя.
Группы доступа видны по ссылке в форме Профиля
Если нужной группы доступа нет, то создаем ее.
Открыв связанную с профилем группу доступа, добавляем в неё пользователя
На этапе настройки прав доступа в базах и изменениях должностных обязанностей пользователей мне приходилось многократно проходить эту цепочку шагов.
Сам процесс можно ускорить соединив все шаги: 1,2,3 - в одном отчете или расширении.
Использу я рисунок выше "Общая схема системы прав доступа" можно соединить данные регистра Права ролей с профилями и группами доступа, сразу получив нужную картинку для анализа прав.
Схема запроса для системы компоновки примерно такая:
Таблицу РегистрСведений.ПраваРолей (Отбор: Объект метаданных) связываем по Роли с таблицей Справочник. ПрофилиГруппДоступа.Роли связываем по реквизиту с таблицей Справочник. ГруппыДоступа.Профиль.
Сам отчет строим на системе компоновки данных, чтобы его оформление и структуру менять по своему усмотрению.
Вообще можно настраивать как угодно отчет.
Также можно сформировать, например Матрицу Пользователей (кто в какой группе доступа). Перейти в Настройки, где поставить в строках Пользователей, в колонка Профили, в ресурсах Чтение
Открываем 1С:Предприятие - Разделы - НСИ и администрирование - Печатные формы, отчеты и обработки - Дополнительные отчеты и обработки - Добавляем отчет (или перейти по навигационной ссылке e1cib/list/Справочник.ДополнительныеОтчетыИОбработки)
- Отчет тот же самый добавляем в расширение.
- Интересным моментом оказалось как динамически вызвать отчет в большинстве форм объектов, максимально просто.
Я выбрал следующий способ:
Почти в каждом модуле формы есть событие ПриСозданииНаСервере(. ), в нем вызывается общее событие СобытияФорм.ПриСозданииНаСервере(. )
а далее в нем событие переопределяемого модуля
именно это событие МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере() я перетащил в расширение с ключом выполнения "&После"
чтобы вызвать отчет в процедуре динамически вывожу снизу на форму объекта элемент формы ДекорацияФормы, в который с помощью ФорматированнойСтроки(. ) передаю навигационную ссылку на команду открытия отчета из расширения.
Далее в самой команде отчета с помощью метода АктивноеОкно() определяю форму объекта, из которой произошел запуск и формирую отчет с нужным параметром
Получилось следующее (на примере элемента справочника "Ресурсные спецификации"):
- Гиперссылка "Права на объект" появляется в формах
- По ее нажатию вызывается отчет "Права на объект" с указанием объекта в заголовке и отбором по типу метаданных
В отчете видно в колонках какие роли дают какие права, и в строках у кого уже есть такие права и в какую группу можно включить пользователя.
1) Переходим в меню - Настройки - Параметры - Отображать команду "Все функции"
2) Переходим в меню - Все функции - Стандартные - Управление расширениями конфигурации - Добавляем расширение
Обработка выгрузки и загрузки данных через XML между идентичными конфигурациями с возможностью установки произвольных отборов на выгружаемые объекты.
Подключаемый отчет на системе компоновки данных по типам объектов 1С показывает: 1) Совокупности таблиц SQL для хранения объекта 1С и их предназначение; 2) Число объектов данного типа; 3) Размеры хранения данных и индексов в MB (мегабайтах); 4) Сравнение данных двух баз
Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).
Если пользователю не хватает прав на объект, то на практике в 90 % случаев, недостающую роль можно найти через типовой регистр сведений Права ролей. Также с помощью дополнительного отчета или небольшого расширения можно ускорить описанный процесс.
Онлайн диаграмма доступных лицензий 1С и показателей ресурсов сервера 1С в различных измерениях и отборах.
Обработка ищет все объекты базы, в которых одновременно присутствуют перечисленные элементы. Построена на базе типовой обработки Все функции - Стандартные - Поиск ссылок на объект, но позволяет накладывать отбор не по одному объекту, а по нескольким, что позволяет настраивать поиск по комбинациям условий
Часто не хватает визуализации хронологии документов в структуре подчиненности и кнопок проведения. Это расширение конфигурации, с функционалом структуры подчиненности документов, отображающее хронологическую последовательность документов во времени и дающее доступ к проведению, отмене проведения, пометке на удаление документов непосредственно в форме подчиненности.
Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем.
Групповая обработка ссылок вида Объект не найден (502:37855254002e11eb11e73b8f36150d9e) заполняется максимально просто копированием и вставкой из буфера: 1) Выделяет уникальные идентификаторы (далее УИ); 2) Ищет ссылки на объекты базы по УИ; 3) Создаёт пустые объекты с указанным УИ; 4) Регистрирует найденные ссылки для обмена данными. Работает на любых продуктах 8.3
Обработка на управляемых формах для работы с календарями google, событиями календарей и контактами.
Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет.
Выполнил 3 разных теста для проверки серверного оборудования (тест 1С, тесты gilev) на возможное число 1С онлайн-пользователей одновременно работающих на нем и интерпретировал результаты тестов через легких, средних и тяжелых пользователей с помощью таблицы с профилями реальных пользователей.
Перед началом проекта требуется определить параметры серверного и клиентского оборудования, необходимые для работы внедряемой программы 1С:Предприятие, и учесть будущую нагрузку, которая ляжет на систему в реальной рабочей обстановке. Мощность оборудования должна быть достаточной для нормальной работы пользователей. Но как подобрать сервер простым способом?
На время сеанса отключаем контроль остатков и проверку документов в ERP, КА, УТ типовыми средствами и простым расширением.
Часто при моделировании примеров бизнес-процессов, на запуске в эксплуатацию или закрытии требуется несколько раз прогнать ситуацию с разными настройками, а для этого изменить, удалить ранее введенную цепочку документов. Дается все это с трудом. Ты уверен, что не навредишь своими действиями системе, но документы цепляют друг друга и ругаются контролями остатков, не разрешая тебе менять их в произвольном порядке.
Есть несколько удобных опций для облегчения внесения изменений.
Для уведомления пользователей программных продуктов 1С о разных событиях, в них включена подсистема «Новостной центр». Это довольно удобная штука, т.к. новостные ленты сообщают о выходе обновлений, о новостях и событиях в сфере учёта. Но можно увеличить пользу от новостной подсистемы используя её локально в рамках 1С базы. Например, внутренняя служба техподдержки или внедряющая компания может через новостную ленту оповещать пользователей информационной базы об изменениях в программе, совещаниях, проведении тестирований, заполнения нужных документов или сдача отчетов к определенной дате и т.п.
Пример технического задания для практического понимания основных разделов.
Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании
Ссылка на компетенции по 1С:ERP - команда со знаниями, умениями и успешными проектами.
Режим позволяет проанализировать права одной роли и ответить на вопросы:
- Кому назначена определенная роль?
- Какие права доступа назначены для роли? Какие ограничения по RLS действуют для роли?
- В какие профили включена роль?
- К каким объектам конфигурации 1С роль предоставляет доступ?
- Получить описание роли 1С.
При анализе ролей можно просмотреть дополнительную информацию:
Для пользователя настроили ограничение по Организации, функционал типовой и особо ограничение никто проверять не стал.
Оказалось пользователь может видеть все документы без ограничения и полностью видеть их содержимое, но при записи выходит ошибка по правам доступа. Причина оказалась простой - для роли на добавление и изменение документа в праве на "Чтение" не установлены ограничения по RLS.
Перед тем как предоставить доступ через добавление роли в профиль можно было проверить какие права предоставлены роли - это ювелирная работа, но позволила в будущем назначать права более предсказуемо.
Анализ прав доступа к объекту конфигурации
Режим позволяет проанализировать права доступа к одному объекту конфигурации и ответить на вопросы:
- Кто имеет доступ к объекту?
- Какие роли дают права доступа к объекту 1C?
- Какие Профили / Группы доступа - нужно назначить, чтобы получить доступ к объекту?
При анализе прав к объекту можно просмотреть дополнительную информацию:
- В какие подсистемы включен объект;
- Получить список функциональных опций в состав которых включен объект:
- Основные роли (При анализе Конфигурации).
В типовой версии ЗУП некоторые элементы выведены через общие команды, например справочник "Тарифные группы". Если пользователю назначить доступ только к объекту он не сможет открыть сам справочник из интерфейса, ему так же нужно настроить доступ к общей команде "Тарифные группы". Сразу увидеть что включено в командный интерфейс, а что нужно разрешить пользователю поможет отчет.
Проанализировать за счет каких Групп доступа пользователь получил именно такую комбинацию прав, гораздо проще с отчетом.
При настройке прав доступа важно учитывать и настройки ограничения, за счет одних ролей пользователю может быть снято ограничение по RLS на чтение при этом ограничение остается на Изменение и Добавление. Однажды риходилось разбираться почему пользователю доступны все организации но при внесении изменении для некоторых Организаций выходила ошибка.
Причина оказалась в том, что через неудачно добавленную роль для пользователя были отключены ограничения по RLS для чтения справочника.
Анализ прав доступа профиля
Режим позволяет проанализировать профиль доступа в различных разрезах и ответить на вопросы:
- Какие объекты доступны для профиля доступа? Какие разрешения доступа предоставляет профиль?
- Какие роли включены в профиль доступа?
- Каким пользователям назначен профиль доступа?
- Какие Группы доступа есть на основании профиля?
Доступные варианты отчета в режиме анализа прав доступа профиля:
Вариант отчета проанализировать права доступа профиля в виде списка.
Вариант отчета проанализировать права доступа профиля в табличном виде.
Анализ прав пользователя
Режим позволяет проанализировать роли и права доступа пользователя и ответить на вопросы:
- К каким объектам C пользователь имеет доступ?
- Как сложилась комбинация прав доступа для пользователя из отдельных ролей?
- Через какие роли пользователь получил доступ к объектам? Какие Профили и Группы доступа назначены пользователю?
Доступные варианты отчета в режиме анализа прав доступа пользователя:
Вариант отчета позволяет проанализировать права доступа пользователя в виде списка.
Вариант отчета позволяет получить список прав доступа к объектам для Пользователя в табличном виде.
Анализ прав пользователя, без анализа ролей
Режим позволяет проанализировать права доступа указанного пользователя и найти ответы на вопросы:
- К каким объектам конфигурации пользователь 1С имеет доступ?
- Какие ограничения по RLS действуют для пользователя?
В отличии от режима "Анализ прав пользователя":
- Нельзя получить данные по: Ролям, Профилям. При этом доступные роли пользователя можно проанализировать в дополнительном окне;
- Работает быстрее.
Доступные варианты отчета в режиме анализа прав доступа пользователя (Без анализа ролей):
Вариант отчета позволяет проанализировать права доступа пользователя в виде списка.
Вариант отчета позволяет проанализировать права доступа пользователя в табличном виде.
Произвольный режим настройки
Режим позволяет проанализировать права доступа пользователей к объектам конфигурации 1С в различных разрезах.
В данном режиме можно получить максимально полную информацию о настройке прав доступа по Ролям, Группам доступа, Объектам и Пользователям.
Можно сравнить Роли/Пользователей/Профили/"Группы доступа" между собой.
Можно получить данные по правам доступа на несколько Объектов/Пользователей/Профилей и т.д.
Доступные варианты отчета в режиме анализа прав доступа в произвольном режиме:
Вариант отчета позволяет гибко проанализировать права доступа по нескольким объектам.
Вариант отчета сравнить несколько ролей пользователей, и выбрать нужную роль для настройки прав пользователей.
Произвольный режим настройки, без анализа ролей
Режим позволяет проанализировать права доступа пользователей к объектам.
- Какие объекты доступны пользователям? Какие ограничения прав доступа действуют для пользователей?
- Кто из пользователей обладает большими правами?
- Какие права имеют пользователи? Как отличаются права разных пользователей? Возможность сравнить права доступа пользователей 1С.
В данном режиме нельзя получить данные по Ролям, Профилям и Группам доступа. Работает быстрее относительно произвольного режима.
Доступные варианты отчета в режиме анализа прав доступа в произвольном режиме (Без анализа ролей):
Вариант отчета: Произвольный, без анализа ролей (Матрица)Вариант отчета позволяет проанализировать права пользователей к объектам.
Вариант отчета: Произвольный, без анализа ролей (Пользователи)Вариант отчета по произвольному набору объектов, удобно использовать при большом количестве пользователей.
Метаданные без ролей
Инструмент поиска потенциальных вопросов пользователей. В данном режиме можно получить список метаданных по которым не настроены роли.
Перед формированием можно указать исключаемые из проверки роли (по умолчанию это роль "Полные права").
Демонстрация работы отчета
Вопрос : В БСП есть “Отчет по правам доступа” чем Ваш отчет лучше?
- Гибкая настройка отчета - которая позволяет выводить права доступа в удобном виде;
- Отчет позволяет провести анализ прав пользователей по более широкому перечню объектов;
- Анализ всех прав доступа объектов платформы 8.3.14 (на более старых версиях не доступные права будут скрыты);
- Получение данных в различных разрезах: Роль, Пользователь, Объект и т.д. (в отчете "Отчет по правам доступа"- только по пользователям).
Вопрос : На какие вопросы можно найти ответы при помощи отчета?
- Какие права назначены Пользователю / Пользователям; Какие права пользователей 1С;
- Какие права доступа 1С; Какие права пользователей 1С;
- Что может делать пользователь в системе;
- Через какие Роли, Профили и “Группы доступа” пользователи получили права;
- Кто может получить доступ к объекту;
- Увидеть почему возникает нарушение прав доступа;
- Как настроить права доступа; Как настроить разграничение прав доступа 1С;
- Какие группы доступа назначить чтобы пользователь получил необходимые права;
- Получить имена Функциональных опций которые могут скрывать объект;
- В какой подсистеме выведен объект;
- Отчет по системе прав доступа;
- Как разграничить права доступа пользователей;
- Какие права доступа назначены профилю
- Провести Анализ ролей 1С 8.3 и 8.2.
Вопрос : На каких конфигурациях работает отчет?
На всех конфигурациях написанных на основе БСП 2.0 и выше с внедренной подсистемой “ Управление доступом ”.
Например: “Бухгалтерия предприятия 3.0”, “Зарплата и управление персоналом 3”, “Управление торговлей 11”, "Комплексная автоматизация 2", "Управление небольшой фирмой", "Управление нашей фирмой", "ERP Управление предприятием", "Розница 2" и т.д.
Версию БСП можно посмотреть в регистре сведений “Версии подсистем” по имени подсистемы “СтандартныеПодсистемы”.
Вопрос : Если роль назначена через конфигуратор будет ли она выведена в отчет?
Анализ прав проводиться по данным подсистемы “Управление доступом” БСП и назначенная через конфигуратор роли не будет связаны с правами пользователя. Но увидеть, что пользователю доступны дополнительные права можно в режиме отчета “Пользователь, без анализа ролей”.
Вопрос : Как создавался отчет?
Отчет подключается стандартными средствами Дополнительных отчетов и обработок: Администрирование -> Печатные формы, отчеты и обработки -> Дополнительные отчеты и обработки -> Загрузить из файла.
Да и понадобилось научить отчет работать на обычных формах и в разных конфигурациях..
Строки - имена пользователей, колонки - Права.
На пересечении отметка "V", если права у пользователя есть.
Можно выбрать одного или нескольких пользователей и одно или несколько Прав.
Специальные предложения
На 1С:Предприятие 8.2 (8.2.19.130) в конфигурации - Бухгалтерия предприятия, редакция 2.0 (2.0.64.11)
нажатие на кнопку Сформировать приводит к появлению следующей ошибки:
Ошибка исполнения отчета
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Не найден внешний набор данных "Табло"
Если повключать/повыключать, в произвольном порядке, галочки на вкладке Настройка, то отчёт иногда срабатывает.
Закономерность не понял.
Я же сразу написал: 1С:Предприятие 8.2 (8.2.19.130)
Просмотры 23619
Загрузки 270
Рейтинг 3
Создание 14.02.16 14:35
Обновление 14.02.16 14:35
№ Публикации 457603
Конфигурация Конфигурации 1cv8
Операционная система Windows
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Не указано
"Словом можно убить, словом можно спасти, словом можно полки за собой повести" Онлайн-тренажер "Боевая риторика. Ложь и давление в переговорах" с 29 ноября по 27 декабря.См. также
Запуск 1С под любым пользователем (без необходимости указания пароля) Промо
Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).
1 стартмани
02.07.2019 28939 297 sapervodichka 0
Подсистема прав доступа (анализ ролей, отладка RLS, английский код, обычные и управляемые формы)
Доброе время суток. Я как обычно – с интересностями. И в этот раз мы поговорим о такой жуткой штуке – как RLS, генерация расширений на лету, и обратим внимание на одну интересную особенность «Полных прав» и про английский сорцкод. Статья не является «продажной», ибо решение специфическое, кому надо, тот знает, что покупает. Однако, в этой статье я расскажу про кучу тонкостей, с которыми мы столкнулись и как оптимизировали. Так что не забудьте открыть все спойлеры :)
5 стартмани
18.10.2021 4811 58 DitriX 29
Генератор ролей
Обработка генерирует атомарные наборы ролей для каждого объекта метаданных (Справочник, Документ, Отчет, Обработка, Регистр сведений).
1 стартмани
12.05.2021 3007 10 anton.fly7 7
Как увидеть пароли, сохраненные в базе 1С
Обработка, позволяющая посмотреть пароли и прочие данные скрываемые звёздочками на формах настройки.
1 стартмани
11.05.2021 12178 59 lepihin 27
Анализ ролей и прав доступа Промо
Отчет для анализа ролей и прав с использованием СКД. Формируется в разрезе объектов, ролей, пользователей и прав (чтение, просмотр и т.д.). Позволяет быстро узнать, какие пользователи или роли имеют конкретные права на объекты.
4 стартмани
09.01.2015 36703 21 kser87 7
Авторизация в мобильном приложении 1С
Реализация входа по паролю (личному коду) в мобильном приложении 1С.
10 стартмани
23.02.2021 5326 6 kaiman_fedor_yandex 0
Анализ ролей доступа
Быстрое определение, каких ролей доступа не хватает и на что влияет выбранная роль.
1 стартмани
06.01.2021 6076 84 yermak 9
Групповое добавление и удаление ролей из списка профилей
Подключаемая обработка. Помогает при конструировании профилей доступа пользователей (настройке прав пользователей), экономит время на добавлении/удалении одной и той же роли сразу в нескольких профилях.
1 стартмани
14.12.2020 7432 37 sapervodichka 9
Просмотр прав пользователей Промо
Обработка наглядно показывает права доступа конкретного пользователя или роли к конкретному объекту метаданных.
1 стартмани
19.10.2012 35979 306 NILS2009 17
Анализ прав доступа на объекты метаданных 1С (быстрое получение списка только тех ролей, у которых есть соответствующий доступ). А так же получение списка ролей, которым дано право "Интерактивное удаление" (или другое, на выбор)
Часто нужно получить набор ролей, в которых есть определенное право для объекта. Чтобы не перебирать все роли в поисках доступных прав, можно воспользоваться этой обработкой. Она покажет только те роли, в которых назначено нужное нам право. И конфигуратор открывать не нужно. Особенно полезно для анализа облачных баз. По просьбам трудящихся, дополняю функционал: теперь можно быстро найти те объекты и роли, у которых есть право "Интерактивное удаление" для этого есть специальная кнопка.
1 стартмани
08.11.2020 4488 28 akrelius 6
Обфускатор операционного кода 1С
Защита обработок 1С от восстановления исходного кода awa-ким декомпилятором. Протестировано 1С:Предприятие 8.3 (8.3.16.1502)
2 стартмани
18.09.2020 9381 47 MoiseevSN 46
Подсистема прав доступа к объектам с гибкими отборами (расширение)
Возможность без доработок конкретизировать пользователям права Просмотра и Изменения объектов базы 1С, установив ограничения с помощью отборов системы компоновки данных.
2 стартмани
02.07.2020 17866 218 sapervodichka 109
Отключение доступа уволенным пользователям Промо
Давно хотели навести порядок в пользователях? Надоело, что в списке мешаются давно уволенные сотрудники? Тогда эта обработка для Вас!
3 стартмани
15.10.2013 55543 109 VBod 17
Настройка ограничений входа пользователей в базу (расширение)
Настраиваем для пользователей 1С разрешенное количество открытых сеансов к текущей базе данных 1С в привязке к компьютерам. (У пользователя не будет возможности превысить допустимое количество сеансов или зайти с чужого компьютера).
2 стартмани
19.05.2020 14492 27 sapervodichka 18
Менеджер подключений к удаленным рабочим столам (RDP)
Менеджер подключений к удаленным рабочим столам для организации доступа сотрудникам, без передачи паролей для доступа.
2 стартмани
19.11.2019 6807 8 Shalnov 1
Обозреватель криптографии
Отчет для просмотра доступных провайдеров и сертификатов криптографии на сервере и клиенте.
2 стартмани
21.10.2019 14737 19 YPermitin 10
Права доступа ролей Промо
Отчет по правам доступа ролей, выводит в удобной краткой форме права доступа в разрезе ролей на интересующие нас объекты метаданных или объекты метаданных, к которым есть доступ у интересующей нас роли. Показывает наличие RLS и позволяет сравнить роли. Отображает использование роли в профилях групп доступа/группах доступа.
1 стартмани
05.02.2018 22717 168 Serge R 5
Завершение работы пользователей
Завершение работы пользователей с помощью подключения обработчика ожидания.
1 стартмани
02.10.2019 9409 16 user921814 6
Расширение "Туманность" - помощник настройки профилей групп доступа. ERP 2.4.9+
Расширение позволяет настраивать профили групп доступа как комбинации из других профилей групп доступа.
1 стартмани
30.08.2019 6770 10 Brawler 0
PowerShell из 1С: создание пользователя Active Directory
Пример создания пользователя Active Directory с помощью PowerShell из 1С.
3 стартмани
27.08.2019 14566 25 wowik 13
Регистры правил [Расширение] Промо
Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.
10 стартмани
15.03.2018 23483 30 33lab 5
Копирование настроек профилей группы доступа из одной базы в другую. 1С: Предприятие 8.3 БП 3.0, ЗУП 3.1, ЕРП 2.4 и т.д.
Иногда необходимо состав ролей профиля группы доступа перенести из одной базы 1С в другую быстро, а если таких баз 20-30, то сидеть и выбирать нужные роли руками это проблематично и долго. Для этого была разработана данная обработка. Проверялось на релизах: Платформа 1С: Предприятие 8.3.14.1630; 1С: ЗУП 3.1.9.229 и выше; 1С: ERP 2.4.5.54.
1 стартмани
02.08.2019 6632 73 mityushov.vv 5
Сравнение доступа профилей, ролей, пользователей по всем объектам конфигурации 8.3, 8.2 (обычные формы "ОФ" и управляемые формы "УФ") (выборочно)(НАБОР УТИЛИТ)
Сравнение профилей доступа по всем объектам конфигурации 8.3 (полноценно функционирует с версии 1С:Предприятия 8.1.10 - 8.3.X). Очень хотелось иметь обработку, которая бы показывала различия профилей доступа по каждому конкретному объекту конфигурации и по всем сразу. Желание было воплощено в данной обработке.
1 стартмани
23.06.2019 9949 44 AlexandrSmith 0
Запуск 1С под другим пользователем без ввода пароля
Для проверки настроек ролей и прав или для отладки можно использовать это решение.
1 стартмани
22.03.2019 11575 55 pridecom 0
Включение и выключение регистрации отказа в доступе если "У пользователя не достаточно прав над операцией с базой данных". Промо
Включает (выключает) регистрацию событий отказа доступа в журнале регистрации.
1 стартмани
12.01.2011 40385 368 nexts 32
Наследование ролей в профилях групп доступа в конфигурациях на базе БСП
С помощью данной доработки можно создать новый профиль групп доступа, с наследованием ролей от базового (поставляемого) профиля. В созданном профиле можно добавить или исключить какие-либо роли относительно базового профиля.
1 стартмани
15.03.2019 13567 18 ids79 1
PasswordHashViewer - просмотр хэшей пользовательских паролей
Программа для просмотра хэшей паролей пользователей в файловых и клиент-серверных базах 1С. Зачем это нужно? Для их проверки на криптостойкость.
1 стартмани
25.02.2019 8858 13 GeraltSnow 5
Обезличивание базы ЗУП 3.1.*
Обработка по перемешиванию/скрытию конфиденциальной информации в базе ЗУП.
1 стартмани
05.02.2019 14542 85 Skin123 16
Права пользователей Промо
Кросс-таблица прав пользователей (подсистема "Управление доступом")
1 стартмани
10.05.2016 31807 105 inspam 4
Наводим порядок в Active Directory с помощью ЗУП / ЗИКГУ 3.1 (идентификация, отключение и актуализация учетных записей пользователей)
Продолжаем использовать ЗУП 3.1 совместно с LDAP во имя автоматизации работы системного администратора. В этот раз займемся аудитом учетных записей. Обработка производит сопоставление учетной записи с данными сотрудников из ЗУП, причем с учетом недавних событий (для перехода на ЗУП 3.1 чаще всего используется рекомендованный перенос, не включающий уволенных сотрудников) есть возможность использовать объединенные с помощью COM-соединения данные ЗУП 2.5 и ЗУП 3.1. Также в данной обработке есть возможность массовой корректировки, заполнения данных и отключения учетных записей. Перед использованием обработки для душевного спокойствия необходимо сделать резервную копию Active Directory любым удобным способом. Протестировано на ЗУП 3.1.6 - 3.1.8.
Читайте также: