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

В этой статье мы разберём 5 рабочих способов определения даты создания документа — от простых (через журнал документов) до продвинутых (SQL-запросы и программный код). Методы проверены на типовых конфигурациях 1С:Бухгалтерия 3.0, 1С:Управление торговлей 11 и 1С:Зарплата и управление персоналом 3.1, но применимы и к другим решениям на платформе 1С:Предприятие 8.3. Особое внимание уделим нюансам, когда дата создания может отличаться от даты проведения на несколько дней или даже месяцев — это типичная ситуация при миграции данных или ретроспективном вводе документов.

1. Стандартный способ: журнал документов и история изменений

Самый доступный метод — использовать встроенные инструменты 1С. Он не требует прав администратора и работает даже в тонком клиенте.

Откройте журнал документов нужного типа (например, «Реализация товаров и услуг»). Найдите интересующий документ и:

  • 📅 Кликните правой кнопкой по документу → выберите «История изменений». В открывшемся окне будет колонка «Дата изменения», где первая запись соответствует дате создания.
  • 🔍 Если колонки «Дата изменения» нет, нажмите Ещё → Настроить список и добавьте её вручную.
  • ⚙️ В некоторых конфигурациях (например, 1С:ERP) история изменений может быть отключена — тогда этот метод не сработает.

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

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

2. Через конфигуратор: системные поля таблиц базы данных

Этот метод точнее предыдущего, но требует доступа к конфигуратору с правами администратора. Мы будем анализировать системные поля таблиц СУБД, где 1С хранит метаданные документов.

Инструкция:

  1. Откройте базу в режиме Конфигуратор (запуск с удержанием Shift).
  2. Перейдите в Администрирование → Поддержка и обслуживание → Регламентные операции.
  3. Выберите «Тестирование и исправление» → нажмите «Выполнить».
  4. После завершения операции откройте Файл → Открыть SQL-запрос (или используйте внешние инструменты вроде SQL Server Management Studio для MS SQL).

Выполните запрос к системной таблице (пример для документа «Поступление товаров»):

SELECT

T.Родитель AS DocumentID,

T.ДатаСоздания AS CreationDate

FROM

_Document16 AS T -- _Document{НомерТипа} для вашего типа документа

WHERE

T.Ссылка = '0x{ИдентификаторДокумента}' -- замените на реальный ID

Чтобы узнать НомерТипа и ИдентификаторДокумента:

  • 🔍 В конфигураторе откройте Метаданные → Документы, найдите нужный тип и посмотрите его номер в свойствах.
  • 📋 Идентификатор ссылки можно скопировать из адресной строки при открытии документа в пользовательском режиме (параметр ref=).
💡

Если вы работаете с PostgreSQL, замените 0x{Идентификатор} на формат UUID без префикса. В MS SQL идентификаторы хранятся в двоичном виде с префиксом 0x

⚠️ Внимание: Структура системных таблиц может отличаться в разных версиях платформы. После обновления 1С до 8.3.20+ некоторые поля были переименованы. Всегда проверяйте актуальные имена колонок через SELECT TOP 1 * FROM _Document{НомерТипа}.

3. Программный метод: использование встроенного языка 1С

Для автоматизации или массового анализа документов подходит скрипт на встроенном языке 1С. Этот способ универсален и работает в любых конфигурациях.

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

Процедура ПолучитьДатуСозданияДокумента(СсылкаНаДокумент)

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ИсторияДанных.ДатаИзменения КАК ДатаСоздания

|ИЗ

| РегистрСведений.ИсторияДанных КАК ИсторияДанных

|ГДЕ

| ИсторияДанных.Ссылка = &Ссылка

|УПОРЯДОЧИТЬ ПО

| ИсторияДанных.ДатаИзменения ВОЗРАСТАНИЮ

|ИНДЕКСИРОВАТЬ ПО

| ДатаИзменения";

Запрос.УстановитьПараметр("Ссылка", СсылкаНаДокумент);

Результат = Запрос.Выполнить();

Если НЕ Результат.Пустой() Тогда

ПерваяЗапись = Результат.Выбрать().Следующий();

Сообщить("Дата создания документа: " + ПерваяЗапись.ДатаСоздания);

Иначе

Сообщить("История изменений отсутствует!");

КонецЕсли;

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

Как использовать:

  • 📝 Скопируйте код в модуль любой формы или обработки.
  • 🔗 Передайте в процедуру ссылку на документ (например, Документы.ПоступлениеТоваров.НайтиПоНомеру("ПТ-000123")).
  • 📅 Результат будет выведен в сообщении или может быть сохранён в переменную.

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

Проверьте права на чтение регистра сведений "ИсторияДанных"

Убедитесь, что аудит изменений включён в настройках базы

Сохраните резервную копию перед массовыми операциями

Тестируйте код на копии рабочей базы-->

4. Анализ логов транзакций (для опытных пользователей)

Если документ был создан давно и его история стёрта, остаётся анализировать логи транзакций СУБД. Это сложный метод, требующий знаний SQL и доступа к серверу базы данных.

Для MS SQL Server можно использовать системные представления:

SELECT

[Transaction ID],

[Begin Time] AS TransactionStartTime,

[Transaction Name]

FROM

fn_dblog(NULL, NULL)

WHERE

[Transaction Name] LIKE '%1C%'

AND [Begin Time] BETWEEN '2023-01-01' AND '2023-12-31'

ORDER BY

[Begin Time] DESC

Для PostgreSQL подойдёт запрос к таблице pg_stat_activity или анализ WAL-журналов (Write-Ahead Logging). Однако этот метод имеет ограничения:

ПлюсыМинусы
Можно восстановить дату создания даже для удалённых документовТребуются права sysadmin на сервере СУБД
Работает для документов, созданных до включения аудитаЛоги ротируются и могут не содержать старых данных
Позволяет отследить пользователя, создавшего документСложно фильтровать по конкретному документу
⚠️ Внимание: Анализ транзакционных логов может нарушить производительность работающей базы. Выполняйте такие запросы в периоды минимальной нагрузки или на резервной копии.

5. Внешние инструменты: 1С:Аудит и специализированные обработки

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

  • 🔎 1С:Аудит — типовой продукт для проверки корректности данных. Позволяет построить отчёт по датам создания, изменения и проведения документов за любой период.
  • 📊 Обработка «История документов» (доступна на Инфостарт или 1С-Галлерея). Визуализирует цепочку изменений с указанием авторов и временных меток.
  • 🛠️ 1С:Конвертация данных — может извлечь метаданные при переносе документов между базами.

Пример отчёта из 1С:Аудит:

Документ: ПоступлениеТоваров ПТ-000456

Дата создания: 12.05.2023 14:30:22

Пользователь: Иванов И.И.

Дата первого проведения: 12.05.2023 14:32:15

Последнее изменение: 15.05.2023 09:15:44 (Петров П.П.)

Преимущество внешних инструментов — визуализация и возможность массовой обработки. Например, обработка с Инфостарта может экспортировать историю в Excel для дальнейшего анализа.

Как найти бесплатные обработки для анализа документов?

На сайте Инфостарт (infostart.ru) в разделе "Публикации" используйте фильтр по тегам: #аудит #история_изменений #1С_8.3. В большинстве случаев есть бесплатные версии с ограниченным функционалом или демо-периодом. Обращайте внимание на рейтинг публикации и отзывы пользователей — это поможет избежать нестабильных решений.

Сравнение методов: какой выбрать?

Выбор способа зависит от ваших прав в базе, технических навыков и цели анализа. Ниже сводная таблица для быстрого ориентирования:

Метод Требуемые права Точность Сложность Подходит для массового анализа
Журнал документов Пользовательские Средняя (зависит от аудита) Низкая ❌ Нет
Конфигуратор + SQL Администратор Высокая Средняя ✅ Да
Встроенный язык 1С Пользователь с правами на запросы Высокая Средняя ✅ Да
Логи транзакций Sysadmin СУБД Максимальная Высокая ⚠️ Ограничено
Внешние инструменты Зависит от решения Высокая Низкая ✅ Да

Для разовых проверок подойдёт журнал документов или встроенный язык. Если нужно проанализировать тысячи документов — используйте SQL-запросы или специализированные обработки.

💡

Дата создания документа в 1С может отличаться от даты в поле "Дата" на дни, месяцы или даже годы. Это нормально для ретроспективно введённых документов или при миграции данных из других систем.

FAQ: Частые вопросы о дате создания документов в 1С

Можно ли узнать дату создания документа, если он был удалён?

Да, но с оговорками. Если документ удалён логически (помечен на удаление), его можно восстановить через журнал и посмотреть дату создания стандартными методами. Если удалён физически — поможет только анализ резервных копий или транзакционных логов СУБД (при условии, что они не были очищены). В 1С:Бухгалтерии 3.0 для этого есть обработка «Восстановление удалённых документов».

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

Это типичная ситуация для документов, введённых задним числом. Поле «Дата» в документе отражает бизнес-дату операции (например, 01.01.2023), а дата создания в истории — момент сохранения в базе (например, 15.06.2023). Такое расхождение нормально и не указывает на ошибку. Чтобы избежать путаницы, в некоторых конфигурациях (например, 1С:ERP) добавляют пользовательское поле «ДатаСоздания» и заполняют его автоматически при записи.

Как массово экспортировать даты создания документов в Excel?

Используйте внешнюю обработку или напишите скрипт на встроенном языке. Пример кода для экспорта:

Процедура ЭкспортДатыСоздания()

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

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

| МИНИМУМ(ИсторияДанных.ДатаИзменения) КАК ДатаСоздания

|ИЗ

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

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияДанных КАК ИсторияДанных

| ПО Документ.Ссылка = ИсторияДанных.Ссылка

|СГРУППИРОВАТЬ ПО

| Документ.Ссылка";

Результат = Запрос.Выполнить();

ТаблицаРезультата = Результат.Выгрузить();

ЭкспортВExcel(ТаблицаРезультата, "ДатыСозданияДокументов.xlsx");

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

Для выгрузки в Excel используйте стандартную процедуру ЗаписьXML или библиотеку OneScriptExcel.

Можно ли изменить дату создания документа в 1С?

Технически да, но это требует прямого вмешательства в базу данных и нарушает целостность данных. Дата создания хранится в системных полях таблиц СУБД (например, _Document{НомерТипа}.ДатаСоздания). Изменение этого поля может привести к:

  • 🔄 Нарушению последовательности событий в истории.
  • 🚨 Ошибкам при регламентных операциях (например, закрытии месяца).
  • 📝 Проблемам с аудитом и отчётностью.

Если необходимо скорректировать дату для бизнес-процессов, лучше добавить пользовательское поле (например, «ДатаРегистрации») и заполнять его вручную.

Как узнать, кто создал документ, если в истории изменений нет данных?

Если аудит отключён, попробуйте:

  1. Просмотреть логи входов пользователей1С:Предприятии 8.3 они хранятся в регистре сведений «ЖурналРегистрации»).
  2. Использовать логи СУБД (например, в MS SQL через fn_dblog или PostgreSQL через pg_stat_activity).
  3. Проанализировать резервные копии базы на момент создания документа.

В крайнем случае поможет журнал событий Windows (если 1С работает на сервере под управлением Windows) — в нём фиксируются запуски сеансов пользователей.