Время документа в 1С 8.3: как его поменять и почему порядок внутри дня важен
Содержание
Время проведения документа в 1С 8.3 задают в том же поле, что и дату: это поле «от» рядом с номером в шапке документа. Щёлкните в него, сотрите время после даты и введите нужное в формате ЧЧ:ММ:СС, например 15.03.2025 18:30:00. Затем нажмите «Провести и закрыть»: документ перепроведётся уже с новым моментом времени.
Отдельного реквизита «Время проведения» в типовых конфигурациях нет. У документа есть одна дата, и она хранит секунды. Именно по ней программа решает, какой документ за день был раньше, а какой позже. Поэтому время влияет на остатки, на списание по себестоимости и на то, пройдёт ли проведение вообще.
Как устроены дата и время документа в 1С 8.3
У каждого документа платформа хранит реквизит «Дата» с точностью до секунды. В форме он подписан «от». Время в нём есть всегда, даже если на экране видна только дата.
Порядок документов в базе определяет так называемый момент времени. Он складывается из двух частей:
- 🕐 дата и время документа до секунды;
- 🔑 ссылка на документ — если время совпало до секунды.
Второй пункт часто сбивает с толку. Если поступление и реализация созданы в одну и ту же секунду, их порядок определяется ссылкой, а не тем, какой документ вы ввели первым. Снаружи такой порядок выглядит случайным.
Что происходит со временем при обычной работе:
| Ситуация | Какое время получит документ |
|---|---|
| Новый документ текущей датой | текущее время компьютера или сервера |
| Дату поменяли вручную, время не трогали | время остаётся тем, что было в поле |
| Ввод на основании | время нового документа, а не документа-основания |
| Регламентные операции закрытия месяца | как правило, конец последнего дня месяца |
Если в поле «от» не видно часов и минут, щёлкните в поле и нажмите End: курсор уйдёт в конец строки, и время станет видно. Обычно его просто обрезает узкое поле на форме.
Как установить время документа задним числом
Ввод документов прошлым днём — обычная работа бухгалтера. Первичка пришла с опозданием, а остатки должны сойтись на дату документа. Порядок такой.
Пошагово в форме документа
- Откройте документ или создайте новый.
- Щёлкните в поле «от» в шапке.
- Введите дату и время полностью:
28.02.2025 09:15:00. Можно выбрать день в календаре, а время дописать с клавиатуры. - Проверьте, что программа не перезаписала время после выхода из поля.
- Нажмите «Провести и закрыть».
- Откройте список документов и убедитесь, что документ встал на нужное место внутри дня.
Что проверить перед вводом прошлым днём
- 📅 Не закрыт ли период датой запрета изменения. Если закрыт, провести не получится (подробнее ниже).
- 📦 Хватает ли остатков на новый момент времени. Списание, поставленное раньше поступления, при контроле остатков не проведётся.
- 📊 Не сделано ли уже закрытие месяца . Документ, введённый после закрытия, потребует его повторить.
- 🧾 Не сдан ли отчёт за этот период. Если сдан, правка прошлого периода может обернуться уточнёнкой.
Перед массовыми правками дат в прошлом периоде сделайте резервную копию базы. Перепроведение задним числом меняет движения у всех последующих документов, и откатить это вручную сложно.
Где включают и выключают изменение прошлых периодов
Изменение прошлых периодов в типовых конфигурациях на БСП ограничивают через механизм «Даты запрета изменения». Это и есть настройка, которая управляет ретроспективным учётом: разрешено ли проводить, перепроводить и менять дату документов в закрытом периоде.
В 1С:Бухгалтерии 3.0 настройку ищите в разделе Администрирование → Проведение документов: там флажок «Даты запрета изменения» и ссылка на настройку. Вместо БП в других конфигурациях настройка лежит в разделе «Администрирование», формулировка ссылки может отличаться.
Как работает дата запрета:
- 🔒 Общая дата действует для всех пользователей.
- 👤 Можно задать дату отдельно для пользователя или группы — например, главбух может править закрытый квартал, а операторы нет.
- 🏢 Можно разделить даты по организациям, если в базе несколько юрлиц.
- 🔁 Есть вариант «плавающей» даты, которая сама сдвигается, например на конец прошлого месяца.
Чтобы ввести документ в закрытом периоде, его временно открывают: сдвигают дату запрета назад или дают права конкретному пользователю. После правки дату возвращают. Если этого не сделать, закрытый период так и останется открытым для всех.
Если документы прошлым числом вводятся постоянно, не держите дату запрета открытой. Надёжнее дать одному ответственному сотруднику персональную дату запрета, а остальным оставить общую.
Порядок документов внутри дня при массовом вводе
Когда за один день вводятся десятки документов, время определяет, сойдутся ли остатки. Если всё создано «сейчас», порядок получится по моменту ввода, а не по логике операций. Отсюда минусовые остатки и ошибки проведения.
Практичная схема для одного дня:
| Время | Что вводить |
|---|---|
| 08:00–09:00 | остатки, перемещения на начало дня |
| 09:00–12:00 | поступления товаров и материалов |
| 12:00–18:00 | реализации, требования-накладные, списания |
| 18:00–20:00 | возвраты, корректировки |
| 20:00–23:00 | кассовые и банковские документы, если от них не зависит остаток товара |
Сама схема не догма. Важен принцип: всё, что приносит остаток, должно стоять раньше всего, что его забирает.
Приёмы, которые экономят время при вводе пачки документов:
- Шаг в одну минуту. Ставьте документам последовательное время: 09:01, 09:02, 09:03. Так порядок не зависит от ссылок.
- Копирование. Скопированный документ получает новую дату, поэтому время после копирования всегда проверяйте.
- Ввод на основании. Реализацию, созданную из поступления, проверьте: её время не должно оказаться раньше времени основания.
- Сортировка списка. В списке документов отсортируйте по колонке «Дата». Это самая быстрая проверка, что порядок внутри дня правильный.
Не ставьте все документы дня на 00:00:00 или 23:59:59. Секунды совпадут, и порядок определится ссылкой — случайно для пользователя.
Почему не меняется время проведения документа
Бывает, что время вводишь, а после записи оно другое, или поле вообще недоступно. Причины обычно такие.
Про оперативное проведение коротко. Это режим платформы: документ текущей датой проводится как «прямо сейчас», с контролем остатков на текущий момент. Если такой документ проводится оперативно, платформа ставит ему текущее время. В типовых конфигурациях на управляемых формах этот режим встречается редко, но в старых и доработанных базах он есть.
Как время документа влияет на себестоимость и остатки
Время документа — не косметика. От него зависит, по какой цене и с каких остатков спишется товар.
Что меняет время внутри дня в БП 3.0:
- 📦 Остатки при проведении. Реализация проверяет остатки на свой момент времени. Стоит на минуту раньше поступления — товара «нет».
- 💰 Стоимость списания. Стоимость считается по партиям или по средней на момент документа. Сдвиг времени меняет, какие поступления попали в расчёт.
- 🧮 Закрытие месяца. Если после закрытия месяца ввели или передвинули документ, закрытие нужно выполнить заново. Обработка покажет, что требуется перепровести документы.
- 📈 Отчёты на дату. Оборотно-сальдовая ведомость на конец дня покажет все документы дня. Отчёт на момент внутри дня — только то, что было раньше.
Пример. На складе 0 штук. В 10:00 введено поступление 100 штук по 50 ₽. В 09:30 — реализация 40 штук. При контроле остатков реализация не проведётся: в 09:30 товара ещё нет. Если контроль выключен, БП спишет 40 штук без стоимости, и себестоимость продажи окажется нулевой вместо 2 000 ₽ (40 × 50). Перенесите реализацию на 10:30 — и списание пройдёт по 2 000 ₽.
Разрешено ли списывать товар при отсутствии остатков, в БП 3.0 задаётся в разделе Администрирование → Проведение документов. Включать это стоит, только если вы осознанно вводите документы не по порядку и потом обязательно перепроводите период.
После правки времени у нескольких документов прошлого месяца не перепроводите их по одному. Используйте групповое перепроведение за период, а затем повторите закрытие месяца.
Групповое перепроведение в БП 3.0 находится в разделе Операции. Задайте период с даты самого раннего изменённого документа и до конца месяца. Сеансы других пользователей обрывать не нужно, но во время перепроведения лучше не вводить новые документы в этот период.
Как менять время документов программно
Если сдвинуть время нужно у сотни документов, вручную это долго. Есть два пути.
Путь 1. Групповое изменение реквизитов. В типовых конфигурациях на БСП есть одноимённая обработка. Найти её можно через Все функции → Обработки (команда «Все функции» включается в Сервис и настройки → Параметры). Она меняет реквизиты у выделенных объектов. Работает ли она с датой документа в вашей конфигурации, проверьте на копии базы: стандартный реквизит «Дата» в ней доступен не всегда.
Путь 2. Внешняя обработка. Код ниже сдвигает документы реализации за период на конец дня, сохраняя порядок через секунды. Запускается на сервере из внешней обработки или консоли кода.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Док.Ссылка КАК Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Док
|ГДЕ
| Док.Дата МЕЖДУ &Начало И &Конец
|
|УПОРЯДОЧИТЬ ПО
| Док.Дата";
Запрос.УстановитьПараметр("Начало", НачалоДня(Дата(2025, 3, 1)));
Запрос.УстановитьПараметр("Конец", КонецДня(Дата(2025, 3, 31)));
Выборка = Запрос.Выполнить().Выбрать();
Сдвиг = 0;
ПрошлыйДень = Неопределено;
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
День = НачалоДня(ДокОбъект.Дата);
Если День <> ПрошлыйДень Тогда
Сдвиг = 0;
ПрошлыйДень = День;
КонецЕсли;
// 20:00:00 плюс по одной минуте на каждый следующий документ дня
ДокОбъект.Дата = День + 20 * 3600 + Сдвиг * 60;
Сдвиг = Сдвиг + 1;
Если ДокОбъект.Проведен Тогда
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
Иначе
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
КонецЦикла;
Как это работает. Документы берутся по порядку даты. Внутри одного дня каждый следующий получает время на минуту позже: 20:00, 20:01, 20:02. Первые 240 документов дня уложатся до 23:59; если их больше, уменьшите шаг до секунд.
Перед запуском учтите:
- 🔒 Даты запрета действуют и для программной записи: документы в закрытом периоде вызовут ошибку.
- 🧪 Сначала прогоните на копии базы и сравните остатки до и после.
- 👥 Запускайте вне рабочего времени: перепроведение множества документов нагружает базу и может мешать пользователям, работающим в том же периоде.
- 🔁 После массового сдвига повторите закрытие месяца за затронутые периоды.
Если время нужно задавать при создании документа, это делают доработкой в расширении: в обработчике заполнения документа выставляют нужный час. Менять типовую конфигурацию напрямую ради этого не стоит — расширение не мешает обновлениям.