Запрет редактирования документов в 1С:Предприятие по дате — критически важная настройка для бухгалтеров, аудиторов и администраторов систем. Она защищает данные от случайных или умышленных изменений после закрытия периода, обеспечивает достоверность отчетности и соответствие законодательству (например, ст. 9 Федерального закона №402-ФЗ о бухучете). Однако в стандартном интерфейсе 1С 8.3 эта функция не всегда очевидна: её можно настроить как через типовой функционал, так и программно.
В этой статье разберем все возможные способы — от ручных настроек в Администрировании до написания кода на встроенном языке. Особое внимание уделим нюансам для разных конфигураций (1С:Бухгалтерия, 1С:Управление торговлей, 1С:Зарплата и управление персоналом) и типичным ошибкам, из-за которых запрет может не сработать. Если вы администрируете базу или отвечаете за закрытие месяца — сохраните эту инструкцию в закладки.
1. Запрет редактирования через «Регламентированные отчеты» (самый простой способ)
Этот метод подходит для 1С:Бухгалтерии 3.0 и аналогичных конфигураций, где есть раздел Регламентированные отчеты. Он не требует прав администратора и работает на уровне пользовательских ролей.
Алгоритм:
- 📌 Откройте раздел
Отчеты → Регламентированные отчеты. - 🔧 Выберите пункт
Настройка запрета редактирования(в некоторых версиях —Закрытие периода). - 📅 Укажите дату, до которой редактирование разрешено (например,
31.12.2023). - 🔒 Сохраните настройки и перезапустите сеанс 1С.
Важно: этот способ блокирует изменение только бухгалтерских документов (счета-фактуры, платежки, накладные). Для торговых операций или кадровых документов потребуются другие методы (см. следующий раздел).
Если пункт Настройка запрета редактирования отсутствует в меню, проверьте, включена ли функциональная опция Регламентированный учет в настройках программы (Администрирование → Функциональность).
| Конфигурация 1С | Путь к настройке запрета | Какие документы блокирует |
|---|---|---|
| 1С:Бухгалтерия 3.0 | Отчеты → Регламентированные отчеты → Настройка запрета |
Бухгалтерские документы, операции, проводки |
| 1С:Управление торговлей 11 | Администрирование → Закрытие периода |
Заказы, реализации, поступления |
| 1С:Зарплата и управление персоналом 3.1 | Настройки → Закрытие месяца |
Начисления, больничные, кадровые приказы |
2. Настройка через «Закрытие периода» (для торговых и складских документов)
В конфигурациях 1С:Управление торговлей или 1С:ERP запрет редактирования настраивается через механизм Закрытие периода. Здесь можно гибко указать даты для разных типов документов (например, заблокировать изменение реализаций, но оставить открытыми заказы покупателей).
Пошаговая инструкция:
- Перейдите в
Администрирование → Закрытие периода. - Выберите вкладку
Настройки запрета редактирования. - Добавьте новую запись, указав:
- 📋 Тип документа (например,
Реализация товаров и услуг), - 📅 Дата запрета (включительно),
- 🔐 Права доступа (кто может редактировать после блокировки).
- 📋 Тип документа (например,
- Сохраните и выполните команду
Обновить настройки. - 👤 Откройте
Администрирование → Пользователи и права. - 🔑 Выберите роль (например,
Бухгалтер) или конкретного пользователя. - 📝 Перейдите на вкладку
Права на данныеи добавьте ограничение по дате:Дата <= "31.12.2023" - 🔄 Примените изменения и перезапустите сеанс.
- 📄 В модуле объекта документа (для блокировки конкретного типа),
- 📂 В общем модуле (для глобальных правил),
- 🔧 В обработке
ПередЗаписью(для гибкой логики). - Перейдите в
Администрирование → Версионирование данных. - Активируйте флажок
Использовать версионирование. - Настройте правила для документов:
- 📅 Укажите дату, с которой начинается контроль версий,
- 🔄 Выберите режим блокировки (
Запрет редактированияилиУведомление), - 📋 Определите, какие поля будут отслеживаться.
- Сохраните настройки и выполните регламентное задание
Обновление версий. - 🔹 Права пользователя на роль
Администратор(она игнорирует все блокировки), - 🔹 Наличие нетиповой обработки, которая сбрасывает дату документа при записи,
- 🔹 Корректность указателя даты в настройках (иногда сбивается при обновлении конфигурации).
- Создайте тестовый документ с датой до запрета (например,
30.12.2023). - Попробуйте изменить его реквизиты (номенклатуру, сумму, контрагента).
- Проверьте реакцию системы:
- ✅ Если появляется сообщение
"Редактирование запрещено"— настройка сработала. - ❌ Если документ сохраняется без предупреждений — ищите ошибку в настройках (см. раздел 6).
- ✅ Если появляется сообщение
- Повторите тест под разными пользователями (с правами бухгалтера, менеджера, администратора).
- Временно измените дату запрета в настройках (раздел 1 или 2).
- Войдите в систему под пользователем с ролью
Администратор— она игнорирует все блокировки. - Если запрет программный (раздел 4), временно закомментируйте код в модуле документа.
- Сбросились настройки в разделе
Закрытие периода(проверьте раздел 2). - Изменилась структура метаданных, и программный запрет (раздел 4) стал неактуален.
- Обновились ролевые настройки (раздел 3), и права сбросились.
Предупреждение: если в вашей базе используются нетиповые документы (созданные через конфигуратор), их нужно добавлять в список запрета вручную. В противном случае они останутся доступны для редактирования.
3. Запрет через права пользователей (для администраторов)
Этот метод универсален и работает во всех конфигурациях 1С:Предприятие 8.3. Он позволяет гибко настроить доступ к документам по датам для отдельных ролей или пользователей. Например, можно разрешить главбуху редактировать документы за прошлый год, а остальным сотрудникам — только за текущий месяц.
Как настроить:
Нюанс: этот способ требует понимания механизма ролей в 1С. Если вы ошибётесь с настройкой, пользователи могут потерять доступ ко всем документам, а не только к устаревшим. Рекомендуем сначала протестировать настройку в тестовой базе.
Что делать, если после настройки прав документы пропали из списка?
Это означает, что вы установили слишком жесткое ограничение. Вернитесь в настройки роли и проверьте условие. Например, вместо Дата <= "31.12.2023" могло быть указано Дата < "01.01.2026", что исключает все документы 2023 года. Исправьте условие и обновите кэш метаданных (Конфигуратор → Администрирование → Обновить кэш метаданных).
4. Программный запрет редактирования (для разработчиков)
Если типовой функционал не подходит (например, нужно заблокировать документы по сложному условию или интегрировать запрет с внешней системой), можно написать обработчик на встроенном языке 1С. Этот метод требует доступа к Конфигуратору и знания основ программирования.
Пример кода для модуля документа (например, РеализацияТоваровУслуг):
Процедура ПриЗаписи(Отказ)
Если Дата >= '20260101' И НЕ Пользователь.ЭтоАдминистратор() Тогда
Сообщить("Редактирование документов за 2026 год запрещено!", СтатусСообщения.Важное);
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
Где размещать код:
Внимание: программный запрет обходится через режимы Отладчик или Конфигуратор. Чтобы полностью исключить обход, комбинируйте этот метод с настройкой прав (раздел 3).
Убедитесь, что код добавлен в правильный модуль|Протестируйте запрет на копии базы|Проверьте права пользователей на обход блокировки|Документируйте изменения в конфигурации-->
5. Использование механизма «Версионирование данных» (для ERP-систем)
В 1С:ERP и некоторых отраслевых решениях есть встроенный механизм Версионирование данных, который позволяет не только запретить редактирование, но и отслеживать историю изменений. Это полезно для аудита и восстановления данных после ошибок.
Как включить:
Преимущество этого метода — возможность восстановить предыдущую версию документа даже после его изменения. Однако он требует дополнительных ресурсов сервера и регулярного архивирования.
Версионирование данных — единственный способ отменить ошибочные изменения в документах после их сохранения. В отличие от простого запрета редактирования, он позволяет восстановить исторические данные.
6. Типичные ошибки и как их избежать
Даже опытные администраторы 1С сталкиваются с проблемами при настройке запрета редактирования. Вот самые распространённые ошибки и способы их решения:
⚠️ Внимание: Если после настройки запрета документы всё равно редактируются, проверьте:
| Ошибка | Причина | Решение |
|---|---|---|
| Запрет не работает для новых документов | Дата запрета указана раньше текущей даты системы | Обновите дату в настройках или синхронизируйте время на сервере |
| Документы пропали из списка | Неправильно настроены права на данные (раздел 3) | Проверьте условия ограничения в ролях пользователей |
| Запрет срабатывает с задержкой | Не обновлен кэш метаданных | Выполните Обновить кэш в конфигураторе |
Если вы используете распределённую информационную базу (РИБ), настройку запрета нужно дублировать на всех узлах. В противном случае пользователи смогут обойти блокировку, подключившись к другому узлу.
7. Как проверить, что запрет работает корректно
После настройки обязательно протестируйте запрет редактирования, чтобы избежать проблем при закрытии периода. Вот чек-лист для проверки:
Попробуйте отредактировать документ старше указанной даты|Проверьте доступ к документам под разными ролями (бухгалтер, администратор, менеджер)|Убедитесь, что новые документы создаются без ошибок|Протестируйте печать и проводку заблокированных документов-->
Для комплексного теста:
Важно: в некоторых конфигурациях (например, 1С:Комплексная автоматизация) запрет редактирования может конфликтовать с механизмом Управление доступом. Если после настройки блокировки документы перестали отображаться в отчётах, проверьте настройки Ролей доступа в разделе Администрирование → Настройки пользователей и прав.
FAQ: Частые вопросы по запрету редактирования в 1С
Можно ли запретить редактирование только для определенных пользователей?
Да, для этого используйте настройку прав доступа (раздел 3). Создайте отдельную роль (например, Бухгалтер_Архив) и назначьте ей ограничение по дате. Пользователи с этой ролью не смогут редактировать документы старше указанной даты, а остальные — смогут.
Как разблокировать документ, если запрет мешает исправить ошибку?
Есть три способа:
После исправления ошибки не забудьте вернуть настройки запрета!
Почему после обновления 1С запрет перестал работать?
Это типичная проблема при обновлении конфигурации. Причины:
Решение: сравните текущие настройки с резервной копией базы до обновления и восстановите изменения.
Можно ли настроить запрет редактирования по нескольким датам (например, запретить изменять документы за 2022 и 2026 годы, но оставить 2023 открытым)?
Да, но способы зависят от конфигурации:
- В 1С:Бухгалтерии это делается через
Регламентированные отчеты(раздел 1) — добавьте несколько правил с разными датами. - В 1С:ERP используйте
Версионирование данных(раздел 5) с сложными условиями. - Для гибких правил напишите программный код (раздел 4) с проверкой диапазонов дат.
Как запретить редактирование не по дате документа, а по дате проведения?
Стандартные настройки 1С блокируют документы по дате документа, а не по дате проведения. Чтобы запретить редактирование по дате проведения, нужно:
- Использовать программный метод (раздел 4) с проверкой поля
ДатаПроведения. - Либо создать обработку, которая будет автоматически переносить дату документа на дату проведения перед проверкой запрета.
Пример кода для модуля документа:
Процедура ПриЗаписи(Отказ)
Если ДатаПроведения >= '20260101' Тогда
Сообщить("Редактирование документов с датой проведения 2026 года запрещено!");
Отказ = Истина;
КонецЕсли;
КонецПроцедуры