Документы и Печать · 11 мин
Как изменить время документа в 1С 8
Как изменить время документа в 1С 8: через форму документа, обработку, запрос и программно. Почему время важно для последовательности проведения и что делать, если поле недоступно.
Время документа в 1С 8 — не декоративный реквизит, а часть механизма упорядочивания: по дате и времени платформа строит последовательность проведения, рассчитывает остатки на момент документа и определяет позицию в границе последовательностей. Ошибка во времени приводит к тому, что документ «выпадает» из хронологии: списание товара происходит раньше поступления, а отчёты показывают отрицательные остатки.
Изменить время можно несколькими способами: вручную в форме документа, массово через обработки, программно из встроенного языка. Выбор зависит от того, сколько документов нужно поправить, открыт ли период и есть ли у пользователя права на редактирование даты. Ниже разобраны все рабочие варианты, ограничения и типичные ошибки.
Где в 1С хранится время документа и зачем оно нужно
В платформе 1С:Предприятие 8 у документа есть стандартный реквизит «Дата», который одновременно содержит и календарную дату, и время с точностью до секунды. Отдельного поля «Время» не существует — обе части редактируются в одном поле ввода. При создании документа платформа автоматически подставляет текущую дату сеанса и текущее время.
Время влияет на три важных механизма. Во-первых, на позицию документа в последовательности: при перепроведении документы обрабатываются строго по хронологии. Во-вторых, на контроль остатков: если реализация проведена раньше поступления по времени внутри одного дня, при проведении возникнет отрицательный остаток. В-третьих, на момент времени — уникальную связку «дата + ссылка», по которой строятся виртуальные таблицы остатков в запросах.
Как изменить время вручную в форме документа
Самый простой способ — открыть документ и исправить значение в поле «Дата». Поле обычно расположено в шапке формы рядом с номером. Щёлкните по нему, введите нужную дату и время в формате «ДД.ММ.ГГГГ ЧЧ:ММ:СС» или отредактируйте только часть времени, установив курсор на часы, минуты или секунды и введя новые цифры.
После изменения документ нужно перезаписать или перепровести. Если документ уже был проведён, платформа предложит перепроведение — соглашайтесь, иначе движения по регистрам останутся привязанными к старому моменту времени. Проверьте результат: откройте документ повторно и убедитесь, что время сохранилось, а в журнале документ встал на ожидаемую позицию.
- 1Откройте документ из журнала документов
- 2Установите курсор в поле «Дата» и исправьте часы, минуты, секунды
- 3Нажмите «Провести» или «Записать» — согласитесь на перепроведение
- 4Откройте документ заново и проверьте сохранённое время
- 5Проверьте положение документа в журнале и в последовательности
Нюанс: в некоторых конфигурациях поле даты в форме заблокировано настройкой интерфейса или кодом, а редактирование разрешено только при создании. В этом случае смотрите разделы про программное изменение и обработки.
Почему поле даты может быть недоступно
Если поле «Дата» серое и не редактируется, причин несколько. Самая частая — установлена дата запрета изменения данных: период закрыт, и документы старше границы нельзя менять обычным пользователям. Проверить можно в разделе «Администрирование → Поддержка и обслуживание → Регламентные операции» (в типовых конфигурациях — «Даты запрета изменения данных»).
Вторая причина — ограничение прав: роли пользователя не хватает для интерактивного изменения проведённых документов или для редактирования реквизитов. Третья — в конфигурации дата выводится как надпись или поле с признаком «Только просмотр», это встречается в самописных формах. Четвёртая — документ находится в закрытом кассовом дне, закрытом месяце по зарплате или ином аналоге «закрытого периода» конкретной подсистемы.
Массовое изменение времени через обработку
Когда документов много — например, после загрузки из внешней системы все документы получили время 00:00:00 — ручная правка непрактична. В типовых конфигурациях на управляемых формах есть обработка «Групповое изменение реквизитов»: выделите документы в журнале, вызовите обработку через меню «Ещё», выберите реквизит «Дата» и задайте новое значение или алгоритм.
Ограничение типовой обработки: она присваивает одно и то же значение всем объектам. Если нужно распределить документы по времени внутри дня (например, каждому следующему прибавлять минуту), потребуется произвольный алгоритм в той же обработке, если он включён администратором, или самописная обработка с циклом.
Способы изменения времени
Подходит для 1–5 документов. Быстро и наглядно, но неудобно при большом количестве
Для массовой установки одного времени. Не умеет распределять разные значения без произвольного алгоритма
Для любых сценариев, включая сдвиг времени по формуле. Требует навыков или готовой обработки
Для предварительного анализа: сначала отобрать документы с неверным временем, потом править
Программное изменение времени документа
Во встроенном языке дата документа меняется присваиванием свойства Дата объекту документа с последующей записью. Время задаётся функцией Дата(год, месяц, день, часы, минуты, секунды) или конкатенацией начала дня и числа секунд.
Типовой фрагмент кода для установки конкретного времени существующему документу:
ДокОбъект = СсылкаНаДокумент.ПолучитьОбъект();
ДокОбъект.Дата = Дата(2026, 5, 15, 14, 30, 0);
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
Если нужно сохранить день, но сдвинуть время, используйте конструкцию НачалоДня(ДокОбъект.Дата) + 52200, где 52200 — это 14:30 в секундах от начала суток. При массовой обработке оборачивайте запись в транзакцию и обрабатывайте исключения: документ может быть заблокирован другим пользователем или не пройти контроль при перепроведении.
ДокОбъект = Ссылка.ПолучитьОбъект();
ДокОбъект.Дата = НачалоДня(ДокОбъект.Дата) + 14*3600 + 30*60;
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Оперативный);Обратите внимание на режим проведения: оперативное проведение возможно только для документов с текущей датой и соответствующим свойством в конфигурации. Для документов прошлых периодов используйте неоперативный режим, иначе запись завершится ошибкой.
Время документа и последовательности: что проверить после правки
Изменение времени сдвигает документ относительно других, поэтому после правки проверьте границу последовательности. В конфигурациях с механизмом последовательностей (УПП, ERP, комплексная автоматизация) откройте «Операции → Проведение документов» и посмотрите, не откатилась ли граница назад. Если откатилась — выполните восстановление последовательности, иначе расчёт себестоимости и партий будет некорректным.
Второй контроль — отчёты по остаткам на дату изменённого документа. Сформируйте оборотно-сальдовую ведомость или ведомость по товарам на складе на день правки: не должно быть отрицательных остатков, которых не было до изменения. Третий контроль — движения самого документа: откройте их из формы и убедитесь, что период записей регистров соответствует новому времени.
Как проверить результат
Отображается новое значение после перепроведения
Время сбросилось на старое или на текущее — запись не выполнилась
Документ стоит в хронологически правильном месте
Документ «выпал» из хронологии дня
Не сместилась назад или восстановлена после правки
Граница откатилась, проведение не восстановлено
Нет новых отрицательных остатков
Появились минусы — нарушена хронология поступления и списания
Частые ошибки и ограничения
Распространённая ошибка — изменение только даты без времени: платформа при ручном вводе новой даты может подставить время 00:00:00 или текущее, и документ окажется в начале дня раньше документов-оснований. Всегда проверяйте обе части значения после ввода.
Вторая ошибка — правка времени через «Записать» вместо «Провести» у проведённого документа: движения остаются со старым моментом времени, и отчёты по регистрам показывают рассинхронизацию. Третья — массовая установка одинакового времени сотням документов: это ломает логику «кто раньше» внутри дня и затрудняет разбор отрицательных остатков. Лучше распределять документы хотя бы с шагом в секунду или минуту.
Отдельное ограничение касается обменов: если документ участвует в синхронизации (РИБ, обмен с сайтом, ЭДО), изменение времени в одной базе не всегда корректно переносится в другую, а в некоторых планах обмена дата документа вообще не мигрирует. После правки в такой схеме проверяйте обе стороны обмена.
Как выбрать действие
FAQ: частые вопросы о времени документов в 1С 8
Можно ли вообще скрыть или отключить время в документах?
Полностью отключить время нельзя — оно часть стандартного реквизита «Дата». Можно лишь изменить формат отображения в конкретном поле формы, показывая только дату, но в базе время всё равно хранится и участвует в упорядочивании документов.
Почему при создании документа время всегда текущее, а не время документа-основания?
Платформа по умолчанию подставляет текущую дату сеанса. Если ввод на основании должен копировать дату основания, это реализуется кодом в обработчике «ОбработкаЗаполнения» — в типовых конфигурациях такое поведение встречается не везде и зависит от настроек конкретного вида документов.
Что будет, если два документа имеют одинаковые дату и время?
Платформа различает их по ссылке: момент времени включает уникальный идентификатор документа. Порядок при равном времени будет определяться ссылкой, что не всегда совпадает с ожидаемой хронологией — поэтому для взаимосвязанных документов лучше задавать разное время.
Влияет ли часовой пояс сеанса на время документа?
Да. Время документа записывается по часовому поясу сеанса пользователя, если в настройках информационной базы задан часовой пояс. При работе пользователей из разных поясов один и тот же документ может отображаться с разным временем, что важно учитывать при распределённых командах и обменах.
Как массово узнать, у каких документов время 00:00:00 после загрузки?
Проще всего запросом: отберите документы, у которых разность между датой и началом дня равна нулю. В консоли запросов условие выглядит как проверка равенства даты началу дня той же даты. Полученный список затем обрабатывается групповой обработкой или программно.
Можно ли изменить время документа, не перепроводя его?
Технически можно записать объект без проведения, но для проведённого документа это создаст расхождение: движения по регистрам останутся привязанными к старому моменту времени. Корректный путь — перепроведение, чтобы записи регистров пересоздались с новой датой.
Что важно запомнить
Время документа в 1С 8 — часть реквизита «Дата», оно определяет позицию в последовательности и контроль остатков. Меняйте его через форму с перепроведением, для массовой правки используйте групповую обработку или код, а после изменения обязательно проверяйте границу последовательности и отсутствие отрицательных остатков. В закрытых периодах правку согласовывайте заранее.