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

09.08.10

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Файл примера
.dt 22,81Kb
59
59 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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



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

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

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

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

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

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

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

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

    КонецЦикла;

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

См. также

SALE! 15%

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

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

10000 руб.

02.09.2020    159413    872    399    

861

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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

16800 руб.

06.12.2023    8842    42    5    

73

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10416    36    21    

61

SALE! 20%

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

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

5940 4752 руб.

27.05.2021    37561    264    92    

205

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

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

4560 руб.

21.05.2019    1694764    570    194    

137

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

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

3000 руб.

23.02.2018    58452    160    261    

152

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

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

19200 руб.

29.11.2019    25657    16    8    

37
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sintson 413 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 Ответить
Оставьте свое сообщение