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