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