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

25.05.13

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

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

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

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

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

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

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

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

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

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

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

   КонецЕсли;

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


См. также

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    152284    834    397    

845

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

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5940 руб.

27.05.2021    36487    252    90    

197

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

15600 руб.

06.12.2023    7689    34    5    

65

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

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

10000 руб.

10.11.2023    9369    33    10    

56

Роли и права Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Данная система разработана как альтернатива стандартной системе напоминаний. Но имеет ряд существенных преимуществ: отображение в базе или с отправкой по почте, свое расписание, возможность фильтрации по ролям и пользователям, формирование своих запросов и макетов, шаблоны писем, работа в фоне. А также может блокировать работу пользователей при заданных условиях. Может работать в составе любой конфигурации. Имеется справка с описанием возможностей. (Обновление от 20.02.2024, версия 2.2, расширение)

19200 руб.

29.11.2019    25507    17    8    

37

Роли и права Системный администратор Программист Платформа 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)

13200 руб.

21.03.2022    15847    24    54    

46

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

Расширение для 1С:Бухгалтерия 3.0, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

4200 руб.

21.05.2019    1694365    565    194    

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

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