Как вернуть удалённые документы и справочники в 1С 8.3

· 9 мин

Содержание

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

Поэтому первый вопрос, на который надо ответить: объект ещё есть в базе (просто с крестиком) или его уже нет совсем. От этого зависит весь дальнейший план действий.

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

Как именно пропал объект?

Пометка на удаление и физическое удаление: почему это разные вещи

В 1С удаление идёт в два приёма, и это ключ ко всей теме.

Сначала пользователь помечает объект на удаление — элемент остаётся в базе, но получает перечёркнутый значок и перестаёт участвовать в новых операциях. На этом этапе ничего не потеряно.

Физическое удаление выполняет отдельная процедура — обработка «Удаление помеченных объектов». Она проверяет, не ссылается ли на объект что-то ещё, и только после этого стирает его из базы данных окончательно.

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

Отсюда простое правило: пока объект только помечен на удаление, он восстанавливается мгновенно; после физического удаления — только из резервной копии. Всё остальное — способы понять, что и когда было стёрто, и как аккуратно поднять данные из бэкапа.

Чтобы было проще сориентироваться, вот сводка методов — когда какой применять и чего от него ждать:

СпособКогда работаетЧто возвращает
Снять пометку на удалениеОбъект помечен, но очистка не прошлаОбъект целиком, мгновенно
Журнал регистрацииВсегда (если включён)Факт и состав удаления, не сам объект
Технологический журналТолько если работал до удаленияТехнические следы операции
Резервная копия / .dtЕсть копия за нужную датуОбъект на дату копии
Перенос из копии-донораКопия поднята отдельной базойВыбранные объекты в рабочую базу

Первые две строки — это проверка «что вообще случилось», последние три — собственно восстановление данных.

Как снять пометку на удаление в режиме «Предприятие»

Это самый частый случай и самый быстрый способ «восстановить» элемент.

  1. Откройте список, где лежал объект: нужный справочник, журнал документов или список операций.
  2. Включите отображение помеченных объектов, если они скрыты. В панели списка это кнопка Ещё → Настроить список либо фильтр по пометке удаления — помеченные строки идут с перечёркнутым значком.
  3. Встаньте на нужную строку и нажмите Del — для помеченного объекта эта клавиша снимает пометку. То же самое доступно через контекстное меню: правый клик → Снять пометку на удаление.
  4. Подтвердите действие. Значок перечёркивания исчезнет, объект снова активен.

Снять пометку можно и из самой карточки объекта: откройте документ или элемент и выберите Ещё → Снять пометку на удаление.

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

Не запускайте удаление помеченных объектов «вслепую», не просмотрев список. После завершения обработки отменить её нельзя.

Что показывает журнал регистрации: кто и когда удалил

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

Откройте Администрирование → Журнал регистрации. Чтобы не листать тысячи строк, настройте отбор:

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

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

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

Полезно заодно посмотреть событие «Данные. Изменение» рядом по времени: иногда перед удалением объект правили, и это помогает восстановить последнее корректное состояние по памяти или по другим документам.

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

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

Поиск следов удаления в технологическом журнале

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

ТЖ помогает, только если он был настроен и работал ещё ДО удаления. Включить его задним числом и «вытащить» то, что уже стёрто, невозможно — журнал не ведёт историю ретроспективно.

Настраивается ТЖ файлом logcfg.xml в каталоге conf платформы. В нём указывают, какие события и в какой каталог писать. Для анализа удалений обычно собирают события работы с СУБД (DBMSSQL) — в них видны SQL-запросы, в том числе операторы удаления строк из таблиц базы.

Что это даёт на практике:

  • Точное время и контекст операции удаления на уровне СУБД.
  • Связку с конкретным сеансом и пользователем.
  • В отдельных случаях — значения ключевых полей удалённой записи, если они попали в текст запроса.

Чего это не даёт: готового объекта для возврата в базу. ТЖ — это текстовые логи для диагностики, а не механизм восстановления. Если ТЖ у вас не включён (а в большинстве рабочих баз его специально не держат из-за объёма), этот способ отпадает — переходите к резервной копии.

Восстановление из резервной копии и загрузка файла .dt

Это основной и самый надёжный способ вернуть физически удалённый объект. Суть одна: взять состояние базы до удаления и достать оттуда нужные данные.

Для файловой базы резервная копия — это, по сути, копия файла 1Cv8.1CD. Если у вас есть такой файл за нужную дату, с ним уже можно работать.

Выгрузка в формат .dt — универсальный вариант для файловых и клиент-серверных баз. Создаётся и загружается в конфигураторе:

  1. Администрирование → Выгрузить информационную базу — получаете файл .dt (полная выгрузка).
  2. Администрирование → Загрузить информационную базу — поднимаете базу из такого файла.

Загрузка .dt полностью затирает текущую базу и требует монопольного (исключительного) доступа — все активные сеансы будут завершены. Поэтому загружать копию поверх рабочей базы, чтобы «вернуть один документ», нельзя: вы потеряете все данные, введённые после даты копии.

Правильный порядок действий другой:

  1. Создайте отдельную информационную базу (пустую, в том же каталоге или на другом диске).
  2. Загрузите в неё резервную копию или .dt — так появится «фотография» базы на нужную дату, не трогающая рабочую.
  3. Найдите в этой копии удалённый объект.
  4. Перенесите его в рабочую базу — вручную (если объект один) или выгрузкой/загрузкой данных (если объектов много). Об этом — в следующем разделе.

Такой подход безопасен: рабочая база продолжает жить, а копия служит только донором данных.

Как перенести удалённый объект из копии базы

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

Один-два объекта — вручную. Откройте копию в режиме «Предприятие», найдите нужный документ или элемент справочника, перепишите реквизиты и табличные части и заведите объект заново в рабочей базе. Долго, но без риска затронуть лишнее.

Группа связанных объектов — выгрузкой данных. В типовых конфигурациях есть штатная обработка выгрузки и загрузки данных в формате XML. Схема такая:

  1. В базе-копии выгрузите нужные объекты (и объекты, на которые они ссылаются) в XML-файл.
  2. В рабочей базе загрузите этот файл той же обработкой.

Выгружайте объект вместе с его «ссылочным окружением» — контрагентом, договором, номенклатурой. Иначе загруженный документ будет ссылаться на пустые значения.

Про «консоль запросов». Консоль запросов сама по себе данные не восстанавливает — она только читает то, что есть в базе. Её роль вспомогательная: в базе-копии запросом удобно найти нужные объекты, свериться по реквизитам и собрать их список перед выгрузкой. Непосредственный перенос делают обработки выгрузки/загрузки или ручной ввод, а не консоль.

Если переносить данные между базами нужно программно и регулярно, это делают через соединение с базой-копией (внешнее соединение) и обработку, которая читает объекты из копии и записывает их в рабочую базу. Это уже задача для специалиста 1С — здесь важно знать, что путь существует и он корректный.

Как защититься от случайного удаления: права и регламент

Восстановление — всегда работа постфактум. Дешевле не допускать потерь. Несколько мер закрывают большинство случаев.

  • 🔐 Ограничьте право на удаление. В ролях пользователей есть отдельные права «Удаление» и «Интерактивное удаление». Рядовым пользователям интерактивное удаление и запуск обработки удаления помеченных объектов обычно не нужны — оставьте их администратору.
  • 🗓 Регламентные резервные копии. Настройте автоматическое создание копий (ежедневно, а в активных базах — чаще). Копия вчерашнего дня превращает любое удаление из ЧП в десятиминутную задачу.
  • 🧹 Удаление помеченных — по графику и с проверкой. Не очищайте помеченные объекты «на лету». Выделите это в регламентную процедуру, когда ответственный просматривает список перед очисткой.
  • 👀 Периодический контроль журнала регистрации. Разбор событий удаления раз в неделю помогает заметить проблему, пока свежая копия ещё под рукой.
Что сделать после пропажи объекта
Выполнено: 0 / 7

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

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