К статье
Практический материал

Администрирование · 11 мин

Как определить дату создания документа в 1С

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

Дата документа, которую пользователь видит в форме, — это не дата создания, а рабочая дата, которую можно свободно менять. Реальный момент, когда документ впервые был записан в базу, хранится отдельно: в журнале регистрации, в истории изменений (если она включена) или определяется по техническим признакам объекта. Ниже разобраны все рабочие способы — от простых пользовательских до инструментов администратора и разработчика.

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

Чем дата документа отличается от даты создания

В 1С у документа есть поле «Дата», которое определяет его положение в хронологической последовательности и влияет на проведение, остатки и отчёты. Это поле редактируемое: пользователь может создать документ сегодня, но поставить в нём вчерашнее или прошломесячное число. Поэтому по дате в шапке нельзя судить о том, когда документ реально появился в базе.

Момент фактического создания фиксируется системой в других местах: в журнале регистрации как событие добавления данных, в истории изменений как первая версия объекта, а также косвенно — через внутренние технические механизмы платформы. Именно эти источники и нужно использовать, когда требуется установить фактическое время создания.

Способ 1. Журнал регистрации — основной источник

Журнал регистрации — встроенный механизм платформы, который фиксирует действия пользователей, включая добавление, изменение и удаление документов. Он доступен в режиме «1С:Предприятие» через меню «Администрирование» → «Обслуживание» → «Журнал регистрации» (в типовых конфигурациях путь может незначительно отличаться).

Чтобы найти момент создания конкретного документа, откройте журнал регистрации и настройте отбор: укажите событие «Данные. Добавление», задайте пользователя (если известен) и период. В колонке «Данные» будет ссылка на документ. Самое раннее событие добавления по этой ссылке и есть дата создания.

Как найти дату создания через журнал регистрации
  1. 1
    Откройте «Администрирование» → «Журнал регистрации»
  2. 2
    Нажмите кнопку отбора и выберите событие «Данные. Добавление»
  3. 3
    При необходимости укажите пользователя и диапазон дат
  4. 4
    Найдите в списке нужный документ по представлению в колонке «Данные»
  5. 5
    Время события — это и есть момент создания документа

Ограничение способа — журнал регистрации имеет настройку срока хранения. Если администратор включил автоматическое сокращение журнала (например, хранить события только за последние 90 дней), то старые записи будут удалены, и установить дату создания давних документов таким способом не получится.

Способ 2. История изменений данных

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

Откройте документ и найдите команду «История изменений» — обычно она находится в меню «Ещё» формы документа. В списке версий самая нижняя (первая по времени) запись покажет, кто и когда создал документ, а также какие данные были внесены изначально.

Включение истории изменений на будущее делается в разделе настроек администрирования (в типовых конфигурациях — «Настройка поддержки и обслуживания» или аналогичный пункт, зависит от конфигурации). Учтите, что хранение версий увеличивает объём базы, поэтому для массовых документов разумно задавать срок хранения версий.

Способ 3. Технические даты объекта в запросе или консоли

У каждого документа платформа хранит служебный реквизит, связанный с моментом записи, однако штатного поля «дата создания» у документов нет. В ряде конфигураций разработчики добавляют собственный реквизит «ДатаСоздания», который заполняется при записи. Если такой реквизит есть, дату можно получить простым запросом или через универсальный отчёт.

Косвенный признак — уникальный идентификатор объекта (GUID). По первой части идентификатора можно приблизительно определить время создания, поскольку GUID в 1С формируется на основе временной метки. Существуют обработки и функции, которые извлекают дату из GUID. Способ даёт приблизительное, но обычно достаточно точное значение — время формирования ссылки, которое для новых объектов почти всегда совпадает с моментом создания.

bsl
// Приблизительная дата создания объекта по GUID
Функция ДатаСозданияСсылки(Ссылка)
    СтрокаGUID = СтрЗаменить(Строка(Ссылка.УникальныйИдентификатор()), "-", "");
    Шестнадц = Сред(СтрокаGUID, 15, 3) + Сред(СтрокаGUID, 10, 4) + Сред(СтрокаGUID, 1, 8);
    ЧислоСек = 0;
    Для Поз = 1 По СтрДлина(Шестнадц) Цикл
        ЧислоСек = ЧислоСек * 16 + Найти("0123456789abcdef", Сред(Шестнадц, Поз, 1)) - 1;
    КонецЦикла;
    Возврат Дата(1582, 10, 15) + Цел(ЧислоСек / 10000000);
КонецФункции

Результат по GUID стоит воспринимать как оценку: если ссылка была получена заранее (методом получения новой ссылки до записи) или объект пришёл через обмен из другой базы, время GUID может отличаться от фактического момента записи в текущую базу.

Способ 4. Связанные объекты и косвенные признаки

Когда прямые источники недоступны, помогают косвенные данные. Например, если документ создавался на основании другого объекта, дата исходного документа задаёт нижнюю границу — создание не могло произойти раньше. Аналогично работают движения по регистрам, связанные задачи в бизнес-процессах и комментарии пользователей.

Ещё один ориентир — позиция документа в последовательности и его номер. Если нумерация ведётся в пределах периода (года, месяца), номер документа подсказывает примерный промежуток создания. Это не точный метод, но он помогает сузить период поиска в журнале регистрации.

Маршрут решения

Как выбрать способ

Нужна точная дата и журнал регистрации не очищалсяИспользуйте отбор по событию «Данные. Добавление» в журнале регистрации
В конфигурации включено версионирование объектовОткройте «Историю изменений» в форме документа и посмотрите первую версию
Журнал очищен, а версионирование не включеноОцените дату по GUID объекта и косвенным признакам (связанные документы, номер)
Дату создания нужно отслеживать постоянноВключите историю изменений или добавьте реквизит «Дата создания» с заполнением при записи

Массовая проверка множества документов

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

Альтернатива — написать небольшую обработку, которая выгружает события журнала регистрации методом «ВыгрузитьЖурналРегистрации» в таблицу значений и строит отчёт по документам с датами создания. Такой подход удобен, когда проверку нужно повторять регулярно.

Типичные ошибки и ограничения

Самая частая ошибка — принимать дату документа за дату создания. Пользователь мог создать документ «задним числом», и в отчётах он будет выглядеть как старый, хотя в базу попал недавно. Обратная ситуация тоже встречается: документ создан давно, но дата в нём переставлена на более позднюю.

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

Типичные ошибки
01
Считать дату в шапке документа датой создания — она редактируется и ничего не говорит о моменте записи
02
Искать события за период, который уже удалён из журнала регистрации настройкой сокращения
03
Игнорировать документы обмена: их дата добавления — это дата загрузки, а не создания в источнике
04
Ожидать историю изменений для объектов, где версионирование не было включено заранее

Как настроить учёт даты создания на будущее

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

Более надёжный вариант — добавить в конфигурацию реквизит «ДатаСоздания» и заполнять его в обработчике «ПриЗаписи» только если реквизит пуст. Так дата фиксируется один раз и не меняется при последующих перепроведениях. Дополнительно можно хранить автора создания. Это доработка, требующая участия разработчика и последующего сопровождения при обновлениях.

Контрольные точки

Как проверить результат

Событие в журнале регистрации
Норма

Найдено событие «Данные. Добавление» именно по этой ссылке на документ

Тревожный признак

Есть только события «Изменение» — запись о создании удалена или документ пришёл обменом

История изменений
Норма

Первая версия содержит автора и время создания

Тревожный признак

Список версий пуст или команда отсутствует — версионирование не включено

Дата по GUID
Норма

Полученная дата попадает в ожидаемый период работы с документом

Тревожный признак

Дата явно не соответствует контексту — ссылка могла быть получена заранее или при обмене

Итог

Что важно запомнить

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

Частые вопросы

Почему дата документа не совпадает с датой его создания?

Поле «Дата» в документе — рабочее: пользователь может поставить любое число, чтобы документ попал в нужный период учёта. Момент фактической записи в базу фиксируется отдельно — в журнале регистрации и истории изменений — и пользователю недоступен для редактирования.

Можно ли узнать дату создания, если журнал регистрации очищен?

Точную дату восстановить не получится. Остаются приблизительные методы: дата из GUID объекта, даты связанных документов-оснований, номер документа в периодической нумерации. Чтобы ситуация не повторялась, увеличьте срок хранения журнала или включите версионирование объектов.

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

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

Кто может посмотреть журнал регистрации?

Доступ к журналу регистрации требует соответствующих прав — как правило, полных прав или роли администратора. Обычный пользователь без этих прав события журнала не увидит. Если прав нет, обратитесь к администратору базы.

Можно ли сделать поле «Дата создания» видимым прямо в документе?

Да, но это доработка конфигурации: разработчик добавляет реквизит, заполняет его один раз при первой записи и выводит на форму. В некоторых типовых конфигурациях похожая информация уже доступна через историю изменений без доработок.

Насколько точна дата, вычисленная по GUID документа?

GUID формируется на основе временной метки, поэтому точность обычно составляет секунды. Однако если ссылка была создана заранее или объект пришёл из другой базы, время GUID отражает момент генерации идентификатора, а не записи в текущую базу. Используйте этот способ как оценку, а не как доказательство.