Кто удалил документ в 1С и как его вернуть: журнал, копии, хранилище

· 10 мин

Содержание

Посмотреть удаленные объекты в 1С можно двумя путями. Помеченные на удаление документы и элементы видны прямо в списках: у них перечёркнутая иконка, а полный перечень открывается в Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов. То, что удалено окончательно, в базе уже нет. Остаются журнал регистрации (кто, когда и что удалил) и резервная копия, из которой объект можно вернуть.

Документ пропал из списка, в отчётах вместо контрагента <Объект не найден>, а программист клянётся, что модуль не трогал. Ниже порядок действий: сначала понять, что именно исчезло, потом найти виновника и вернуть данные.

Что пропало: пометка удаления или окончательное удаление

От ответа на этот вопрос зависит всё остальное. В 1С 8.3 удаление почти всегда идёт в два этапа:

  • 🟡 Пометка удаления. Пользователь нажимает Del или «Пометить на удаление». Объект остаётся в базе, документ теряет проведение, но его можно найти и снять пометку.
  • 🔴 Окончательное удаление. Администратор запускает обработку удаления помеченных объектов, либо пользователь с правом «Интерактивное удаление» удаляет объект сразу через Shift+Del. Записи в таблицах базы больше нет.

Как увидеть помеченные на удаление объекты

  1. Откройте нужный список: документы, справочник, присоединённые файлы.
  2. Помеченные строки отмечены перечёркнутой иконкой. Если их не видно, проверьте отбор: Ещё → Настроить список → Отбор, поле «Пометка удаления».
  3. Чтобы увидеть всё помеченное по базе разом, откройте Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов. Обработка покажет список по видам объектов. Смотреть его безопасно, пока вы не нажали кнопку удаления.
  4. Нужный объект откройте и снимите пометку той же командой, которой её ставили.

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

ВЫБРАТЬ
    Док.Ссылка,
    Док.Дата,
    Док.Номер
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК Док
ГДЕ
    Док.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
    Док.Дата

Признаки окончательного удаления

  • 🔗 В других документах вместо ссылки стоит <Объект не найден> с длинным идентификатором в скобках.
  • 📭 Поиск по номеру в списке ничего не даёт, даже с пустым отбором.
  • 🧾 В журнале регистрации есть событие удаления по этому объекту (о нём ниже).

Битая ссылка хранит уникальный идентификатор удалённого объекта. Это пригодится при восстановлении: объект, загруженный из копии с тем же идентификатором, «оживит» все ссылки на себя.

Что вы видите на месте пропавшего объекта?

Журнал регистрации: кто и когда удалил объект в 1С

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

Где открыть журнал

ГдеПуть
БП 3.0, ЗУП 3.1, УТ 11Администрирование → Обслуживание → Журнал регистрации
КонфигураторАдминистрирование → Журнал регистрации
Любая конфигурацияВсе функции → Стандартные → Журнал регистрации

Пункт «Все функции» включается в Сервис и настройки → Параметры, флажок «Отображать команду “Все функции”».

Как отфильтровать удаление

  1. Откройте журнал и задайте отбор по периоду: день, когда объект ещё точно был, и день, когда его не стало.
  2. В отборе по событиям оставьте «Данные. Удаление». Пометка удаления в журнале обычно выглядит как запись объекта, то есть событие «Данные. Изменение».
  3. Если знаете вид объекта, укажите его в отборе по метаданным. Список сократится в разы.
  4. Откройте найденную запись. В колонке «Данные» вместо ссылки будет <Объект не найден>, но поле «Представление данных» сохраняет текст вида «Поступление (акт, накладная) 0000-000123 от 03.10».
  5. Запишите время удаления до минуты. Оно нужно, чтобы выбрать подходящую резервную копию.

Если в журнале пусто, проверьте уровень регистрации: Конфигуратор → Администрирование → Настройка журнала регистрации. При уровне «Регистрировать ошибки» удаление данных не попадёт в журнал. Для расследований нужен уровень «Регистрировать все события» или хотя бы с информацией.

Где лежат файлы журнала

Журнал хранится отдельно от данных, и его можно скопировать для разбора:

  • 📁 Файловая база — папка 1Cv8Log рядом с файлом 1Cv8.1CD.
  • 🖥 Клиент-серверная база — srvinfo\reg_1541\<идентификатор базы>\1Cv8Log на сервере 1С.
  • 🗂 Формат: один файл 1Cv8.lgd (SQLite) или набор файлов .lgf и .lgp (последовательный формат). Переключается там же, в настройке журнала.

Срок хранения задаётся в той же настройке. Если стоит «хранить за последний месяц», а удалили два месяца назад, следов уже нет.

Резервные копии и теневые копии Windows

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

Выгрузка .dt

  1. Создайте в окне запуска новую пустую базу без конфигурации.
  2. Откройте её в Конфигураторе: Администрирование → Загрузить информационную базу, выберите файл .dt с датой раньше удаления.
  3. Найдите объект в копии и убедитесь, что он целый.

Теневые копии файловой базы

Если на диске включена защита системы или история файлов, у папки базы есть вкладка «Предыдущие версии» в свойствах. Скопируйте оттуда 1Cv8.1CD в новую папку и добавьте её в список баз как отдельную. Рабочий файл не заменяйте.

Клиент-серверная база на MS SQL или PostgreSQL

При полной модели восстановления MS SQL и наличии бэкапов журнала транзакций базу можно поднять на конкретную минуту, например за минуту до удаления из журнала регистрации:

RESTORE DATABASE buh_copy
  FROM DISK = 'D:\backup\buh_full.bak'
  WITH MOVE 'buh' TO 'D:\data\buh_copy.mdf',
       MOVE 'buh_log' TO 'D:\data\buh_copy_log.ldf',
       NORECOVERY;

RESTORE LOG buh_copy
  FROM DISK = 'D:\backup\buh_log.trn'
  WITH STOPAT = '2026-10-03 14:29:00', RECOVERY;

Логические имена файлов (buh, buh_log) у вас будут свои, их показывает RESTORE FILELISTONLY. После восстановления зарегистрируйте buh_copy в кластере 1С как новую базу. В PostgreSQL то же самое делается через восстановление на момент времени по архиву WAL, если он настроен.

Как перенести объект из копии в рабочую базу

СпособКогда подходитРиски
Ввести вручную по копии1-3 простых документаНовый объект со своим идентификатором, битые ссылки останутся битыми
Обработка «Выгрузка и загрузка данных XML»Нужно вернуть объект с тем же идентификаторомТянет за собой связанные элементы; загружать на копии рабочей базы, потом в рабочую
Правила обмена (Конвертация данных)Десятки объектов разных видовДолго настраивать, нужен специалист

Универсальная обработка выгрузки в XML сохраняет идентификатор. После загрузки все <Объект не найден> в других документах снова показывают нужный объект. Документ после загрузки перепроведите и сверьте остатки.

История хранилища конфигурации: удалённые реквизиты и модули

Если «удалили» не документ, а реквизит, форму, макет или кусок кода, данных это не касается. Возвращать нужно конфигурацию.

  1. В Конфигураторе откройте Конфигурация → Хранилище конфигурации → История хранилища.
  2. Отберите версии за нужный период. В комментариях и списке изменённых объектов видно, кто и когда помещал изменения.
  3. Сравните две соседние версии: удалённый объект отмечается в отчёте сравнения как отсутствующий во второй версии.
  4. Сохраните версию до удаления в файл .cf.
  5. Верните объект через Конфигурация → Сравнить, объединить с конфигурацией из файла, отметив флажками только нужное.

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

Без хранилища выручают сохранённые .cf и файлы поставки. Сравните текущую конфигурацию с последней сохранённой тем же пунктом меню, и отчёт сравнения покажет, что пропало.

Git: как найти удалённый файл модуля

Когда конфигурацию ведут в 1С:EDT или регулярно выгружают в файлы, каждый объект метаданных — отдельный файл. Удалённый модуль ищется обычными средствами Git.

Выгрузка из Конфигуратора: Конфигурация → Выгрузить конфигурацию в файлы. Из командной строки:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /DumpConfigToFiles "D:\repo\src"

Путь к платформе подставьте свой. Дальше в репозитории:

# все удалённые файлы в истории, с коммитами
git log --diff-filter=D --name-only -- src/

# вернуть файл из коммита перед удалением
git checkout <хеш_коммита>~1 -- "src/Documents/ПоступлениеТоваровУслуг/Ext/ObjectModule.bsl"

Затем загрузите исправленные файлы обратно (Конфигурация → Загрузить конфигурацию из файлов) или вставьте код вручную. Чтобы переносить историю хранилища в Git автоматически, обычно используют утилиту gitsync из экосистемы OneScript: каждая версия хранилища становится коммитом с автором и комментарием.

Обработки и утилиты для поиска удалённого

Стандартных средств хватает не всегда. Вот чем пользуются на практике:

  • 🧪 Тестирование и исправление. В Конфигураторе Администрирование → Тестирование и исправление, флажок «Проверка ссылочной целостности». Для битых ссылок есть режим «Создавать объекты»: платформа создаст пустые объекты-заглушки, и вы увидите, сколько и каких объектов удалено. Запускайте только на копии базы: обработка меняет данные, а для неё нужен монопольный доступ, все пользователи должны выйти.
  • 📜 История изменений объектов. Если в конфигурации включено хранение версий (в типовых на БСП флажок в Администрирование → Общие настройки), в карточке объекта есть история с автором каждой правки. Это помогает понять, что меняли перед удалением.
  • 🔎 Консоль запросов. Ищет помеченные объекты по нескольким видам сразу и проверяет, где ещё встречается идентификатор из битой ссылки.
  • 🗄 Tool_1CD. Открывает файл 1Cv8.1CD без платформы и выгружает таблицы. Полезна, когда файл повреждён. Вытащить окончательно удалённые записи она не гарантирует: место в файле переиспользуется.
  • 📑 Анализ журнала регистрации. Сторонние обработки и скрипты выгружают журнал в таблицу или SQL, где удобнее строить сводки «кто удалял чаще всего».
Перед восстановлением из копии
Выполнено: 0 / 6

Как не терять данные снова: права, регламент, копии

Типичные «загадочные» исчезновения — это удаление сразу, без пометки, или регламентное удаление помеченных, о котором забыли.

Права пользователей

  • 🚫 Уберите право «Интерактивное удаление» у всех, кроме администратора. Тогда Shift+Del не сработает, останется только пометка.
  • 👤 Запуск обработки удаления помеченных объектов оставьте одному ответственному. В типовых конфигурациях это делается через профили групп доступа в Администрирование → Настройки пользователей и прав.
  • 🔑 Не работайте всей бухгалтерией под одним пользователем: журнал покажет имя, но не человека.

Регламентное удаление помеченных

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

Копии и журнал

Что настроитьОриентир
Выгрузка .dt или бэкап СУБДЕжедневно, хранить не меньше 14-30 дней
Бэкап журнала транзакций (MS SQL)Каждые 15-60 минут при полной модели
Уровень журнала регистрации«Регистрировать все события»
Срок хранения журналаНе меньше срока хранения копий
Проверка копииРаз в месяц разворачивать в тестовую базу

Копия, которую ни разу не разворачивали, — это надежда, а не копия.

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

Можно ли посмотреть содержимое удалённого документа в журнале регистрации?
Нет. Журнал хранит событие, пользователя, время и представление объекта: вид, номер и дату. Суммы и табличные части берут только из резервной копии.
Почему удалённый документ не виден, хотя в журнале нет события удаления?
Чаще всего на списке стоит отбор, документ перенесён в другую организацию или период, либо журнал ведётся с уровнем «только ошибки». Сначала снимите все отборы и проверьте поиск по номеру.
Восстановится ли проведение документа после загрузки из копии?
Документ загрузится с признаком проведения, но движения в регистрах лучше пересоздать: перепроведите его и проверьте остатки и оборотно-сальдовую ведомость.
Удаляются ли прикреплённые файлы вместе с документом?
Присоединённые файлы — отдельные объекты. Обычно они помечаются на удаление вместе с владельцем и окончательно уходят при удалении помеченных. Если файлы хранились в томе на диске, после очистки исчезает и сам файл в папке тома.
Сколько хранится история в журнале регистрации?
Столько, сколько задано в его настройке в Конфигураторе. Платформа удаляет старые записи сама, поэтому для расследований срок лучше ставить не меньше года.