Заполнение дат в 1С:Предприятие — казалось бы, простая задача, но на практике она таит множество подводных камней. От корректности ввода даты зависят отчетность, расчеты и даже работа бизнес-процессов. Ошибка в одном символе может привести к сбою в бухгалтерских проводках, неправильному начислению зарплаты или проблемам с налоговыми декларациями.

В этой статье мы разберем все способы заполнения дат в — от ручного ввода до программной автоматизации, рассмотрим типичные ошибки и их последствия, а также дадим практические советы для бухгалтеров, кадровиков и разработчиков. Особое внимание уделим нюансам работы с датами в разных конфигурациях (1С:Бухгалтерия, 1С:Зарплата и Управление Персоналом, 1С:Управление Торговлей) и версиях платформы.

Если вы регулярно сталкиваетесь с проблемами при вводе дат или хотите оптимизировать этот процесс, материал будет полезен. Мы также затронем вопросы валидации дат, работы с периодом и особенности хранения дат в базе данных .

Базовые форматы дат в 1С: что нужно знать

Платформа 1С:Предприятие поддерживает несколько форматов отображения и ввода дат, которые зависят от настроек региональных стандартов и версии конфигурации. Основной внутренний формат хранения даты — это количество дней, прошедших с 1 января 1 года (так называемая "нулевая дата"). Однако пользователю доступны более привычные форматы:

  • 📅 Краткий формат: ДД.ММ.ГГГГ (например, 15.05.2026) — самый распространенный вариант в российских конфигурациях.
  • 📆 Длинный формат: ДД ММММ ГГГГ г. (например, 15 мая 2026 г.) — используется в печатных формах документов.
  • 🕒 Формат с временем: ДД.ММ.ГГГГ ЧЧ:ММ:СС (например, 15.05.2026 14:30:00) — актуален для документов, где важно время создания.

Формат по умолчанию задается в настройках пользователя (Сервис → Параметры → Заполнение → Формат даты). Однако некоторые конфигурации (например, 1С:ERP) могут игнорировать пользовательские настройки и использовать фиксированный формат для критичных операций, таких как закрытие месяца или формирование регламентированной отчетности.

Важно понимать, что строго контролирует корректность вводимых дат. Например, попытка ввести 31.02.2026 или 32.05.2026 приведет к ошибке. Система также автоматически корректирует даты при переходе на зимнее/летнее время (если это задано в региональных настройках).

📊 Какой формат даты вы используете чаще всего?
Краткий (ДД.ММ.ГГГГ)
Длинный (15 мая 2026 г.)
С временем (ДД.ММ.ГГГГ ЧЧ:ММ)
Не знаю, что это

Ручной ввод даты: пошаговая инструкция

Самый простой способ заполнить дату в — ввести её вручную в соответствующее поле документа или справочника. Рассмотрим процесс на примере создания документа "Поступление товаров и услуг" в конфигурации 1С:Управление Торговлей 11:

  1. Откройте раздел Покупки → Поступления → Поступление товаров и услуг.
  2. Нажмите Создать или выберите существующий документ для редактирования.
  3. Перейдите к полю Дата (обычно оно расположено в шапке документа рядом с номером).
  4. Введите дату в формате ДД.ММ.ГГГГ. Например, 25.05.2026.
  5. Нажмите Enter или кликните мышью вне поля для сохранения.

Если вы ввели дату в неверном формате (например, 25-05-2026 или 25/05/2026), система может либо автоматически скорректировать её, либо выдать ошибку. В некоторых конфигурациях (например, 1С:Бухгалтерия 3.0) допускается ввод даты через пробел: 25 05 2026.

Для ускорения работы можно использовать горячие клавиши:

  • 🔠 Ctrl + ; — вставить текущую дату в поле.
  • 🔠 Ctrl + Shift + ; — вставить текущее время (если поле поддерживает формат с временем).
  • 🔠 F4 — открыть календарь для выбора даты (работает не во всех конфигурациях).

Поле подсвечено зеленым (значит формат верный)|

Дата логически соответствует документу (не из будущего, не до даты создания организации)|

При сохранении документа нет ошибок валидации|

Дата не попадает на выходной/праздник (если это критично для бизнес-процесса)-->

Обратите внимание: в некоторых документах (например, "Авансовый отчет") дата может автоматически подставляться из связанных документов (например, из "Расходного кассового ордера"). В таких случаях ручное изменение даты может привести к расхождению данных.

Автоматическое заполнение даты: когда и как использовать

Ручный ввод даты не всегда удобен, особенно при работе с большими объемами документов. предоставляет несколько механизмов для автоматического заполнения дат, которые экономят время и réduisent риск ошибок.

Самый простой способ — использование текущей даты. Во многих конфигурациях при создании нового документа поле Дата по умолчанию заполняется сегодняшним числом. Если это не так, можно:

  • 📅 Нажать кнопку Сегодня рядом с полем даты (если она есть в интерфейсе).
  • 🔄 Использовать горячие клавиши Ctrl + ;.
  • 🖱️ Дважды кликнуть по полю даты — в некоторых конфигурациях это вызывает календарь с текущей датой.

Более продвинутый механизм — автозаполнение даты на основе связанных документов. Например, в 1С:Бухгалтерия 3.0 при создании документа "Счет-фактура выданный" на основе "Реализации товаров" дата автоматически переносится из исходного документа. Это гарантирует согласованность данных и упрощает работу.

Для автоматизации повторяющихся операций можно использовать обработки или внешние отчеты. Например, обработка "Групповое изменение реквизитов" позволяет массово обновить даты в выбранных документах по заданному правилу (например, сдвинуть все даты на 1 день вперед).

💡

Если вам часто приходится вводить даты с фиксированным сдвигом (например, "через 3 дня от текущей"), создайте внешнюю обработку с кастомной логикой. Это сэкономит часы работы в месяц.

В конфигурациях с поддержкой бизнес-процессов (например, 1С:Документооборот) даты могут заполняться автоматически на этапах согласования. Например, дата выполнения задачи может рассчитываться как Дата начала + 2 рабочих дня.

Типичные ошибки при заполнении дат и как их избежать

Ошибки в датах — одна из самых распространенных причин сбоев в . Они могут приводить к неправильному расчету налогов, зарплаты, амортизации и других критичных показателей. Рассмотрим наиболее частые проблемы и способы их предотвращения.

1. Дата из будущего

Если в документе указана дата, которая еще не наступила (например, 30.05.2026 при текущей дате 25.05.2026), это может блокировать проведение документа или приводить к ошибкам в отчетах. Особенно критично это для документов, влияющих на остатки (например, "Оприходование товаров" или "Списание материалов").

2. Дата до даты создания организации

Ввод документа с датой раньше, чем дата регистрации компании в , приведет к ошибке. Например, если организация создана 01.01.2023, то документ от 15.12.2022 система не примет.

3. Несоответствие дат в связанных документах

Если дата в документе "Поступление товаров"10.05.2026, а в связанном "Счете-фактуре"12.05.2026, это может вызвать проблемы при проверке налоговой или формировании книги покупок.

4. Некорректный формат даты

Ввод даты в формате ГГГГ-ММ-ДД (например, 2026-05-15) вместо ДД.ММ.ГГГГ приведет к ошибке, даже если дата логически верна. не распознает альтернативные форматы без дополнительных настроек.

5. Дата попадает на выходной или праздник

В некоторых конфигурациях (например, 1С:Зарплата и Управление Персоналом) даты выплаты зарплаты или аванса не должны приходиться на выходные. Если это происходит, документ может не провестись или потребует ручного подтверждения.

Ошибка Причина Последствия Как исправить
Дата из будущего Опечатка или логическая ошибка Блокировка проведения, ошибки в отчетах Проверить дату, исправить на текущую или прошедшую
Несоответствие дат в связанных документах Ручное изменение даты без корректировки связанных документов Ошибки в книге покупок/продаж, проблемы при проверке ФНС Использовать механизм "Исправить даты в связанных документах"
Некорректный формат Ввод даты в нестандартном формате (например, через дефис) Ошибка валидации, невозможность сохранения документа Использовать формат ДД.ММ.ГГГГ или календарь
Дата до даты создания организации Ошибка при вводе исторических данных Системная ошибка, невозможность сохранения Проверить дату регистрации организации в справочнике

В конфигурациях с включенным контролем последовательности дат (например, 1С:Бухгалтерия КОРП) система может блокировать проведение документа, если его дата раньше даты последнего закрытого периода. Это сделано для предотвращения изменений в уже сданной отчетности.

Работа с датами в программном коде (для разработчиков)

Если вы разрабатываете или дорабатываете конфигурации , работа с датами на языке 1С:Предприятие имеет свои особенности. Дата в коде представляется типом Дата, который поддерживает различные методы для манипуляции и проверки.

Основные операции с датами в коде:

  • 📅 Создание даты:
  • ТекущаяДата = ТекущаяДата(); // возвращает текущую дату и время
    

    ДатаДокумента = Дата(2026, 5, 15); // создает дату 15.05.2026

  • 🔢 Форматирование даты:
  • СтрокаДата = Формат(ДатаДокумента, "ДФ=dd.MM.yyyy"); // "15.05.2026"
  • Арифметика дат:
  • НоваяДата = ДатаДокумента + 7; // добавляет 7 дней
    

    Разница = Дата2 - Дата1; // возвращает количество дней между датами

  • 🔍 Проверка дат:
  • Если ДатаДокумента > ТекущаяДата() Тогда
    

    Сообщить("Дата документа не может быть в будущем!");

    КонецЕсли;

При работе с датами в коде важно учитывать региональные настройки пользователя, так как они влияют на форматирование. Например, в некоторых конфигурациях может использоваться американский формат ММ/ДД/ГГГГ, что приведет к ошибкам при парсинге строк.

Для сравнения дат без учета времени используйте функцию НачалоДня():

Если НачалоДня(Дата1) = НачалоДня(Дата2) Тогда

// Даты совпадают (без учета времени)

КонецЕсли;

При работе с периодами (например, при формировании отчетов) удобно использовать конструкции вида:

НачалоМесяца = НачалоМесяца(ТекущаяДата());

КонецМесяца = КонецМесяца(ТекущаяДата());

Как избежать ошибок при работе с датами в коде?

1. Всегда проверяйте даты на корректность перед сохранением в базу.

2. Используйте тип `Дата` вместо строковых представлений, где это возможно.

3. Учитывайте временные зоны, если работаете с распределенными системами.

4. Тестируйте код на граничных значениях (например, переход на новый год, зимнее/летнее время).

5. Для длительных операций фиксируйте текущую дату в переменной, а не вызывайте `ТекущаяДата()` многократно — это может привести к расхождениям при выполнении транзакции.

При разработке отчетов или обработок, где требуется работа с датами, полезно использовать виртуальные таблицы (например, РегистрНакопления.ОстаткиТоваров.ОстаткиИОбороты) с указанием периода. Это ускорит выполнение запросов и уменьшит нагрузку на базу.

Особенности работы с датами в разных конфигурациях 1С

Разные конфигурации имеют свои нюансы работы с датами. Рассмотрим наиболее распространенные из них.

1. 1С:Бухгалтерия 3.0

В бухгалтерских конфигурациях даты критичны для формирования проводок и отчетности. Здесь действуют строгие правила:

  • 📊 Дата документа не может быть раньше даты последнего закрытого периода (настраивается в Администрирование → Настройки программы → Закрытие периода).
  • 📋 В документах "Поступление на расчетный счет" и "Списание с расчетного счета" дата должна совпадать с датой банковской выписки.
  • 📑 При формировании регламентированной отчетности (например, декларации по НДС) даты документов проверяются на логическую последовательность.

2. 1С:Зарплата и Управление Персоналом

В кадровых конфигурациях даты используются для расчета зарплаты, отпусков и больничных. Особенности:

  • 💰 Дата начисления зарплаты должна попадать в расчетный период (обычно с 1-го по 15-е или с 16-го по 30-е/31-е число).
  • 🏖️ Даты отпусков проверяются на пересечение с другими отпусками сотрудника.
  • 📅 Дата увольнения не может быть раньше даты приема на работу.

3. 1С:Управление Торговлей 11

В торговых конфигурациях даты влияют на остатки товаров, ценообразование и логистику:

  • 📦 Дата отгрузки в документе "Реализация товаров" должна быть не раньше даты поступления товара на склад.
  • 💲 Даты изменения цен (в документе "Установка цен номенклатуры") влияют на расчет себестоимости.
  • 🚚 Дата отгрузки в документе "Заказ покупателя" может автоматически рассчитываться на основе времени сборки и доставки.

4. 1С:ERP Управление предприятием

В ERP-системах даты интегрированы в бизнес-процессы и производственный календарь:

  • 🏭 Даты производственных заданий учитывают график работы цехов.
  • 📈 Даты плановых показателей (бюджетирование) могут блокироваться после утверждения.
  • 🔄 Даты в документах "Внутреннее потребление" синхронизируются с датами в "Заказах на производство".

В некоторых отраслевых решениях (например, 1С:МедФарм или 1С:Автосервис) даты имеют специфические проверки. Например, в медицинских конфигурациях дата оказания услуги не может быть позже даты оплаты по ОМС.

Периоды и интервалы дат: работа с диапазонами

В часто требуется работать не с отдельными датами, а с периодами (интервалами). Например, при формировании отчета за квартал или анализе продаж за год. Рассмотрим основные приемы работы с периодами.

1. Указание периода в отчетах

Большинство стандартных отчетов ("Оборотно-сальдовая ведомость", "Анализ продаж") позволяют задавать период в виде:

  • 📅 Фиксированный период: с 01.01.2026 по 31.03.2026.
  • 🔄 Относительный период: "Текущий месяц", "Предыдущий квартал", "Год к дате".
  • 📊 Произвольный период: выбор дат через календарь.

Для удобства в предусмотрены быстрые периоды, которые можно выбрать из выпадающего списка:

  • 📌 Сегодня
  • 📌 Вчера
  • 📌 Текущая неделя
  • 📌 Текущий месяц
  • 📌 Текущий квартал
  • 📌 Текущий год

2. Работа с периодами в коде

При программировании часто требуется получить начало или конец периода. Для этого используются функции:

НачалоМесяца = НачалоМесяца(ТекущаяДата()); // 01.05.2026

КонецМесяца = КонецМесяца(ТекущаяДата()); // 31.05.2026

НачалоКвартала = НачалоКвартала(ТекущаяДата()); // 01.04.2026 (для 2 квартала)

КонецГода = КонецГода(ТекущаяДата()); // 31.12.2026

3. Проверка попадания даты в период

Чтобы проверить, попадает ли дата в заданный интервал, используйте конструкцию:

Если ДатаДокумента >= НачалоПериода И ДатаДокумента <= КонецПериода Тогда

// Дата попадает в период

Иначе

// Дата вне периода

КонецЕсли;

4. Работа с рабочими и календарными днями

В некоторых конфигурациях (например, 1С:Зарплата) важно учитывать только рабочие дни. Для этого используйте функцию ДобавитьРабочиеДни():

ДатаОтгрузки = ТекущаяДата() + ДобавитьРабочиеДни(ТекущаяДата(), 5); // 5 рабочих дней вперед

Для проверки, является ли день рабочим, можно использовать:

Если Не Календарь.ЭтоРабочийДень(ДатаДокумента) Тогда

Сообщить("Этот день выходной!");

КонецЕсли;

В конфигурациях с поддержкой производственного календаря (например, 1С:ERP) можно учитывать индивидуальные графики работы подразделений.

Как исправить ошибки с датами: практические советы

Если вы столкнулись с ошибкой, связанной с датами, следуйте этому алгоритму для её устранения:

1. Диагностика проблемы

  • 🔍 Проверьте журнал регистрации (Администрирование → Журнал регистрации) на наличие ошибок, связанных с датами.
  • 📋 Уточните, в каком именно документе или отчете возникает проблема.
  • 🖥️ Проверьте настройки региональных стандартов (Сервис → Параметры → Заполнение → Региональные настройки).

2. Исправление некорректных дат

Если дата введена неправильно:

  • 📅 Откройте документ и исправьте дату вручную.
  • 🔄 Используйте обработку "Групповое изменение реквизитов" для массового исправления дат.
  • 📊 Если ошибка в отчете, проверьте период формирования и при необходимости скорректируйте его.

3. Восстановление последовательности дат

Если даты в связанных документах расходятся:

  • 🔗 Используйте механизм "Исправить даты в связанных документах" (доступен в некоторых конфигурациях через контекстное меню документа).
  • 🔄 Перепроведите документы в правильной последовательности (сначала более ранние, затем более поздние).

4. Работа с заблокированными датами

Если дата документа попадает в закрытый период:

  • 🔓 Временно разблокируйте период через Администрирование → Закрытие периода (требуются права администратора).
  • 📅 Измените дату документа на более позднюю.
  • 🔄 Если необходимо внести изменения в закрытый период, оформите это как "Исправление ошибок прошлых лет".

5. Проверка логической целостности

После исправления дат:

  • 📊 Переформируйте отчеты, которые могли быть затронуты (например, "Оборотно-сальдовую ведомость" или "Карточку счета").
  • 🔍 Запустите тест "Проверка логической целостности" (Администрирование → Тестирование и исправление → Проверка логической целостности).
  • 📋 Проверьте проводки по проблемным документам.
💡

Если после исправления дат документы не проводятся, проверьте настройки прав пользователя и блокировки периодов. Часто проблема кроется не в самой дате, а в ограничениях доступа.

Если ошибка повторяется системно, возможно, проблема в настройках конфигурации или повреждении базы данных. В этом случае рекомендуется обратиться к специалисту по .

FAQ: Частые вопросы о заполнении дат в 1С

🔹 Можно ли в 1С вводить дату в формате ГГГГ-ММ-ДД (например, 2026-05-15)?

По умолчанию не поддерживает такой формат. Система ожидает ввод в формате ДД.ММ.ГГГГ. Однако в некоторых конфигурациях (например, с интеграцией с зарубежными системами) этот формат может быть доступен после доработки. Чтобы избежать ошибок, используйте стандартный формат или календарь для выбора даты.

🔹 Почему при вводе даты 31.05.2026 система заменяет её на 01.06.2026?

Это происходит, если в региональных настройках указан формат даты ММ.ДД.ГГГГ (американский стиль). В этом случае интерпретирует 31.05.2026 как 31-й месяц, что невозможно, и автоматически корректирует дату. Проверьте настройки формата даты в Сервис → Параметры → Заполнение и исправьте на ДД.ММ.ГГГГ.

🔹 Как массово изменить даты в нескольких документах?

Для массового изменения дат используйте стандартную обработку "Групповое изменение реквизитов" (Все функции → Групповое изменение реквизитов). В ней можно:

  1. Выбрать тип документов (например, "Поступление товаров").
  2. Указать период, за который нужно изменить даты.
  3. Задать новое значение даты или правило её изменения (например, сдвиг на +1 день).
  4. Запустить обработку.

Для сложных сценариев (например, изменение дат по определенному условию) может потребоваться написание кастомной обработки на языке .

🔹 Почему