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

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

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

Как в 1С 8.3 запретить редактирование документов и справочников: права ролей, дата запрета, RLS, блокировки. Пошаговые инструкции, типичные ошибки, FAQ.

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

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

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

Способы запрета редактирования: что выбрать под свою задачу

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

Основные механизмы:

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

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

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

Запрет через права и роли пользователей

Самый надёжный способ — убрать у пользователя права на изменение объектов. В платформе право «Изменение» разрешает запись объекта, «Интерактивное изменение» — правку через формы, «Добавление» — создание новых элементов. Если оставить только «Чтение» и «Просмотр», пользователь откроет документ, посмотрит его, но кнопки записи и проведения будут недоступны.

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

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

Дата запрета изменения данных: закрытие периода

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

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

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

Как проверить, что запрет работает

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

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

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

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

Проведение документа закрытой датой
Норма

Сообщение «Дата запрета изменения данных», запись не выполняется

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

Документ проводится без предупреждений

Открытие документа пользователем без права изменения
Норма

Форма в режиме просмотра, кнопки записи недоступны

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

Поля доступны для ввода, документ сохраняется

Попытка правки через групповую обработку
Норма

Отказ с сообщением о нарушении прав доступа

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

Реквизиты изменяются массово без сообщений

Работа пользователя с полными правами
Норма

Администратор редактирует всё без ограничений

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

Даже администратор получает отказ — значит, программный запрет написан без исключений

Типичные ошибки и ограничения

Чаще всего запрет «не работает» не из-за сбоя платформы, а из-за неполной настройки. Ниже — ситуации, которые встречаются регулярно.

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

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

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

Итог

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

Закрытый период защищайте датой запрета изменения данных, режим «только просмотр» — правами ролей без «Изменения» и «Добавления», выборочные запреты — через RLS или проверку в «ПередЗаписью». Любую настройку проверяйте под учётной записью реального пользователя и помните: полные права отменяют большинство ограничений.

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

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

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

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

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

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

Да. Печать работает при наличии прав «Чтение» и «Просмотр», которые не зависят от права «Изменение». Достаточно снять у роли права на добавление и изменение — пользователь сможет открывать документы, просматривать и выводить на печать, но не сохранять изменения.

Как временно разрешить правку закрытого периода одному сотруднику?

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

Действует ли запрет редактирования при загрузке данных через обмен?

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