Работа с датами в 1С:Предприятие 8 — одна из самых частых операций, с которой сталкиваются и бухгалтеры, и программисты. От корректности установленной даты зависит всё: от формирования отчетности до корректной работы документов. Но как правильно задать дату в разных сценариях? Когда достаточно ручного ввода, а когда требуется программное вмешательство?

В этой статье мы разберем 5 основных способов установки даты в 1С 8.3 и 8.2 — от базовых действий в интерфейсе до написания кода на встроенном языке. Особое внимание уделим типичным ошибкам, которые приводят к сбоям в учете, и нюансам работы с ретроспективными данными. Если вы когда-нибудь сталкивались с ситуацией, когда программа "не видит" введенную дату или документ "уезжает" в другой период — этот материал для вас.

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

1. Ручная установка даты в документах и справочниках

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

Чтобы установить дату вручную:

  • 📅 Откройте нужный документ (например, Поступление товаров или Счет-фактура) через журнал документов
  • 🖱️ Найдите поле Дата (обычно расположено в шапке документа рядом с номером)
  • 📝 Кликните по полю и введите дату в формате ДД.ММ.ГГГГ или выберите из календаря (иконка 🗓️)
  • 💾 Сохраните документ (Ctrl+S или кнопка Записать)

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

  • 📊 Период отражения в отчетах (ОСВ, баланс, книга продаж)
  • 💰 Курсы валют (если документ валютный)
  • 📦 Остатки товаров на складах (для документов движения)
💡

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

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

2. Установка даты по умолчанию для новых документов

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

Способы настройки:

Метод Действие Применение
Глобальная настройка Изменить параметр ТекущаяДата в модуле управляемого приложения Для всех пользователей системы
Пользовательская настройка Установить РабочаяДата в профиле пользователя Индивидуально для каждого оператора
Настройка документа Изменить свойство ДатаПоУмолчанию в метаданных Для конкретных видов документов

Для бухгалтеров самый простой способ — изменить рабочую дату в личном профиле:

  1. Перейдите в Сервис → Параметры
  2. Выберите вкладку Общие
  3. В поле Рабочая дата укажите нужную дату
  4. Сохраните настройки и перезапустите сеанс

После этого все новые документы будут создаваться с указанной датой по умолчанию. Remember: это не влияет на уже существующие документы!

📊 Как часто вам приходится работать с ретроспективными датами в 1С?
Ежедневно
Несколько раз в неделю
Редко
Никогда

3. Программная установка даты (для разработчиков)

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

Основные методы программной работы с датами:

// 1. Установка даты для документа

Документ.Дата = '2023-12-31';

// 2. Получение текущей даты системы

ТекущаяДата = ТекущаяДата();

// 3. Работа с рабочей датой пользователя

РабочаяДата = РабочаяДата();

// 4. Форматирование даты для вывода

ФорматированнаяДата = Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");

// 5. Проверка корректности даты

Если Не ЗначениеЗаполнено(Документ.Дата) Тогда

Сообщить("Дата не указана!");

КонецЕсли;

Пример скрипта для массового изменения дат в документах типа РеализацияТоваровУслуг:

Выборка = Документы.РеализацияТоваровУслуг.Выбрать();

Пока Выборка.Следующий() Цикл

Если Выборка.Дата < '2023-01-01' Тогда

Выборка.Дата = '2023-01-01';

Выборка.Записать();

КонецЕсли;

КонецЦикла;

⚠️ Внимание: Массовое изменение дат может привести к нарушению хронологии документов и ошибкам в учете. Перед выполнением таких операций обязательно:
  • 🔄 Сделайте резервную копию базы
  • 📋 Проверьте зависимые документы (счета, платежки, накладные)
  • 👥 Убедитесь, что в системе нет других пользователей
Что будет если нарушить хронологию документов?

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

4. Установка даты через внешнюю обработку

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

Популярные обработки для работы с датами:

  • 📅 "Массовое изменение дат документов" (от 1С-Рарус)
  • 🔄 "Перенос документов на другую дату" (с сайта infostart.ru)
  • 🗓️ "Календарь ретроспективного ввода" (для бухгалтерских конфигураций)

Инструкция по подключению обработки:

  1. Скачайте файл обработки с расширением .epf
  2. В перейдите в Файл → Открыть
  3. Выберите скачанный файл и нажмите Открыть
  4. В появившемся окне обработки укажите параметры (тип документов, диапазон дат)
  5. Запустите выполнение кнопкой Выполнить

Преимущества этого метода:

  • ✅ Не требует знаний программирования
  • ✅ Можно протестировать на копии базы перед применением
  • ✅ Многие обработки имеют встроенную проверку целостности данных

Создать резервную копию базы|Проверить права доступа пользователя|Определить диапазон изменяемых документов|Уведомить других пользователей о временной блокировке|Протестировать обработку на копии базы-->

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

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

Конфигурация Особенности работы с датами Типичные проблемы
1С:Бухгалтерия 3.0 Строгий контроль хронологии документов, автоматическое заполнение даты платежей по банковским выпискам Ошибки при изменении даты в уже закрытых периодах, проблемы с курсами валют
1С:Управление торговлей 11 Гибкие настройки дат в заказах и отгрузках, поддержка предварительных дат отгрузки Конфликты дат между заказами и реализациями, проблемы с резервированием товаров
1С:Зарплата и Управление Персоналом 3.1 Автоматическое заполнение дат в кадровых документах, привязка к графику работы Ошибки при изменении даты увольнения/приема, проблемы с перерасчетом зарплаты
1С:ERP Управление предприятием 2 Сложная система блокировок по датам, интеграция с производственным календарем Зависание документов при изменении даты, конфликты с плановыми показателями

Для 1С:Бухгалтерия 3.0 особенно важно следить за датами закрытия периодов. Если период закрыт, то:

  • 🔒 Изменить дату документа можно только после открытия периода
  • 📉 Изменение даты может потребовать перепроведения зависимых документов
  • 💰 Возможны расхождения в оборотно-сальдовой ведомости

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

💡

Перед изменением даты в конфигурациях с сложной логикой (ERP, УТ 11) всегда проверяйте связанные документы через отчет "Анализ связей объектов" (Отчеты → Стандартные → Анализ связей).

6. Типичные ошибки и их решение

Даже опытные пользователи иногда сталкиваются с проблемами при работе с датами в . Рассмотрим наиболее распространенные ошибки и способы их устранения.

Ошибка 1: "Нарушена последовательность документов"

Причина: Attempt to post a document with an earlier date than the last posted document of this type.

Решение:

  • 🔍 Найдите последний проведенный документ этого типа через журнал
  • 📅 Измените дату нового документа на более позднюю
  • 🔄 Если нужно ввести документ с более ранней датой — сначала отмените проведение более поздних документов

Ошибка 2: Дата автоматически сбрасывается на текущую

Причина: В настройках документа или профиля пользователя установлена привязка к текущей дате системы.

Решение:

  • 🛠️ Проверьте свойства документа в конфигураторе (раздел ДатаПоУмолчанию)
  • 👤 Настройте РабочуюДата в профиле пользователя
  • 📝 Для ретроспективного ввода используйте внешние обработки

Ошибка 3: Нельзя изменить дату в проведенном документе

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

Решение:

  • 🔓 Снимите проведение документа (Действия → Отменить проведение)
  • 🔧 Измените дату и проведите документ заново
  • 🛡️ Если документ заблокирован — обратитесь к администратору за правами

Ошибка 4: Дата в отчетах не совпадает с датой документа

Причина: В настройках отчета установлен другой период или используются данные из регистров с другой периодичностью.

Решение:

  • 📊 Проверьте настройки периода в отчете
  • 🔍 Используйте отчет Анализ субконто для проверки дат движений
  • 📅 Убедитесь, что документ действительно проведен (статус "Проведен")
⚠️ Внимание: В некоторых конфигурациях (например, 1С:Комплексная автоматизация) при изменении даты документа может потребоваться перерасчет себестоимости. Это длительная операция, которая блокирует работу других пользователей. Планируйте такие изменения на время минимальной нагрузки на систему.

7. Работа с датами в отчетах и запросах

При формировании отчетов правильная работа с датами критически важна. Ошибка в одном символе при указании периода может привести к некорректным данным в отчетности.

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

// 1. Выборка документов за конкретный день

ВЫБРАТЬ

Документ.Ссылка КАК Ссылка

ИЗ

Документ.РеализацияТоваровУслуг КАК Документ

ГДЕ

Документ.Дата = ДАТАВРЕМЯ(2023, 12, 31)

// 2. Выборка за период

ВЫБРАТЬ

Документ.Ссылка КАК Ссылка

ИЗ

Документ.ПоступлениеТоваров КАК Документ

ГДЕ

Документ.Дата МЕЖДУ '2023-01-01' И '2023-12-31'

// 3. Работа с началом и концом дня

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

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

// 4. Сравнение без учета времени

ГДЕ ДАТАВРЕМЯ(ГОД(Документ.Дата), МЕСЯЦ(Документ.Дата), ДЕНЬ(Документ.Дата))

= ДАТАВРЕМЯ(2023, 12, 31)

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

  • 📅 Вручную в полях Начало периода и Окончание периода
  • 🔄 Через кнопку Установить период (обычно предлагает стандартные варианты: месяц, квартал, год)
  • 📋 Через настройку вариантов отчета (сохраненные настройки)

В отчетах с настройкой "По субконто" дата документа может влиять на распределение сумм по аналитическим разрезам. Например, в отчете по 60 счету суммы будут распределены по контрагентам и договорам именно на ту дату, которая указана в документе-основании.

FAQ: Частые вопросы о работе с датами в 1С

Можно ли в 1С поставить дату будущего периода?

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

  • В бухгалтерских конфигурациях это может привести к ошибкам при закрытии месяца
  • В торговых конфигурациях могут возникнуть проблемы с резервированием товаров
  • Некоторые обработки (например, регламентные операции) игнорируют документы с будущими датами

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

Как изменить дату в уже проведенном документе, если система не дает?

Последовательность действий:

  1. Отмените проведение документа (Действия → Отменить проведение)
  2. Измените дату в шапке документа
  3. Проведите документ заново
  4. Если документ зависит от других документов (например, счет от реализации), проверьте цепочку связанных документов

Если документ заблокирован (например, в закрытом периоде), сначала откройте период в Администрирование → Закрытие периода.

Почему при изменении даты документа меняются суммы в отчетах?

Это происходит потому, что:

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

Всегда проверяйте влияние изменения даты через отчет Анализ субконто или Карточка счета.

Как сделать так, чтобы новые документы создавались с вчерашней датой по умолчанию?

Есть несколько способов:

  1. Изменить РабочуюДата в профиле пользователя на вчерашнюю дату
  2. Использовать обработку, которая автоматически устанавливает нужную дату при создании документа
  3. Для программистов: добавить код в модуль документа:
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    

    ЭтотОбъект.Дата = ТекущаяДата() - 86400; // 86400 секунд = 1 день

    КонецПроцедуры

Remember: Это изменение затронет все новые документы, поэтому используйте его осознанно.

Можно ли в 1С поставить дату раньше даты создания базы?

Технически да, но:

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

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