Управление доступностью реквизитов на форме документа 1С: Предприятие 8.1

09.08.10

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

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

Скачать файлы

Наименование Файл Версия Размер
Файл примера
.dt 22,81Kb
59
.dt 22,81Kb 59 Скачать

Основой данного дополнения стал справочник ЗАБЛОКИРОВАННЫЕ ЭЛЕМЕНТЫ ФОРМЫ. Данный справочник содержит элементы со списком блокируемых элементов. Справочник имеет следующую структуру шапки:
ДОКУМЕНТ – имя документа (как оно задано в конфигурации) для которого нужно блокировать элементы формы.
ОТДЕЛ – отдел, для которого будут блокироваться элементы.

Так же у справочника имеется табличная часть РЕКВИЗИТЫ со следующими колонками:
РЕКВИЗИТ ФОРМЫ – имя реквизита на форме так, как оно задано в конфигурации (для колонок табличных частей нужно полностью писать путь. Например, Таблица1.Колонки.Товар).
ЗАБЛОКИРОВАТЬ – признак того, что данный элемент будет в «режиме только просмотр».
НЕВИДИМЫЙ – признак того, что данный элемент будет скрыт.

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

Далее, в форме документа необходимо определить процедуру ЗаблокироватьЭлементыФормы()
и описать ее вызов в процедуре формы ПриОткрытии()
.

Текст процедуры блокировки элементов:



Процедура ЗаблокироватьЭлементыФормы() Экспорт

   
Запрос = Новый Запрос;
   
Запрос.УстановитьПараметр("ОтделПользователя", Справочники.Отделы.Склад);
   
Запрос.УстановитьПараметр("Документ", ЭтотОбъект.Метаданные().Имя);
   
Запрос.Текст = "
    |ВЫБРАТЬ
    |   ЗаблокированыеЭлементыФормы.РеквизитФормы КАК РеквизитФормы,
    |   ЗаблокированыеЭлементыФормы.Заблокировать КАК Заблокировать,
    |   ЗаблокированыеЭлементыФормы.Невидимый     КАК Невидимый
    |ИЗ
    |   Справочник.ЗаблокированыеЭлементыФормы.Реквизиты КАК ЗаблокированыеЭлементыФормы
    |ГДЕ
    |   ЗаблокированыеЭлементыФормы.Ссылка.Отдел = &ОтделПользователя
    |   И ЗаблокированыеЭлементыФормы.Ссылка.Документ = &Документ"
;

   
Результат = Запрос.Выполнить().Выгрузить();

    Для Каждого
ТекСтрока Из Результат Цикл

       
СтрокаРеквизита = ТекСтрока.РеквизитФормы;
       
ЭлементФормы = ЭлементыФормы;

        Пока Истина Цикл
           
ПозицияТочки = Найти(СтрокаРеквизита, ".");
            Если
ПозицияТочки <> 0 Тогда
               
РеквизитДоТочки = Лев(СтрокаРеквизита, ПозицияТочки-1);
               
ЭлементФормы = ЭлементФормы[РеквизитДоТочки];
               
СтрокаРеквизита = Прав(СтрокаРеквизита, СтрДлина(СтрокаРеквизита)-ПозицияТочки);
            Иначе
               
ЭлементФормы = ЭлементФормы[СтрокаРеквизита];
                Прервать;
            КонецЕсли;
        КонецЦикла;

        Попытка
           
ЭлементФормы.ТолькоПросмотр = ТекСтрока.Заблокировать;
        Исключение
           
ЭлементФормы.Доступность = НЕ ТекСтрока.Заблокировать;
        КонецПопытки;

       
// Этого свойства нету у кнопок
       
Попытка
           
ЭлементФормы.Видимость = НЕ ТекСтрока.Невидимый;
        Исключение
           
ЭлементФормы.Доступность = НЕ ТекСтрока.Невидимый;
        КонецПопытки;

    КонецЦикла;

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

См. также

SALE! 20%

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

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

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

13000 10400 руб.

02.09.2020    121599    670    389    

711

Запрет доступа к данным по зарплате для БП 3.0 и КА 2.5

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

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

5700 руб.

27.05.2021    32719    204    89    

165

Автоподбор ролей для профилей и групп доступа в любых типовых базах 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    2964    13    1    

34

SALE! 20%

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

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

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

10000 8000 руб.

10.11.2023    3499    11    1    

33

Расширение для разграничения доступа к контрагентам и обработка для группового назначения доступа для Бухгалтерии (RLS) 3.0.143.42

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

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

9360 руб.

14.09.2022    5756    7    4    

9

Роли для кладовщика

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

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

2520 руб.

21.05.2019    1692302    552    192    

133

Универсальная система оповещений в базе или по почте по произвольным условиям, расписанием, ролям и пользователям (Расширение / конфигурация для платформ 8.3.6+, для ЛЮБЫХ баз)

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

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

18000 руб.

29.11.2019    24688    13    8    

33
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Sintson 411 09.08.10 12:40 Сейчас в теме
Я в свое время в качестве хранилища настроек использовал регистр сведений, т.к. на мой взгляд его можно гибче настроить. В целом идея правильная, жаль что в 1Сv8 нельзя на форму подключить внешний обработчик событий без влезания в код.
Для 8.2 уже не актуально.
2. Magister 134 09.08.10 18:47 Сейчас в теме
Эх, помню маялся похожим - у меня список реквизитов формы заполнялся, и ещё можно было присваивать некоторым полям значения, которые не изменишь.
3. Serj1C 483 10.08.10 07:01 Сейчас в теме
Попытка/Исключение не приветствую в коде.

Я люблю создавать структуру, а потом заполнять значения:
ЗаполнитьЗначенияСвойств(ЭлементФормы, Новый Струкутра("ТолькоПросмотр,Доступность,Видимость", ТекСтрока.Заблокировать, НЕ ТекСтрока.Заблокировать, НЕ ТекСтрока.Невидимый));
KroVladS; nixel; Valerich; artbear; +4 Ответить
Оставьте свое сообщение