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

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

Как в 1С сделать запрет на редактирование документов и данных

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

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

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

Ниже разобраны основные способы с пошаговыми действиями, проверкой результата и типичными ошибками. Инструкции ориентированы на типовые конфигурации на платформе 1С:Предприятие 8.3 (Бухгалтерия предприятия, Управление торговлей, ERP, ЗУП) — в них механизмы реализованы через Библиотеку стандартных подсистем.

Определите, что именно нужно запретить

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

От ответов зависит инструмент. Дата запрета изменения работает «в лоб» по периоду и не различает статусы документов. Роли разграничивают права по видам объектов, но не по конкретным записям. RLS ограничивает доступ к отдельным записям по условию, но требует аккуратной настройки и влияет на производительность. Программные проверки дают максимальную гибкость, но требуют участия разработчика.

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

Как выбрать способ запрета

Нужно закрыть прошлый период для всех или части пользователейУстановите дату запрета изменения данных
Нужно запретить вид документов или справочник целиком для группы пользователейНастройте профили групп доступа и роли
Нужно запретить редактирование чужих документов или по организации/складуИспользуйте ограничение доступа на уровне записей (RLS)
Запрет зависит от условия: документ оплачен, согласован, выгруженРеализуйте проверку в расширении конфигурации

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

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

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

Порядок установки даты запрета
  1. 1
    Откройте Администрирование → Пользователи и права → Даты запрета изменения данных
  2. 2
    Установите флажок использования дат запрета изменения данных
  3. 3
    Выберите способ: общая дата для всех или по пользователям/организациям
  4. 4
    Укажите дату или относительное правило (конец прошлого месяца, квартала, года)
  5. 5
    Запишите настройку и проверьте на тестовом пользователе без полных прав

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

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

Настройте права через роли и профили групп доступа

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

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

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

Ограничьте доступ к конкретным записям через RLS

Ограничение доступа на уровне записей (RLS) позволяет запретить редактирование не всех документов вида, а только отобранных по условию: по организации, складу, подразделению, контрагенту, ответственному. Типичный сценарий — менеджер видит и правит только свои документы или документы своей группы контрагентов.

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

Учтите ограничения. RLS заметно усложняет запросы к базе и может снизить производительность на больших объёмах данных, особенно при сложных условиях. Кроме того, RLS в первую очередь ограничивает доступ к записям при чтении и изменении через интерфейс и запросы с учётом прав; фоновые задания и обмены под полными правами его обходят. Не используйте RLS как единственную защиту от обменов данными.

Запретите редактирование по условию через расширение

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

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

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

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

Заблокируйте отдельные объекты и реквизиты

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

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

Пользователь правит закрытый периодДата запрета не действует

Есть ли у него полные права или исключение в настройке дат запрета

Запрет по роли не сработалПрава сложились

Все группы доступа, в которые входит пользователь

Изменения приходят из обменаМеханизмы прав обойдены

Настройки синхронизации и регистрация изменений в узлах

Запрет мешает регламентным операциямСлишком жёсткая настройка

Исключения для служебных пользователей и фоновых заданий

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

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

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

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

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

Форма открывается на просмотр или запись блокируется с сообщением о дате запрета

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

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

Пометка удаления документа прошлого периода
Норма

Отказ с сообщением о запрете изменения данных

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

Документ помечается на удаление

Работа пользователя с исключением (главный бухгалтер)
Норма

Редактирование доступно согласно настройке

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

Запрет действует и на исключения — ошибка в настройке по пользователям

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

Синхронизация проходит без ошибок

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

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

Типичные ошибки
01
Проверка запрета под администратором: полные права игнорируют дату запрета, и настройка кажется нерабочей или, наоборот, рабочей
02
Запрет только на форме без серверной проверки: объект меняется через групповую обработку или обмен
03
Одновременное членство пользователя в нескольких группах доступа: разрешение в одной группе перекрывает запрет в другой
04
Отсутствие исключений для служебных операций: закрытие месяца и регламентные задания начинают падать с ошибками
05
Включение RLS без тестирования производительности: отчёты и списки начинают открываться заметно медленнее

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

Итог

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

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

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

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

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

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

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

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

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

Запретит ли дата запрета изменения загрузку данных из обмена?

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

Как временно открыть закрытый период для корректировки?

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

Влияет ли запрет редактирования на отчёты?

Дата запрета изменения и роли на отчёты не влияют — данные остаются доступными для чтения. А вот RLS ограничивает и чтение: пользователь увидит в отчётах только разрешённые ему записи, что нужно учитывать при сверке данных между сотрудниками.