Даты в 1С 8.3: как вводить, настраивать формат и часовой пояс

· 9 мин

Содержание

Дату в 1С 8.3 вводят в поле формата ДД.ММ.ГГГГ — с клавиатуры или через календарь по значку рядом с полем. Чтобы новые документы сразу подставляли нужное число, задают рабочую дату в Главное меню → Сервис → Параметры. Формат отображения даты определяется региональными установками базы, а не настройками отдельного пользователя.

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

Ввод даты в поле документа

Поле даты в 1С выглядит как __.__.____ со значком календаря справа. Есть два способа заполнить его.

  1. С клавиатуры. Наберите число в формате ДД.ММ.ГГГГ, например 28.10.2026. Точки можно не ставить — наберите 28102026, платформа сама расставит разделители.
  2. Через календарь. Нажмите значок справа от поля или F4, откроется месячный календарь. Стрелками листаются месяцы, клик по числу подставляет дату.

Если поле хранит и время (так устроена дата документа), после даты появится блок ЧЧ:ММ:СС. Время можно оставить нулевым или задать вручную — оно влияет на порядок документов внутри одного дня.

Год вводите целиком, четырьмя цифрами. При двузначном вводе (28.10.26) платформа достраивает год по внутреннему правилу, и в пограничных случаях можно получить не тот век.

Быстрый приём: в открытом календаре двойной клик по сегодняшнему числу или клавиша Ввод подставляют дату и закрывают окно. Клавишами + и - в поле даты прибавляется и убавляется один день.

Ещё платформа умеет достраивать неполный ввод. Если набрать только число месяца — например, 28 — и выйти из поля, 1С подставит месяц и год из рабочей даты. Наберёте 2810 — получите 28 октября текущего года. Это экономит нажатия, когда вводите подряд документы одного месяца, но за подстановкой стоит следить: при неверно заданной рабочей дате год окажется не тем, что нужно.

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

Как изменить дату уже проведённого документа

Дата — один из реквизитов документа, менять её можно как обычное поле.

  • Откройте документ, исправьте дату в шапке, нажмите Провести или Провести и закрыть.
  • Движения по регистрам при этом перезапишутся на новую дату автоматически.

Перед изменением даты документа в закрытом периоде убедитесь, что период не заблокирован и отчётность по нему ещё не сдана. Смена даты сдвигает документ в учёте: меняются остатки, последовательность расчётов, иногда — нумерация.

Если дата не меняется и поле серое, значит период закрыт датой запрета редактирования. Снять запрет можно в настройках дат запрета (раздел Администрирование или Настройки, в зависимости от конфигурации) — но только если вы понимаете последствия для уже сданной отчётности.

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

Рабочая дата: какое число подставляется в новые документы

Рабочая дата — это число, которое 1С автоматически ставит в новый документ. По умолчанию это текущая дата компьютера, но её можно зафиксировать.

Путь: Главное меню → Сервис → Параметры. В открывшемся окне есть переключатель рабочей даты:

  • Использовать текущую дату компьютера — новый документ получает сегодняшнее число. Вариант по умолчанию.
  • Использовать значение — задаёте конкретную дату, и все новые документы создаются с ней, пока вы её не смените.

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

После ввода документов «задним числом» верните режим на текущую дату компьютера. Иначе следующие документы продолжат создаваться прошедшим числом, и это легко не заметить.

Настройка формата отображения даты

Как дата выглядит на экране и в печатных формах, задаётся на уровне базы, а не отдельного пользователя. Поэтому в режиме «1С:Предприятие» сменить формат «под себя» нельзя — он единый для всех.

Формат по умолчанию берётся из региональных установок информационной базы. Их задаёт администратор в конфигураторе: Администрирование → Региональные установки информационной базы. Там выбирается язык и форматы чисел и дат.

В конкретном поле или колонке отчёта разработчик может переопределить вид даты через свойство Формат. Строки формата:

Строка форматаЧто покажет
ДФ=dd.MM.yyyy28.10.2026
ДФ=dd MMMM yyyy28 октября 2026
ДЛФ=Dдлинная дата: 28 октября 2026 г.
ДЛФ=DTдата и время вместе
ДЛФ=Tтолько время

Строчные dd/MM/yyyy — день, месяц, год цифрами; MMMM — месяц прописью. Регистр в буквах M важен: заглавная M — месяц, строчная m — минуты.

Выбор периода и относительные даты в отчётах

В отчётах дату чаще задают не точкой, а периодом. За это отвечает стандартное поле выбора периода — кнопка с интервалом дат в шапке отчёта.

Нажмите её — откроется окно с двумя режимами:

  • Произвольный период — указываете дату начала и дату конца вручную.
  • Стандартный период — выбираете относительный интервал: этот день, эта неделя, этот месяц, этот квартал, этот год и аналогичные «предыдущие».

Относительный период удобен для сохранённых настроек и регламентных отчётов: выбрали «Этот месяц» — и отчёт всегда строится за текущий месяц, без правки дат при каждом открытии.

Разница между произвольным и стандартным периодом важна, когда вы сохраняете настройку отчёта «на каждый день»:

  • Произвольный период запоминает конкретные даты. Открыв настройку через месяц, вы увидите тот же старый интервал.
  • Стандартный период запоминает правило («этот месяц», «прошлый квартал»). Интервал пересчитывается от текущей даты каждый раз при открытии.

Поэтому для отчётов, которые смотрят регулярно, выбирайте относительный период — иначе придётся править даты вручную при каждом запуске.

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

Как 1С хранит дату и время

В платформе 1С тип «Дата» всегда содержит и дату, и время — отдельного типа «только дата» нет. Если время в поле не отображается, оно всё равно хранится и равно 00:00:00.

Что из этого следует на практике:

  • 📅 Диапазон дат — от 01.01.0001 до 31.12.9999. Выйти за эти границы нельзя.
  • 🕛 Пустая дата — это начало отсчёта, 01.01.0001 00:00:00. В полях она обычно показывается как пустое значение, но при сравнении ведёт себя как самая ранняя из возможных дат.
  • ⏱ Время решает порядок — два документа одного дня проводятся в той последовательности, в какой идёт их время. Поэтому у документов с одной датой время, как правило, разное.

Отсюда частая путаница: в списке два документа «за 28 октября», а остатки считаются так, будто один раньше другого. Причина — разное время внутри дня. Посмотреть его можно, добавив в список колонку со временем или открыв документ.

При проведении платформа обычно сама подставляет документам нужное время так, чтобы порядок совпадал с порядком ввода. Поэтому в большинстве случаев время трогать не нужно — достаточно вводить документы в той последовательности, в какой они происходили в жизни. Ручная правка времени нужна редко: например, когда два документа одной секунды нужно жёстко упорядочить.

Часовой пояс сеанса и время на сервере

В клиент-серверном варианте у базы есть свой часовой пояс, и он может не совпадать с поясом компьютера пользователя. Из-за этого время в документах иногда отличается от «настенных часов» на рабочем месте.

Разберём, какое время откуда берётся:

  • Часовой пояс информационной базы задаёт администратор при настройке базы. Именно в нём хранятся и показываются даты документов.
  • Часовой пояс сеанса — пояс, в котором работает текущий сеанс пользователя. Его возвращает функция ЧасовойПоясСеанса().
  • Время сервера — системное время компьютера, на котором крутится сервер 1С. На него опираются регламентные задания.

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

Меняет часовой пояс базы только администратор и осознанно: сдвиг пояса смещает отображаемое время всех ранее введённых документов. Делать это на рабочей базе без необходимости не стоит.

Даты в коде: функции для разработчика

Если дату нужно подставить в обработке, отчёте или при заполнении документа, пригодятся встроенные функции. Ниже — те, что используются чаще всего.

Получить текущую дату:

// дата-время с учётом часового пояса сеанса — работает и на клиенте, и на сервере
ТекущаяДатаСеанса()

// системная дата-время сервера — доступна только в серверном коде
ТекущаяДата()

Собрать дату из частей:

Дата(2026, 10, 28)              // 28.10.2026 00:00:00
Дата(2026, 10, 28, 14, 30, 0)   // с временем 14:30:00

Границы периодов и сдвиги:

НачалоДня(ТекущаяДатаСеанса())      // сегодня, 00:00:00
КонецМесяца(ТекущаяДатаСеанса())    // последний день месяца, 23:59:59
НачалоГода(ТекущаяДатаСеанса())     // 1 января, 00:00:00
ДобавитьМесяц(ТекущаяДатаСеанса(), -1)  // минус один месяц

Привести дату к строке в нужном виде:

Формат(ТекущаяДатаСеанса(), "ДЛФ=D")        // 28 октября 2026 г.
Формат(ТекущаяДатаСеанса(), "ДФ=dd.MM.yyyy") // 28.10.2026

Разобрать дату на части и сравнить даты:

Год = Год(ТекущаяДатаСеанса());      // число 2026
Месяц = Месяц(ТекущаяДатаСеанса());  // число 10
День = День(ТекущаяДатаСеанса());    // число 28

// разница двух дат — в секундах
Секунд = КонецМесяца(Дата1) - Дата1;

Вычитание одной даты из другой возвращает разницу в секундах — это целое число, с которым можно считать дни или часы. А сравнивать даты можно обычными операторами >, <, =, помня, что в сравнении участвует и время.

В серверном коде вместо ТекущаяДата() почти всегда правильнее ТекущаяДатаСеанса() — она учитывает часовой пояс и даёт тот же результат, что видит пользователь.

Частые ошибки при вводе даты

Собрал ситуации, из-за которых дата в 1С ведёт себя не так, как ждёшь.

Диагностика: выберите симптом

Частые вопросы

Можно ли ввести только дату без времени?
Отдельного типа «только дата» в 1С нет — время хранится всегда. Если оно не нужно, оставьте 00:00:00: на дату документа это не повлияет, а порядок внутри дня задаст платформа.
Как быстро поставить сегодняшнюю дату?
В пустом поле нажмите F4 и выберите текущее число в календаре, либо настройте рабочую дату на «текущую дату компьютера» — тогда новые документы заполнятся сегодняшним числом сами.
Почему у коллеги в документе другое время, чем у меня?
Каждый сеанс показывает время в своём часовом поясе. В самой базе хранится одно значение, просто отображается оно по поясу сеанса пользователя.
Можно ли сменить формат даты на `ГГГГ-ММ-ДД` для всех?
Формат задаётся региональными установками информационной базы в конфигураторе и применяется ко всей базе. Поменять его «под одного пользователя» в режиме «1С:Предприятие» нельзя.
Что означает дата `01.01.0001` в поле?
Это пустая дата — начало отсчёта платформы. Обычно она отображается как пустое значение и означает, что дата не заполнена.