Запрет изменения документа для всех пользователей, кроме автора

12.11.21

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

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

Недавно была поставлена задача закрытия изменений в документе реализации всеми, кроме автора документа.

Не стал лезть в распределение ролей, настройки прав и т.п., т.к. заказчик сам это поддерживать и настраивать не будет. Нужно было что то по проще....

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

Реализовано на примере документа РеализацияТоваровУслуг, это решение можно использовать в любом документе.

1. Создаем новый реквизит документа, присваиваем ему тип Булево.

2. На форме документа размещаем флаг, данные = созданному ранее реквизиту.

3. В модуле документа в процедуре ПередОткрытием в начале вставляем код (у меня так), у вас свои названия вероятно..

флагЗапрета = ЭтаФорма.ЭлементыФормы.ЗакрытьОтРедактирования.Значение;	
Тек_Польз = ПараметрыСеанса.ТекущийПользователь;
Автор = ЭтаФорма.ЭлементыФормы.Ответственный.Значение;
Если флагЗапрета = Истина  Тогда
	Если Тек_Польз = Автор Тогда
	ЭтаФорма.Открыть();
	Иначе
		Если Тек_Польз <> Автор Тогда
		ОпределитьДоступностьВозможностьИзмененияДокументаПоАвтору();
		ЭтаФорма.Закрыть();
		КонецЕсли;
	КонецЕсли;
КонецЕсли;

и добавляем процедуру для вывода сообщения:

Процедура  ОпределитьДоступностьВозможностьИзмененияДокументаПоАвтору()
Сообщить("Документ закрыт для редактирования!"+Символы.ПС+ "Пользователь"+" "+Ответственный+" "+"закончил оформление документа!"+Символы.ПС+"Для открытия документа обратитесь к Автору.");
Предупреждение("Документ закрыт для редактирования!"+Символы.ПС+ "Пользователь"+" "+Ответственный+" "+"закончил оформление документа!"+Символы.ПС+"Для открытия документа обратитесь к Автору.");
КонецПроцедуры

Если вывод сообщений не нужен, не вставляйте. Тогда закомментируйте или удалите вызов этой процедуры в первом куске кода.

закрыть доступ к изменению документа

См. также

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

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

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

10000 руб.

02.09.2020    126857    687    389    

738

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

14400 руб.

06.12.2023    3759    20    1    

42

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

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

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

10000 руб.

10.11.2023    4720    12    2    

38

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

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

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

5700 руб.

27.05.2021    33294    206    89    

166

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

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

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

2520 руб.

21.05.2019    1692691    554    192    

133

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

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

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

9360 руб.

14.09.2022    5871    7    4    

9

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

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

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

19200 руб.

29.11.2019    24828    14    8    

33
Отзывы
1. ixijixi 1801 13.11.21 23:18 Сейчас в теме
Если Ответственный <> ПараметрыСеанса.ТекущийПользователь И ЗакрытьОтРедактирования Тогда
	ТолькоПросмотр = Истина;
        Сообщить("Документ закрыт для редактирования!");
КонецЕсли;
user833786; rusmm93; SirStefan; IntellXeon; mrChOP93; +5 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 1801 13.11.21 23:18 Сейчас в теме
Если Ответственный <> ПараметрыСеанса.ТекущийПользователь И ЗакрытьОтРедактирования Тогда
	ТолькоПросмотр = Истина;
        Сообщить("Документ закрыт для редактирования!");
КонецЕсли;
user833786; rusmm93; SirStefan; IntellXeon; mrChOP93; +5 Ответить
2. shar74 9 14.11.21 09:33 Сейчас в теме
(1) Изящное решение! Спасибо за внимание к теме.
3. Pixar0000 16.11.21 11:04 Сейчас в теме
2. На форме документа размещаем флаг, данные = созданному ранее реквизиту.

зачем? варианта 2: данное правило для всех (запретить) + данное правило для кого-то с Полными правами (разрешить), тогда
ЗакрытьОтРедактирования = 
и тут проверять по правам или "загнать" значение в НастройкиПользователя (для полныхправ)
4. IlyaSR 17.11.21 09:38 Сейчас в теме
Решение неуниверсальное и очень спорное, в плане того, что необходимо в каждый документ добавлять реквизит + добавлять процедуру.

1. Лучше добавить РегистрСведений и в него добавлять документы, который мы хотим контролировать.
2. Функцию проверки поместить в общий модуль, чтобы правка логики/проверки не приводила к редактированию в каждом документе.
3. Написать обработку добавления/удаления документа в РегистрСведений.

Иначе, чтобы поставить запрет, придется перепроводить документы, а это расточительно... + если период закрыт, то как вообще ставить этот запрет.
_alex1974; +1 Ответить
5. _alex1974 17.11.21 17:04 Сейчас в теме
(4) в итоге можно прийти к установке автором пользователей, которым открыт доступ к просмотру и редактированию
что-то мне это напоминает...
:)
6. user1216897 09.02.24 15:50 Сейчас в теме
Есть такое решение.. ниужели не выложили?
Оставьте свое сообщение