К статье
Практический материал

Администрирование · 12 мин

Как запретить редактирование в 1С: практическое руководство

Как запретить редактирование документов и данных в 1С: дата запрета изменения, права доступа, режим «только просмотр», блокировка объектов и проверка результата.

Запрет редактирования в 1С нужен в двух типовых ситуациях: чтобы закрыть уже сданные периоды от случайных изменений и чтобы ограничить возможности конкретных пользователей — например, дать менеджеру только просмотр документов без права их правки. Платформа 1С:Предприятие предлагает для этого несколько независимых механизмов, которые работают на разных уровнях и дополняют друг друга.

Основные инструменты — функция «Даты запрета изменения данных», система ролей и прав доступа, настройки профилей групп доступа, а также программные средства вроде блокировки данных и проверок в модулях объектов. Выбор зависит от задачи: дата запрета защищает прошлые периоды, права ограничивают конкретных людей, а программные проверки закрывают особые сценарии, которых нет в типовой поставке.

Важно понимать: механизмы не взаимозаменяемы. Если вы установили только дату запрета, пользователь с полными правами всё равно сможет изменить документ текущего периода. Если вы убрали у роли право «Изменение», это не мешает другой роли того же пользователя такое право давать — в 1С права складываются по принципу «разрешено, если разрешено хотя бы одной ролью».

Как работает запрет редактирования в 1С и какой механизм выбрать

Прежде чем что-то настраивать, определите, что именно вы хотите закрыть. Задачи делятся на три группы: защита закрытых периодов (после сдачи отчётности), ограничение прав отдельных сотрудников и защита отдельных объектов независимо от периода и пользователя — например, запрет правки проведённого документа определённого вида.

Для закрытых периодов предназначена дата запрета изменения данных — штатный механизм библиотеки стандартных подсистем, встроенный в большинство типовых конфигураций (Бухгалтерия предприятия, Зарплата и управление персоналом, Управление торговлей и другие). Для ограничения пользователей служат роли и профили групп доступа. Для точечных сценариев — программные проверки в событиях «ПередЗаписью» и «ПриЗаписи», а также объектные блокировки.

Маршрут решения

Как выбрать действие

Нужно закрыть прошлый месяц или квартал после сдачи отчётностиУстановите дату запрета изменения данных в настройках пользователей и прав
Конкретный сотрудник должен только смотреть документы, но не менять ихСоздайте или измените профиль группы доступа, убрав права на добавление и изменение нужных объектов
Нужно запретить правку отдельных документов по условию (статус, сумма, вид)Добавьте проверку в модуль объекта с отказом записи или используйте расширение конфигурации
Нужно временно заблокировать базу для всех на время регламентных работИспользуйте блокировку сеансов в консоли кластера или функцию «Блокировка работы пользователей»

Установка даты запрета изменения данных

Дата запрета — самый востребованный способ. Все объекты (документы, записи регистров, задачи) с датой раньше указанной становятся недоступными для изменения, удаления и перепроведения. При этом объекты после даты запрета редактируются в обычном режиме.

В типовых конфигурациях на управляемых формах путь выглядит так: «Администрирование» → «Поддержка и обслуживание» (или «Настройка пользователей и прав») → «Даты запрета изменения данных». В старых конфигурациях на обычных формах — меню «Сервис» → «Управление пользователями и доступом» → «Дата запрета изменения данных». Для установки даты нужны права администратора или право «Администрирование данных».

Порядок действий
  1. 1
    Откройте «Администрирование» → «Даты запрета изменения данных» и включите использование дат запрета
  2. 2
    Задайте общую дату запрета — например, последний день закрытого квартала
  3. 3
    При необходимости настройте индивидуальные даты для отдельных пользователей или групп: откройте вкладку «Другие способы указания даты запрета» / «По пользователям»
  4. 4
    Для гибких сценариев используйте относительные даты — «Конец прошлого месяца», тогда дата будет сдвигаться автоматически
  5. 5
    Проверьте результат: войдите под обычным пользователем и попробуйте изменить документ закрытого периода

Полезная возможность — относительные даты. Если указать «Конец прошлого месяца», система будет автоматически переносить границу запрета без ручного вмешательства администратора. Это удобно для организаций, где период закрывается регулярно по одному и тому же графику.

Учтите ограничение: дата запрета не защищает данные от изменения при загрузке через обмены, если обмен настроен с приоритетом загружаемых данных, и не мешает пользователю с ролью, обходящей запрет (в некоторых конфигурациях есть отдельное право «Изменение данных после даты запрета»). Проверьте, кому назначены такие права.

Ограничение прав пользователей через профили и роли

Когда нужно запретить редактирование конкретному человеку, работают не с датами, а с правами. В типовых конфигурациях права назначаются через профили групп доступа: «Администрирование» → «Настройки пользователей и прав» → «Профили групп доступа». Каждому пользователю назначается один или несколько профилей, а итоговые права — объединение прав всех его профилей.

Чтобы дать пользователю режим «только просмотр» по части объектов, создайте отдельный профиль, в котором для нужных видов документов и справочников разрешены роли чтения, но не разрешены роли добавления и изменения. Затем включите пользователя в группу доступа с этим профилем и убедитесь, что другие его профили не дают прав на изменение тех же объектов.

На уровне конфигуратора права задаются тоньше: у каждой роли для каждого объекта метаданных есть набор прав — «Чтение», «Добавление», «Изменение», «Удаление», «Проведение», «Отмена проведения» и другие. Режим «только просмотр» означает, что у роли установлено только «Чтение» (и, при необходимости, «Просмотр» и «Ввод по строке»). Помните про аддитивность: если пользователю назначены две роли и хотя бы одна разрешает изменение, изменение будет доступно.

Запрет на уровне записей (RLS)

Если нужно, чтобы пользователь видел и редактировал только «свои» документы — например, менеджер работал только со своей организацией или складом, — используется ограничение доступа на уровне записей (RLS). В типовых конфигурациях это настраивается через группы доступа и значения доступа (организации, склады, контрагенты) без доработки кода. RLS замедляет выполнение запросов, поэтому включайте его только там, где это действительно необходимо.

Запрет редактирования конкретного документа или объекта

Иногда требуется заблокировать не период и не пользователя, а сам объект: например, запретить изменение документа после установки определённого статуса или после выгрузки в другую систему. Штатными настройками это решается редко — обычно нужна небольшая доработка.

Стандартный приём — проверка в событии «ПередЗаписью» модуля объекта: если выполняется условие (документ в статусе «Согласован», данные уже выгружены), записи отказывается с понятным сообщением пользователю. В управляемом приложении аналогичная логика дублируется в обработчике формы, чтобы кнопка записи была недоступна визуально.

bsl
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    Если Не ЭтоНовый() И Согласован И Не Пользователи.ЭтоПолноправныйПользователь() Тогда
        Отказ = Истина;
        ВызватьИсключение "Документ согласован, редактирование запрещено";
    КонецЕсли;
КонецПроцедуры

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

Блокировка данных при конкурентной работе

Отдельный случай — механизм объектных блокировок, который платформа применяет автоматически при одновременном редактировании одного объекта несколькими пользователями: второй пользователь получает сообщение о конфликте блокировок. Это не инструмент административного запрета, а защита целостности данных, но пользователи часто воспринимают её как «запрет редактирования». Если сотрудник жалуется, что документ «заблокирован», уточните, не открыт ли он у другого пользователя или в другом сеансе того же сотрудника.

Временная блокировка базы для всех пользователей

Для регламентных работ — обновления конфигурации, загрузки классификаторов, исправления данных — требуется запретить работу вообще всем, кроме администратора. В файловых базах это делается через «Администрирование» → «Обслуживание» → «Блокировка установки соединений с информационной базой» (в типовых решениях — «Блокировка работы пользователей» в разделе поддержки и обслуживания).

В клиент-серверном варианте аналогичная функция доступна в консоли кластера серверов 1С: в свойствах информационной базы устанавливается флаг «Блокировка начала сеансов включена», задаётся сообщение для пользователей и код разрешения для входа администратора. Активные сеансы можно завершить принудительно — сначала предупредите пользователей, чтобы они сохранили данные.

После завершения работ обязательно снимите блокировку и проверьте, что пользователи могут войти. Распространённая ошибка — забыть снять блокировку в пятницу вечером, из-за чего в понедельник утром работа организации встаёт.

Проверка результата и типичные ошибки

Любую настройку запрета нужно проверять под учётной записью реального пользователя, а не администратора: у полных прав ограничения часто не срабатывают, и создаётся ложное впечатление, что запрет не работает. Создайте тестовый документ в закрытом периоде до установки даты запрета, затем попробуйте его изменить, перепровести и пометить на удаление.

Контрольные точки

Как проверить результат

Изменение документа закрытого периода обычным пользователем
Норма

Система выдаёт сообщение о дате запрета и не даёт записать документ

Тревожный признак

Документ сохраняется без предупреждений — дата запрета не включена или у пользователя есть обходящие права

Попытка создать документ задним числом до даты запрета
Норма

Запись отклоняется с сообщением о запрете

Тревожный признак

Документ проводится — проверьте, распространяется ли запрет на этот раздел данных

Права пользователя с профилем «только просмотр»
Норма

Кнопки «Создать» и «Записать» недоступны, документы открываются на чтение

Тревожный признак

Редактирование доступно — у пользователя есть второй профиль с правами на изменение

Работа обменов и загрузок после установки запрета
Норма

Обмены выполняются по правилам, закрытые данные не затираются

Тревожный признак

Загрузка изменяет документы закрытого периода — нужна настройка правил обмена

Типичные ошибки
01
Установка даты запрета без проверки обменов — загрузка из другой базы продолжает менять закрытые документы
02
Проверка запрета под администратором — у полных прав ограничения не действуют, и ошибка всплывает только у пользователей
03
Снятие прав в одной роли при наличии второй роли с теми же правами — итоговый доступ не меняется
04
Использование даты запрета вместо прав: пользователь не может править вчерашний документ, но свободно редактирует сегодняшний, хотя по задаче это должно быть запрещено
05
Доработка типового модуля вместо расширения — после обновления конфигурации проверки исчезают
06
Блокировка сеансов без предупреждения пользователей — потеря несохранённых данных и конфликты

Частые вопросы

Можно ли запретить редактирование только одного вида документов?

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

Почему дата запрета не срабатывает у некоторых пользователей?

Наиболее вероятные причины: у пользователя назначены полные права или специальное право на изменение данных после даты запрета; для пользователя задана индивидуальная дата, отличающаяся от общей; изменение происходит через обмен данными, который не учитывает запрет. Проверьте состав профилей пользователя и настройки индивидуальных дат.

Как дать бухгалтеру возможность править закрытый период временно?

Не снимайте общую дату запрета — задайте для этого пользователя индивидуальную дату запрета или временно назначьте профиль с правом изменения данных после даты запрета. После завершения правок верните настройки и перепроверьте отчётность за период.

Запрещает ли дата запрета пометку удаления документа?

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

Можно ли запретить редактирование без доработки конфигурации?

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

Итог

Что важно запомнить

Закрытие периодов выполняется датой запрета изменения данных, ограничение сотрудников — профилями групп доступа и ролями, особые условия — проверками в модулях через расширение. Права в 1С складываются: достаточно одной разрешающей роли. Всегда проверяйте результат под учётной записью обычного пользователя и не забывайте про каналы обмена данными.