Даты в 1С 8.3: как вводить, настраивать формат и часовой пояс
Содержание
Дату в 1С 8.3 вводят в поле формата ДД.ММ.ГГГГ — с клавиатуры или через календарь по значку рядом с полем. Чтобы новые документы сразу подставляли нужное число, задают рабочую дату в Главное меню → Сервис → Параметры. Формат отображения даты определяется региональными установками базы, а не настройками отдельного пользователя.
Ниже — как ввести и изменить дату в документе, настроить её формат и рабочую дату, выбрать период в отчётах, а также что важно знать про хранение даты и времени и про часовой пояс. Примеры с функциями пригодятся тем, кто подставляет даты в код.
Ввод даты в поле документа
Поле даты в 1С выглядит как __.__.____ со значком календаря справа. Есть два способа заполнить его.
- С клавиатуры. Наберите число в формате
ДД.ММ.ГГГГ, например28.10.2026. Точки можно не ставить — наберите28102026, платформа сама расставит разделители. - Через календарь. Нажмите значок справа от поля или
F4, откроется месячный календарь. Стрелками листаются месяцы, клик по числу подставляет дату.
Если поле хранит и время (так устроена дата документа), после даты появится блок ЧЧ:ММ:СС. Время можно оставить нулевым или задать вручную — оно влияет на порядок документов внутри одного дня.
Год вводите целиком, четырьмя цифрами. При двузначном вводе (28.10.26) платформа достраивает год по внутреннему правилу, и в пограничных случаях можно получить не тот век.
Быстрый приём: в открытом календаре двойной клик по сегодняшнему числу или клавиша Ввод подставляют дату и закрывают окно. Клавишами + и - в поле даты прибавляется и убавляется один день.
Ещё платформа умеет достраивать неполный ввод. Если набрать только число месяца — например, 28 — и выйти из поля, 1С подставит месяц и год из рабочей даты. Наберёте 2810 — получите 28 октября текущего года. Это экономит нажатия, когда вводите подряд документы одного месяца, но за подстановкой стоит следить: при неверно заданной рабочей дате год окажется не тем, что нужно.
В табличных частях (строки товаров, график платежей) дата вводится так же, как в шапке: кликаете по ячейке, набираете число или открываете календарь. Если нужно проставить одну дату во все строки, удобнее сначала заполнить одну строку, а затем воспользоваться командой заполнения столбца в командной панели таблицы.
Как изменить дату уже проведённого документа
Дата — один из реквизитов документа, менять её можно как обычное поле.
- Откройте документ, исправьте дату в шапке, нажмите
ПровестиилиПровести и закрыть. - Движения по регистрам при этом перезапишутся на новую дату автоматически.
Перед изменением даты документа в закрытом периоде убедитесь, что период не заблокирован и отчётность по нему ещё не сдана. Смена даты сдвигает документ в учёте: меняются остатки, последовательность расчётов, иногда — нумерация.
Если дата не меняется и поле серое, значит период закрыт датой запрета редактирования. Снять запрет можно в настройках дат запрета (раздел Администрирование или Настройки, в зависимости от конфигурации) — но только если вы понимаете последствия для уже сданной отчётности.
Когда дату меняют у документа, после которого в тот же день есть другие документы, стоит перепровести всю цепочку. В типовых конфигурациях за это отвечает восстановление последовательности или групповое перепроведение за период — иначе остатки и расчёты, зависящие от порядка, останутся посчитанными по старой дате.
Рабочая дата: какое число подставляется в новые документы
Рабочая дата — это число, которое 1С автоматически ставит в новый документ. По умолчанию это текущая дата компьютера, но её можно зафиксировать.
Путь: Главное меню → Сервис → Параметры. В открывшемся окне есть переключатель рабочей даты:
- Использовать текущую дату компьютера — новый документ получает сегодняшнее число. Вариант по умолчанию.
- Использовать значение — задаёте конкретную дату, и все новые документы создаются с ней, пока вы её не смените.
Второй режим удобен, когда вводите документы задним числом: например, разбираете бумаги за прошлый месяц. Поставили рабочую дату на нужный день — и не правите её в каждом документе вручную.
После ввода документов «задним числом» верните режим на текущую дату компьютера. Иначе следующие документы продолжат создаваться прошедшим числом, и это легко не заметить.
Настройка формата отображения даты
Как дата выглядит на экране и в печатных формах, задаётся на уровне базы, а не отдельного пользователя. Поэтому в режиме «1С:Предприятие» сменить формат «под себя» нельзя — он единый для всех.
Формат по умолчанию берётся из региональных установок информационной базы. Их задаёт администратор в конфигураторе: Администрирование → Региональные установки информационной базы. Там выбирается язык и форматы чисел и дат.
В конкретном поле или колонке отчёта разработчик может переопределить вид даты через свойство Формат. Строки формата:
| Строка формата | Что покажет |
|---|---|
ДФ=dd.MM.yyyy | 28.10.2026 |
ДФ=dd MMMM yyyy | 28 октября 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С ведёт себя не так, как ждёшь.
ДД.ММ.ГГГГ и само число.Главное меню → Сервис → Параметры текущую дату компьютера.Частые вопросы
Можно ли ввести только дату без времени?
00:00:00: на дату документа это не повлияет, а порядок внутри дня задаст платформа.Как быстро поставить сегодняшнюю дату?
F4 и выберите текущее число в календаре, либо настройте рабочую дату на «текущую дату компьютера» — тогда новые документы заполнятся сегодняшним числом сами.