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

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

Как восстановить удаленный файл в 1С

Как восстановить удаленный файл в 1С: корзина, резервные копии, теневые копии Windows, восстановление базы SQL и объектов. Пошаговые инструкции и частые ошибки.

Удаление файла или объекта в 1С — одна из самых частых аварийных ситуаций: случайно стерли базу, удалили документ «навсегда» или потеряли файл выгрузки. Способ восстановления зависит от того, что именно удалено: файл базы 1Cv8.1CD, внешняя обработка, объект внутри базы или копия в формате .dt. Чем раньше начать действия и чем меньше записывать новых данных на диск, тем выше шанс вернуть информацию без потерь.

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

Определите, что именно удалено

Прежде чем что-либо восстанавливать, точно установите тип потери. От этого зависит весь дальнейший сценарий. Файловая база 1С — это обычно один файл 1Cv8.1CD в каталоге базы, его удаление видно по невозможности открыть базу и отсутствию файла в папке. Внешние обработки и отчёты — файлы с расширениями .epf и .erf, выгрузки баз — файлы .dt и .zip.

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

Файл 1Cv8.1CD отсутствует в папкеУдалена файловая база целиком

Проверить корзину, предыдущие версии папки, наличие копий .dt

База открывается, но нет документа или справочникаУдалён объект внутри базы

Искать резервную копию, смотреть журнал регистрации — кто и когда удалил

Пропал файл .epf или .dtУдалена внешняя обработка или выгрузка

Проверить корзину, теневые копии, почтовые вложения и сетевые папки

База на SQL-сервере недоступнаУдалена или повреждена база СУБД

Проверить бэкапы MS SQL / PostgreSQL и журналы транзакций

Проверьте корзину Windows и предыдущие версии папки

Если файл удалён недавно стандартным способом (клавиша Delete, контекстное меню), он почти наверняка находится в корзине Windows. Откройте корзину, отсортируйте по дате удаления, найдите файл по имени или расширению и выполните «Восстановить». Учтите: файлы, удалённые с сетевых дисков, по Shift+Delete или при переполненной корзине, туда не попадают.

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

Порядок действий при удалении файла базы
  1. 1
    Прекратите работу на компьютере, где лежал файл, не копируйте ничего на этот диск
  2. 2
    Проверьте корзину Windows и восстановите файл при наличии
  3. 3
    Откройте «Предыдущие версии» папки и скопируйте файл из снимка
  4. 4
    Проверьте каталоги резервных копий: файлы .dt, .zip, архивы бэкап-служб
  5. 5
    Если ничего не нашлось — снимите посекторную копию диска и запустите программу восстановления файлов
  6. 6
    После восстановления откройте базу в конфигураторе и выполните тестирование и исправление

Восстановление из резервной копии 1С

Самый надёжный способ — развёртывание резервной копии. Если у вас есть файл выгрузки .dt, создайте новую пустую базу через стартовое окно 1С («Добавить» → «Создание новой информационной базы» → без конфигурации), зайдите в неё в режиме конфигуратора и выполните «Администрирование» → «Загрузить информационную базу», указав файл .dt. После загрузки перезапустите конфигуратор по запросу системы.

Если копия хранится как архив каталога базы, просто распакуйте папку в новое место и подключите её через список баз, указав путь к каталогу. Для клиент-серверного варианта восстановление делается средствами СУБД: в MS SQL Server — через «Restore Database» из .bak-файла, в PostgreSQL — через pg_restore. Рекомендуется разворачивать копию под новым именем, чтобы не затереть текущее состояние.

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

Если база работает, но из неё удалили документы или элементы справочников, штатной отмены удаления нет. Порядок действий такой: сначала откройте журнал регистрации («Администрирование» → «Журнал регистрации»), отфильтруйте по событию «Удаление данных» и выясните, какие именно объекты и кто удалил. Это даст точный список потерь.

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

Программы восстановления файлов как крайняя мера

Если ни корзина, ни теневые копии, ни бэкапы не помогли, остаются утилиты восстановления удалённых файлов (Recuva, R-Studio, DMDE и аналоги). Принцип: удалённый файл физически остаётся на диске, пока его блоки не перезаписаны другими данными. Поэтому перед сканированием минимизируйте любую запись на диск, в идеале — работайте с посекторным образом диска.

Устанавливайте программу восстановления на другой диск или загружайтесь с внешнего носителя. Сканируйте раздел, ищите файл по имени 1Cv8.1CD или по сигнатуре. Восстановленный файл сохраняйте на другой физический диск. Имейте в виду ограничение: большие файлы баз часто фрагментированы, и восстановленная копия может оказаться повреждённой — после восстановления обязательно выполните «Тестирование и исправление» в конфигураторе и проверьте chdbfl.exe из каталога поставки платформы.

Типичные ошибки
01
Продолжать работать на диске после удаления — новые файлы перезаписывают удалённые данные
02
Устанавливать программу восстановления на тот же диск, с которого восстанавливают
03
Загружать старый .dt поверх рабочей базы без предварительной выгрузки текущего состояния
04
Восстанавливать базу, но не проверить её утилитой chdbfl — скрытые повреждения всплывут позже
05
Полагаться на единственную копию .dt в той же папке, что и база — при сбое диска пропадёт всё сразу

Клиент-серверный вариант: восстановление через СУБД

В клиент-серверной архитектуре данные хранятся не в файле, а в базе MS SQL Server, PostgreSQL или другой СУБД. Если базу удалили на сервере, восстановление идёт из бэкапов СУБД. В MS SQL для полной модели восстановления можно откатить базу на конкретный момент времени (point-in-time recovery) с помощью полного бэкапа и журналов транзакций — это позволяет вернуть состояние за минуты до удаления.

Отдельный случай — удаление объектов внутри работающей SQL-базы. Здесь помогает восстановление копии базы под другим именем и ручной перенос нужных записей, либо развёртывание копии как файловой базы через .dt и перенос объектов обработками. Такие операции требуют прав администратора СУБД и понимания структуры — при отсутствии опыта привлекайте специалиста, ошибка в запросе может повредить рабочие данные.

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

Как выбрать способ восстановления

Файл удалён сегодня обычным способомПроверьте корзину Windows — самый быстрый вариант
Файла нет в корзине, но папка на системном дискеОткройте «Предыдущие версии» папки и скопируйте файл из снимка
Есть файл .dt или архив каталога базыРазверните копию в новую базу и перенесите нужные данные
База на MS SQL и включена полная модель восстановленияВосстановите на момент времени через бэкап и журналы транзакций
Копий нет вообщеОстановите запись на диск и используйте R-Studio или DMDE с посекторного образа

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

После любого восстановления базу нужно проверить. Откройте конфигуратор и запустите «Администрирование» → «Тестирование и исправление» с проверкой логической и ссылочной целостности. Для файловых баз дополнительно прогоните утилиту chdbfl.exe — она ловит физические повреждения файла, которые тестирование не видит. Затем в пользовательском режиме сверьте ключевые отчёты: оборотно-сальдовую ведомость, остатки по складу, взаиморасчёты — с известными значениями.

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

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

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

Тестирование и исправление в конфигураторе
Норма

Завершается без ошибок логической и ссылочной целостности

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

Ошибки физической целостности или потерянные таблицы

Проверка chdbfl.exe
Норма

Сообщение «повреждений не обнаружено»

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

Ошибки чтения страниц файла базы

Оборотно-сальдовая ведомость
Норма

Остатки совпадают с ожидаемыми значениями

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

Расхождения по счетам, пустые или дублирующиеся обороты

Перепроведённые документы
Норма

Проводятся без ошибок, движения по регистрам формируются

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

Документы не проводятся, ссылки на несуществующие объекты

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

Можно ли восстановить объект в 1С после удаления помеченных объектов?

Штатной отмены нет — физическое удаление стирает записи. Вернуть объект можно только из резервной копии: разверните её отдельно и перенесите данные обработкой выгрузки-загрузки XML. Журнал регистрации покажет, какие объекты были удалены, но не их содержимое.

Где 1С хранит автоматические копии базы?

Платформа сама по себе автоматических копий не создаёт. Если копии появляются — это настроенные внешние средства: планировщик заданий со скриптом выгрузки .dt, бэкапы СУБД, файловые архиваторы или ПО резервного копирования. Проверьте планировщик Windows и настройки вашего бэкап-сервиса.

Восстановил файл 1Cv8.1CD, но база не открывается. Что делать?

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

Удалён файл с сетевого диска — корзина пуста. Есть ли шанс?

Файлы, удалённые с сетевых шар, в локальную корзину не попадают. Проверяйте теневые копии на самом сервере (предыдущие версии папки), корзину сервера, если она настроена, и серверные бэкапы. Восстановление утилитами возможно только непосредственно на диске сервера.

Можно ли восстановить базу без единой резервной копии?

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

Чем отличается выгрузка .dt от копии каталога базы?

Файл .dt — это логическая выгрузка, которую можно загрузить на другой версии платформы и в другую СУБД; он не содержит некоторые служебные данные. Копия каталога — точный слепок файлов базы, работает только на совместимой версии платформы. Для архива удобнее .dt, для быстрого отката — копия каталога.

Итог

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

Сразу прекратите запись на диск после удаления. Проверяйте в порядке: корзина → предыдущие версии → резервные копии → программы восстановления. Объекты внутри базы без бэкапа не восстанавливаются, поэтому регулярная выгрузка .dt или бэкап СУБД — единственная реальная защита. После восстановления обязательно проверьте базу тестированием и chdbfl.