Автоматический фильтр в универсальном отчете

25.05.13

Администрирование - Роли и права

В статье описана методика, позволяющая ограничить доступ пользователям таким образом, чтоб они могли просматривать отчеты, построенные на базе универсального, только по разрешенным значениям параметров, например, Группы доступности складов и Кассы.

1. Настройка автоматического добавления фильтра в универсальный отчет.

1.1 Необходимо добавить настройку или доп. право пользователя, которая будет определять, что этому пользователю ограничивается доступ.

Новая настройка

1.2 В общем модуле пишем процедуру, которая будет устанавливать отбор, которая будет выглядеть так:

Процедура УстановитьФильтрыВОтчете(УниверсальныйОтчет) Экспорт

   ФильтроватьОтчетыПоСкладуИКассе = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ФильтроватьОтчетыПоСкладуИКассе");

   Если ФильтроватьОтчетыПоСкладуИКассе Тогда

      //отбор по складам

      //отбор по кассам

   КонецЕсли;

КонецПроцедуры

Сам отбор устанавливается через метод Универсального отчета ДобавитьОтбор().

1.3 Прописать вызов процедуры в нужных универсальных отчетах, в конце процедуры УстановитьНачальныеНастройки().

Вызов процедуры

 

2. Запрет пользователю менять добавленный выше фильтр.

Находим форму настроек универсального отчета.

Форма настроек универсального отчета

Создаем процедуру (можно и в общем модуле):

Процедура КонтрольДоступа(ТекСтрока, Отказ)

   ФильтроватьОтчетыПоСкладуИКассе= УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ФильтроватьОтчетыПоСкладуИКассе");

   Если ФильтроватьОтчетыПоСкладуИКассе Тогда
      Если ТекСтрока.Имя = "Склад"
              ИЛИ ТекСтрока.Имя = "РозничнаяТочка"
              ИЛИ ТекСтрока.Имя = "БанковскийСчетКасса" Тогда
             Отказ = Истина;
             Предупреждение("Недостаточно прав!");
      КонецЕсли;
   КонецЕсли;

КонецПроцедуры

На форме ищем элементы формы ТабличноеПолеОтбор, ТабличноеПолеОтбор1, ТабличноеПолеОтбор2. Это будет просто сделать с помощью списка элементов управления формы (находится в меню Форма). В обработчках события ПередНачаломИзменения для этих элементов пишем вызов вышенаписанной процедуры:

Процедура ТабличноеПолеОтборПередНачаломИзменения(Элемент, Отказ)
   ТекСтрока = ЭлементыФормы.ТабличноеПолеОтбор.ТекущаяСтрока;
   КонтрольДоступа(ТекСтрока, Отказ);
КонецПроцедуры

Процедура ТабличноеПолеОтбор1ПередНачаломИзменения(Элемент, Отказ)
   ТекСтрока = ЭлементыФормы.ТабличноеПолеОтбор1.ТекущаяСтрока;
   КонтрольДоступа(ТекСтрока, Отказ);
КонецПроцедуры

Процедура ТабличноеПолеОтбор2ПередНачаломИзменения(Элемент, Отказ)
   ТекСтрока = ЭлементыФормы.ТабличноеПолеОтбор2.ТекущаяСтрока;
   КонтрольДоступа(ТекСтрока, Отказ);
КонецПроцедуры

Теперь при попытке изменения строки с фильтром, пользователь будет видеть такую картину:

Недостаточно прав


См. также

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

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    196380    1085    409    

1006

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

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

15000 руб.

10.11.2023    15553    66    33    

84

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

19200 руб.

06.12.2023    14270    61    8    

90

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

Мучаетесь со списком типовых ролей? Не хотите иметь дело с конфигуратором? Не знаете что делают имеющиеся права в базе? Хотите просто и удобно добавлять и настраивать, по одному клику, доступы и поведение при записи/удалении/проведении/открытии списка/фильтрацию данных в списках или формах выбора для пользователя или группы пользователей и для любого объекта? Не хотите переживать, что при обновлении конфигурации все права и роли слетят? (Обновление от 27.03.2023, версия 1.9)

16800 руб.

21.03.2022    17064    27    54    

49

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

Расширение предназначено для Бухгалтерии предприятия (версии ПРОФ и КОРП). Типовая конфигурация остается на поддержке. С помощью расширения менеджер по продажам будет иметь доступ к контрагентам и списку их документов только в случае, если он является для них ответственным. Пользователю с полными правами также доступна обработка «Назначение ответственных» для группового добавления/удаления ответственного в карточке контрагента. Есть версия данного расширения для клиентов Fresh - в магазине расширений (Fresh)

9360 руб.

14.09.2022    6926    11    6    

15

Ценообразование, анализ цен Роли и права Системный администратор 1С v8.3 Управление правами 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Расширение возможностей программы 1С:УНФ 1.6 и 3.0. Функционал расширения - разграничение всевозможных прав пользователей и контроль при совершении различных действий.

3000 руб.

23.02.2018    61591    173    264    

164

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

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

3500 руб.

23.10.2015    64838    117    25    

130
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. KindLion 27.10.14 16:14 Сейчас в теме
Добрый день!

Спасибо, пригодилось!
Была проблема с запретом доступа к изменению пункта отбора. Использовал вашу идею.
Оставьте свое сообщение