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