Пропали документы и элементы справочников в 1С 8.3: что можно вернуть и каким способом

· 10 мин

Содержание

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

Частое заблуждение — что журнал регистрации хранит удалённые данные и из него можно «откатить» удаление. Не хранит. Журнал покажет, кто, когда и что удалил, а сами реквизиты и табличные части придётся брать из копии базы.

Помечен или удалён физически: как определить, что случилось с объектом

От ответа на этот вопрос зависит всё остальное. Потратьте на проверку пять минут, прежде чем поднимать бэкапы.

Признаки пометки на удаление

  • 🔴 Строка в списке на месте, но иконка слева перечёркнута крестиком.
  • 📄 Документ открывается, реквизиты и табличная часть заполнены.
  • 🔍 Объект находится поиском по номеру или наименованию.

Пометка — это просто флаг. Данные целы, ссылки на объект в других документах работают.

Признаки физического удаления

  • ❌ Объекта нет в списке даже при сброшенных отборах.
  • 🔗 В документах, где он был выбран, вместо значения видно <Объект не найден> и длинный идентификатор.
  • 📉 Обороты и остатки в отчётах изменились, а документа, который их давал, нет.

Строка <Объект не найден> — важная подсказка. Она означает, что ссылка в других объектах сохранилась, а сама запись исчезла. При возврате из копии с тем же внутренним идентификатором такие «битые» ссылки оживут сами.

Прежде чем делать вывод «удалено»

Сначала исключите простые причины, из-за которых объект просто не виден:

  1. Сбросьте отбор и поиск в форме списка. Отбор по организации, периоду или складу прячет строки незаметно.
  2. Проверьте период списка документов. Если в форме задан интервал дат, документ за другой месяц не отобразится.
  3. Поищите элемент справочника в других группах. Его могли перенести, а не удалить.
  4. Убедитесь, что вы в той базе. При нескольких базах в списке запуска путаница случается чаще, чем кажется.

Снимаем пометку удаления и возвращаем объект в работу

Это самый частый и самый безопасный случай.

Порядок действий

  1. Откройте список нужных документов или справочник.
  2. Выделите помеченную строку. Можно выделить несколько, удерживая Ctrl.
  3. Нажмите Del либо выберите в контекстном меню команду снятия пометки. Клавиша работает как переключатель: ставит пометку и снимает её.
  4. Подтвердите действие в вопросе программы.

Что сделать с документом после снятия пометки

Когда проведённый документ помечают на удаление, 1С отменяет его проведение и очищает движения по регистрам. Снятие пометки движения не возвращает — документ остаётся непроведённым.

Поэтому после снятия пометки:

  1. Откройте документ и проверьте, что реквизиты не изменились.
  2. Проведите его.
  3. Если за период уже закрыт месяц, учтите, что повторное проведение задним числом может потребовать повторного закрытия месяца.

Если в базе установлена дата запрета изменения данных, провести документ в закрытом периоде не получится. Это не ошибка восстановления, а защита. Решение о переносе даты запрета принимает главный бухгалтер.

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

Ищем следы удаления в журнале регистрации

Журнал регистрации отвечает на вопросы «кто», «когда» и «что именно». Без этих данных трудно выбрать правильную резервную копию.

Как открыть журнал

  • 🖥 В пользовательском режиме: раздел Администрирование → Обслуживание, группа отчётов администратора, пункт «Журнал регистрации».
  • 🛠 В конфигураторе: Администрирование → Журнал регистрации.

Какие события смотреть

Событие в журналеЧто означает
Данные. УдалениеОбъект физически удалён из базы
Данные. ИзменениеОбъект записан; так фиксируется и установка пометки удаления
Данные. Отмена проведенияДокумент стал непроведённым

Задайте отбор:

  1. Период — от последнего дня, когда объект точно был на месте, до текущего момента.
  2. Событие — «Данные. Удаление».
  3. При необходимости — пользователь или компьютер.

В строке события видно точное время, имя пользователя, компьютер, приложение и представление объекта, например «Реализация (акт, накладная) 00БП-000123 от 03.10». По этому представлению поймёте, тот ли это документ.

Чего журнал не умеет

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

Этот момент и есть главная ценность журнала. Нужна резервная копия, сделанная до него, и чем ближе к нему, тем меньше работы при переносе.

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

Возвращаем удалённые данные из резервной копии базы

Главное правило: резервную копию разворачивают в отдельную, новую базу, а не поверх рабочей. Загрузка копии поверх рабочей вернёт удалённый документ, но сотрёт всё, что пользователи ввели после момента копии.

Шаг 1. Выберите копию

Нужна копия, сделанная после создания объекта и до его удаления. Время удаления берите из журнала регистрации.

Вид копииГде обычно лежитКак развернуть
Файл выгрузки .dtПапка бэкапов, сделанных из конфигуратораСоздать пустую базу, в конфигураторе Администрирование → Загрузить информационную базу
Копия каталога файловой базыАрхив с файлом 1Cv8.1CDРаспаковать в новую папку и добавить её в список баз
Бэкап СУБД (.bak, дамп PostgreSQL)Сервер СУБДВосстановить под новым именем базы и создать на ней информационную базу в кластере
Теневая копия Windows«Предыдущие версии» папки с файловой базойСкопировать папку из предыдущей версии в новое место

Шаг 2. Изолируйте копию

Развёрнутая копия — полноценная база с теми же настройками. Без изоляции она способна натворить дел:

  • 📤 отправить документы через узел обмена;
  • 📧 разослать письма и уведомления;
  • 🔄 запустить регламентные задания и загрузку банковских выписок.

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

Шаг 3. Перенесите объекты в рабочую базу

Один-два небольших документа проще ввести заново по образцу из копии. Если объектов много или на них ссылаются другие документы, переносите с сохранением внутренних идентификаторов.

Для этого применяют обработку «Выгрузка и загрузка данных XML» с диска ИТС. Порядок:

  1. Откройте обработку в копии через Файл → Открыть.
  2. На вкладке выгрузки отметьте нужный вид объектов и задайте отбор по конкретным ссылкам или номерам.
  3. Выгрузите в файл XML.
  4. Откройте ту же обработку в рабочей базе и загрузите файл.
  5. Проведите загруженные документы.

Плюс этого способа — тот же внутренний идентификатор. Все ссылки <Объект не найден> в рабочей базе снова покажут нормальное значение.

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

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

Откат клиент-серверной базы на момент времени по журналу транзакций СУБД

Ночной бэкап бывает слишком старым: объект создали утром и удалили днём. Тогда спасает журнал транзакций СУБД — если он сохраняется.

Условия для MS SQL Server

  • 🗄 База в модели восстановления FULL (полная).
  • 💾 Есть полный бэкап и непрерывная цепочка бэкапов журнала после него.

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

Пример восстановления копии на момент до удаления

Логические имена файлов узнайте командой RESTORE FILELISTONLY для файла полного бэкапа. Затем:

RESTORE DATABASE Buh_restore
  FROM DISK = N'D:\Backup\Buh_full.bak'
  WITH MOVE N'Buh' TO N'D:\SQLData\Buh_restore.mdf',
       MOVE N'Buh_log' TO N'D:\SQLData\Buh_restore_log.ldf',
       NORECOVERY;

RESTORE LOG Buh_restore
  FROM DISK = N'D:\Backup\Buh_log_1200.trn'
  WITH STOPAT = N'2026-10-06T14:25:00',
       RECOVERY;

Время в STOPAT ставьте на минуту-две раньше события «Данные. Удаление» из журнала регистрации 1С. Если бэкапов журнала несколько, их применяют по порядку с NORECOVERY, а STOPAT с RECOVERY указывают в последнем.

PostgreSQL

Аналог — восстановление на момент времени (PITR). Оно возможно, только если заранее было настроено архивирование WAL-файлов и есть базовая копия кластера. Цель восстановления задаётся параметром recovery_target_time. Восстанавливают на отдельный экземпляр PostgreSQL, а не на рабочий.

После восстановления

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

Восстановление выполняйте только под новым именем базы. Команда RESTORE поверх рабочей базы с WITH REPLACE откатит всю базу и уничтожит работу всех пользователей после указанного времени.

Сторонние утилиты и восстановление файлов: на что рассчитывать

Если резервной копии нет, вариантов немного. Честно о каждом.

Если удалили объект внутри файловой базы

После физического удаления запись помечается как свободное место внутри 1Cv8.1CD. Пока его не перезаписали новые данные, фрагменты могут лежать в файле. Сторонние программы чтения формата 1CD (например, Tool_1CD) позволяют посмотреть таблицы файла без запуска платформы.

Гарантий здесь нет: любая работа пользователей после удаления может затереть фрагменты. Работают только с копией файла, базу перед этим закрывают.

Если удалили всю файловую базу с диска

Тогда это задача обычного восстановления файлов. Порядок:

  1. Сразу прекратите запись на этот диск.
  2. Проверьте корзину и «Предыдущие версии» папки.
  3. Используйте программу восстановления удалённых файлов с сохранением результата на другой диск.

Что не поможет

  • 🚫 Тестирование и исправление информационной базы (chdbfl.exe или режим в конфигураторе). Оно чинит повреждённую структуру, а удалённые объекты не возвращает.
  • 🚫 Повторный запуск удаления помеченных «в обратную сторону» — такой операции нет.

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

Что произошло с вашим объектом?

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

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

В типовых конфигурациях на базе БСП рядовые пользователи обычно могут только ставить пометку удаления. Право на непосредственное удаление (Shift+Del) должно быть только у администратора. Проверьте, не выданы ли кому-то полные права «для удобства».

Удаление помеченных — с задержкой

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

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

  • 📅 Ежедневная копия базы и хранение минимум за 2–4 недели.
  • 🗄 Для SQL-баз — модель FULL и бэкап журнала каждые 15–60 минут.
  • 🏠 Хотя бы одна копия — вне сервера с базой.
  • ✅ Пробное восстановление раз в квартал: бэкап, который ни разу не разворачивали, — это надежда, а не копия.

Журнал регистрации и история изменений

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

Частые вопросы о возврате удалённых объектов

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