Администрирование · 11 мин
Как запретить изменять документы в 1С
Разбираем способы запретить изменение документов в 1С: права ролей, дата запрета редактирования, блокировки и проверка результата. Пошаговые инструкции для администратора.
Запрет на изменение документов — одна из базовых задач защиты учётных данных в 1С. Закрытый период, случайное редактирование проведённой накладной, «тихое» перепроведение прошлого квартала — всё это приводит к расхождениям в отчётности, сбоям в обменах и вопросам при проверках. В типовых конфигурациях есть несколько независимых механизмов защиты, и правильный результат достигается их комбинацией, а не одной настройкой.
Основные инструменты: роли и права доступа, дата запрета изменения данных, функциональные опции и блокировки, а в нетиповых случаях — расширения и подписки на события. Выбор зависит от того, кого нужно ограничить (всех или отдельных пользователей), что именно защищаем (весь период или конкретные документы) и должна ли остаться возможность обхода для главного бухгалтера.
Ниже разобраны рабочие способы для типовых конфигураций на управляемых формах (Бухгалтерия предприятия, Управление торговлей, ERP, ЗУП) с указанием, где искать настройку, как проверить результат и какие ошибки встречаются чаще всего.
Определите, что именно нужно запретить
Прежде чем менять настройки, зафиксируйте задачу в конкретных терминах. «Запретить изменять документы» может означать разное: запрет редактирования закрытого периода для всех, запрет изменения проведённых документов для менеджеров, запрет изменения конкретного вида документов (например, «Реализация товаров и услуг») или запрет пометки на удаление. Для каждой задачи оптимальный механизм свой.
Также важно понять, есть ли у пользователей, которых ограничивают, административные права. Полные права обходят большинство программных ограничений, поэтому первый шаг любой схемы защиты — убедиться, что роль «Полные права» выдана только администратору и при необходимости руководителю, который понимает последствия.
Как выбрать механизм
Дата запрета изменения данных — основной инструмент
Дата запрета изменения данных (в старых версиях — «дата запрета редактирования») блокирует создание и изменение документов раньше заданной даты для всех пользователей без специального права. В типовых конфигурациях на БСП настройка находится в разделе «Администрирование» → «Поддержка и обслуживание» → «Регламентные операции» → флажок «Даты запрета изменения данных» → ссылка «Настроить».
В настройке можно задать общую дату для всех пользователей, отдельные даты по организациям, по разделам учёта и по конкретным пользователям. Удобная возможность — «динамическая» дата: вместо фиксированного числа указывается правило, например «конец прошлого квартала» или «конец прошлого месяца», и граница сдвигается автоматически, не требуя ручного переноса после каждого закрытия периода.
Обход запрета возможен: пользователю или группе можно выдать право «Изменение данных до даты запрета» либо установить для него индивидуальную, более раннюю дату. Это стандартный приём для главного бухгалтера — общий запрет действует, но у него остаётся возможность внести исправления по согласованию.
- 1Откройте Администрирование → Поддержка и обслуживание → Регламентные операции
- 2Включите флажок «Даты запрета изменения данных» и перейдите по ссылке «Настроить»
- 3Задайте общую дату или выберите динамическое правило (например, конец прошлого квартала)
- 4При необходимости задайте исключения для отдельных пользователей или разделов учёта
- 5Запишите настройку и проверьте под обычным пользователем, что документ прошлого периода не записывается
Ограничение прав через профили и роли
Если задача — не закрыть период, а лишить конкретных сотрудников возможности менять чужие или определённые документы, работайте с правами. В типовых конфигурациях права назначаются через «Профили групп доступа» (Администрирование → Настройки пользователей и прав → Профили групп доступа). Пользователь включается в группу доступа, а группе назначается профиль с набором разрешённых ролей.
Для запрета изменения конкретного вида документов создайте копию типового профиля и уберите из неё роли, дающие право добавления и изменения нужного объекта, оставив роли на чтение. Например, менеджеру можно оставить просмотр реализаций, но убрать возможность их редактировать после проведения. Важно: снятие только одной роли часто недостаточно — право на изменение может приходить из нескольких ролей, поэтому проверяйте фактический результат под учётной записью пользователя.
Отдельно стоит убрать у рядовых пользователей право интерактивного удаления и, где это критично, право отмены проведения. Это защищает от самых разрушительных действий: удаления документа вместо корректной пометки и перепроведения цепочки документов задним числом.
Точечные запреты: расширения и подписки на события
Когда типовых механизмов не хватает — например, нужно запретить изменение документа после установки определённого статуса, при совпадении организации или при сумме выше порога — используется доработка. Рекомендуемый способ без снятия конфигурации с поддержки — расширение конфигурации с обработчиком «ОбработкаПроверкиЗаполнения» или «ПередЗаписью» для нужного объекта.
В обработчике проверяется условие и при его выполнении вызывается отказ от записи с понятным сообщением пользователю. Например, запретить запись реализации, если по ней уже выставлен счёт-фактура и период закрыт. Классический вариант — подписка на событие «ПередЗаписью» документа с аналогичной логикой.
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если Не ЭтоНовый() И Дата < ДатаЗапрета Тогда
Отказ = Истина;
ВызватьИсключение "Изменение документа запрещено: период закрыт";
КонецЕсли;
КонецПроцедурыТакие доработки делайте через расширение, а не прямым изменением конфигурации: расширение проще сопровождать при обновлениях, а при типовом обновлении изменённый типовой модуль может затереться или заблокировать обновление. После внедрения проверьте не только интерактивную запись, но и проведение через обработки, обмены и загрузку данных — программная запись тоже проходит через события, и обработчик может неожиданно заблокировать регламентные операции.
Проверка, что запрет реально работает
После настройки обязательно проверьте результат из-под учётной записи ограниченного пользователя, а не администратора. Тестовый сценарий минимум такой: попытка изменить документ закрытого периода, попытка перепровести документ текущего периода, попытка пометить документ на удаление, попытка создать документ задним числом.
Дополнительно проверьте неочевидные пути изменения: копирование документа с последующим изменением даты, загрузку через обработки, обмен данными с другой базой, корректировочные документы. Нередко прямое редактирование закрыто, но документ можно изменить косвенно — через ввод на основании или синхронизацию.
Как проверить результат
Ошибка записи с сообщением о дате запрета
Документ сохраняется без предупреждений
Действие недоступно или отклонено
Документ помечается на удаление
Служебный обмен проходит, ручное редактирование закрыто
Обмен падает с ошибками либо обмен изменяет запрещённые документы
Может редактировать закрытый период, действия видны в журнале
Прав нет ни у кого либо обход есть у всех
Типичные ошибки и ограничения
Самая частая ошибка — установить дату запрета и считать задачу решённой, забыв про пользователей с полными правами и про обмены. Вторая по частоте — снять у пользователя одну роль, тогда как право изменения приходит из другой, и сделать вывод о защите без фактической проверки. Третья — доработать запрет записи напрямую в конфигурации и потерять изменение при первом же обновлении.
Учитывайте и ограничения: дата запрета не защищает от изменения документов текущего периода, а права не защищают от администратора. Для контроля действий тех, кто ограничения обходит, используйте журнал регистрации и версионирование объектов (в типовых — «Администрирование» → «Поддержка и обслуживание» → настройка версионирования): оно не запрещает изменение, но позволяет увидеть, кто и что поменял, и восстановить прежнюю версию.
Что важно запомнить
Закрытый период защищает дата запрета изменения данных, действия сотрудников — профили и роли, сложные условия — расширение с обработчиком записи. Любую настройку проверяйте под учётной записью ограниченного пользователя и не забывайте про обмены и обходные пути изменения документов.
Частые вопросы
Можно ли запретить изменение только проведённых документов, оставив редактирование черновиков?
Типовой ролью такое разделение не настраивается: право изменения распространяется на документ независимо от проведения. Решается расширением с обработчиком «ПередЗаписью», который разрешает запись непроведённого документа и отклоняет изменение ранее проведённого, либо через дату запрета, если черновики всегда в текущем периоде.
Почему пользователь всё равно может менять документы, хотя дата запрета установлена?
Наиболее вероятные причины: у пользователя полные права, ему выдано право на изменение данных до даты запрета, для него задана индивидуальная более ранняя дата либо документ изменяется через обмен от имени служебного пользователя. Проверьте состав ролей и настройки исключений в датах запрета.
Как узнать, кто изменил документ, если запрет ещё не настроен?
Используйте журнал регистрации (отбор по событию «Данные. Изменение» и по пользователю) и включите версионирование объектов — оно сохраняет историю версий документов с указанием автора изменений и позволяет вернуть предыдущую версию.
Запретит ли дата запрета создание документов задним числом?
Да, дата запрета блокирует не только изменение, но и создание документов с датой раньше установленной границы, включая запись и проведение. Это касается и интерактивного ввода, и большинства программных способов записи.
Что делать, если после настройки запрета перестал работать обмен с другой базой?
Проверьте, под каким пользователем выполняется обмен, и добавьте для него исключение: отдельную дату запрета или право на изменение данных до даты запрета. Если запрет реализован доработкой, добавьте в условие обработчика проверку на служебного пользователя обмена или на параметр «ОбменДанными.Загрузка».
Можно ли запретить изменение документов только по одной организации в многофирменной базе?
Да, в настройке дат запрета изменения данных можно задать отдельные даты по организациям. Для запретов по правам на уровне записей используется механизм RLS через профили групп доступа, где доступ ограничивается по значениям организации.