Документы и Печать · 9 мин
Как узнать время документа в 1С
Как узнать время документа в 1С: просмотр через свойства, журнал документов, запрос и код на встроенном языке. Настройка точности времени и типичные ошибки.
Каждый документ в 1С хранит дату и время своего создания. Эти сведения определяют положение документа в последовательности проведения, влияют на расчёт остатков и используются при аудите действий пользователей. Узнать время документа можно несколькими способами: через форму самого документа, через журнал документов, программно на встроенном языке или через запрос.
Выбор способа зависит от задачи. Разовый просмотр удобнее выполнить в интерфейсе, массовый анализ — через консоль запросов или отчёт, а автоматические проверки реализуют кодом. Ниже разобраны все варианты с конкретными действиями и ограничениями.
Важно понимать разницу: дата документа — это рабочее поле, которое пользователь может редактировать, а время создания записи в базе и момент проведения хранятся отдельно и не всегда совпадают с датой документа.
Что именно считается временем документа
В 1С у документа есть несколько временных характеристик, которые часто путают. Поле «Дата» в шапке документа — это полная дата-время, включающая часы, минуты и секунды. Именно она определяет позицию документа в хронологической последовательности и момент времени, на который формируются движения при проведении.
Отдельно существуют служебные сведения: дата создания записи в базе, дата последнего изменения и время проведения. В типовых конфигурациях они могут храниться в истории изменений (если включено версионирование) или в журнале регистрации. Дата документа при этом может быть задним числом — пользователь вправе ввести документ прошлым периодом.
Как посмотреть время в форме документа
Откройте нужный документ и найдите поле «Дата» в шапке. Если конфигурация настроена с точностью «Дата и время», рядом с календарной датой отображаются часы, минуты и секунды. Это и есть время документа.
Если время не отображается, причина обычно одна из двух: либо в свойствах конфигурации установлена точность «Дата» (тогда время физически не хранится и всегда равно 00:00:00), либо поле выведено на форму в сокращённом формате. Проверить настройку можно в конфигураторе: свойства корня конфигурации, параметр «Точность даты документа».
В управляемых формах время иногда скрыто за кнопкой «Ещё» или отображается в строке состояния. В ряде типовых конфигураций точное время видно в окне «История изменений» документа, если включено версионирование объектов.
Как увидеть время в журнале документов
Откройте журнал соответствующего вида документов (например, «Продажи — Реализация товаров и услуг»). Колонка «Дата» обычно показывает дату и время. Если время не видно, проверьте настройку списка: кнопка «Ещё» — «Настроить список» или «Изменить форму» позволяет вывести колонку в нужном формате.
Для массового просмотра удобно вывести список в табличный документ: «Ещё» — «Вывести список». В полученной таблице даты отображаются полностью, и их можно скопировать для анализа.
- 1Откройте журнал нужного вида документов через меню раздела учёта
- 2Убедитесь, что колонка «Дата» присутствует в списке; при необходимости добавьте её через настройку формы
- 3Используйте «Ещё» — «Вывести список», чтобы получить таблицу с полными значениями даты и времени
- 4Проверьте несколько документов: если везде время 00:00:00, вероятно, в конфигурации выбрана точность «Дата»
Как получить время программно
Во встроенном языке дата документа доступна через свойство Дата объекта или ссылки. Значение имеет тип «Дата» и содержит время с точностью до секунды. Для выделения только времени используйте функцию форматирования.
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
ПолнаяДата = ДокументОбъект.Дата;
ТолькоВремя = Формат(ПолнаяДата, "ДЛФ=T"); // "14:32:05"
Сообщить("Документ создан в " + ТолькоВремя);Для выборки по многим документам эффективнее запрос. Поле «Дата» доступно в запросе напрямую, а извлечь часы и минуты можно функциями языка запросов ЧАС, МИНУТА, СЕКУНДА.
ВЫБРАТЬ
Реализация.Номер,
Реализация.Дата,
ЧАС(Реализация.Дата) КАК Час,
МИНУТА(Реализация.Дата) КАК Минута
ИЗ
Документ.РеализацияТоваровУслуг КАК Реализация
ГДЕ
Реализация.Дата МЕЖДУ &НачалоДня И &КонецДняПри передаче границ периода в параметры запроса помните: дата без времени интерпретируется как начало дня (00:00:00). Чтобы захватить весь день, конечную дату задавайте через КонецДня(Дата) или используйте объект «Граница» с видом «Включая».
Как проверить и изменить точность времени в конфигурации
Настройка выполняется в конфигураторе и требует прав на изменение структуры. Откройте конфигурацию, в дереве объектов выделите корневой узел «Конфигурация», откройте палитру свойств и найдите параметр «Точность даты документа». Значение «Дата и время» включает хранение времени для всех документов системы.
Смена точности с «Дата» на «Дата и время» не перезаписывает существующие документы: у них время останется 00:00:00, пока документ не будет перезаписан или перепроведён. Обратное изменение (сокращение точности) приведёт к потере временной составляющей у всех документов после реструктуризации — это необратимо.
Как узнать время создания и изменения документа
Дата документа не равна времени его фактического ввода в базу. Чтобы узнать, кто и когда создал или изменил документ, используйте журнал регистрации: раздел «Администрирование» — «Обслуживание» — «Журнал регистрации». Настройте отбор по событию «Данные. Добавление» или «Данные. Изменение» и укажите интересующий документ.
Второй способ — версионирование объектов. Если в настройках («Администрирование» — «Общие настройки» — «История изменений») для вида документов включено хранение версий, в форме документа появляется команда «История изменений», где видны дата, время и автор каждой версии.
Типичные ошибки и ограничения
Ещё одно ограничение касается обменов: при выгрузке документов в другие системы время может отсекаться форматом обмена. Проверяйте, передаёт ли используемый формат (XML, JSON, планы обмена) полную дату-время или только календарную дату.
Как проверить результат
Как проверить результат
В поле «Дата» видны часы, минуты и секунды
Показывается только календарная дата — проверьте точность в конфигураторе
Значения часов различаются у разных документов
У всех документов 0 часов 0 минут — время не хранится
Событие добавления документа найдено с точным временем
Событий нет — проверьте уровень регистрации событий
Быстрая самопроверка: создайте тестовый документ, запишите его и сразу откройте заново. Если время в поле «Дата» отличается от 00:00:00 и совпадает с моментом записи, точность настроена корректно.
Что важно запомнить
Время документа хранится в поле «Дата» и видно в форме, журнале и через код, если в конфигурации установлена точность «Дата и время». Время фактического создания и изменения смотрите в журнале регистрации или истории версий. Любые изменения точности и массовые перепроведения выполняйте только после резервного копирования.
Частые вопросы
Почему у всех документов время 00:00:00?
В свойствах конфигурации установлена точность даты документа «Дата» без времени. В этом режиме время не записывается в базу. Изменить параметр может только разработчик или администратор в конфигураторе.
Можно ли изменить время документа вручную?
Да, если точность настроена как «Дата и время» и у пользователя есть права на редактирование: поле «Дата» в форме документа позволяет ввести произвольное время. После изменения документ стоит перепровести, чтобы движения соответствовали новому моменту времени.
Как узнать, кто и когда создал документ?
Через журнал регистрации с отбором по событию добавления данных и конкретному документу либо через историю изменений, если включено версионирование. Само поле «Дата» документа эту информацию не содержит.
Чем дата документа отличается от даты проведения?
Движения по регистрам формируются на момент времени, заданный датой документа. Если документ проводят позже его даты (например, задним числом), фактическое время нажатия «Провести» фиксируется только в журнале регистрации, а не в учётных данных.
Как отобрать документы за конкретный час в запросе?
Используйте функцию ЧАС(Дата) в условии ГДЕ, например: ГДЕ ЧАС(Документ.Дата) = 14. Учтите, что такой отбор не использует индекс по дате и на больших таблицах может работать медленно; при возможности ограничивайте выборку периодом.
Почему время в отчёте отличается от времени в документе?
Чаще всего отчёт выводит дату без формата времени либо использует период регистра вместо даты документа. Проверьте формат поля в настройках отчёта и убедитесь, что отчёт строится по дате документа, а не по периоду движений.