Возврат информационной базы 1С назад: копия, журнал СУБД, обновление и история объектов
Содержание
Откатить базу 1С целиком можно только из резервной копии: выгрузки .dt, копии файла 1Cv8.1CD или бэкапа СУБД. Если база клиент-серверная и в MS SQL или PostgreSQL настроено архивирование журнала, её можно вернуть на конкретную минуту. Для одного документа или справочника копия не нужна: хватит отмены проведения или возврата к прошлой версии объекта.
Типичная ситуация: в пятницу вечером обновили Бухгалтерию, а в понедельник бухгалтер видит, что обработка обновления пересчитала остатки, или кто-то запустил групповое перепроведение за квартал. Первый вопрос всегда один: что именно нужно вернуть — всю базу, конфигурацию или пару объектов. От ответа зависит способ и объём потерь.
Какой способ отката выбрать
Сначала определите масштаб. Откат всей базы стирает всё, что ввели после момента копии, поэтому для точечных ошибок его не применяют.
| Что случилось | Способ | Что потеряете |
|---|---|---|
| Испорчен один документ или элемент справочника | Отмена проведения, версия объекта | Ничего |
| Обновление конфигурации прошло, но данные ещё не трогали | Возврат к конфигурации БД в Конфигураторе | Ничего |
| Обновление завершено, данные преобразованы | Загрузка .dt, сделанного до обновления | Всё, что ввели после выгрузки |
| Массовая порча данных (перепроведение, групповая обработка) | Копия файла или бэкап СУБД | Изменения после копии |
| Нужно вернуться на точное время, например 14:35 | Восстановление SQL/PostgreSQL на момент времени | Только изменения после указанной минуты |
Перед любым откатом сделайте свежую выгрузку текущего, «испорченного» состояния. Если откат окажется ошибкой, будет куда вернуться, а нужные документы из неё можно перенести вручную.
Полное восстановление базы 1С из резервной копии
Загрузка выгрузки .dt
Выгрузка .dt — универсальный формат: она подходит и для файловой, и для серверной базы, содержит конфигурацию и все данные.
- Попросите всех выйти из базы. Загрузке нужен монопольный доступ, открытые сеансы её не пустят.
- Откройте базу в Конфигураторе.
- Сделайте выгрузку текущего состояния:
Администрирование → Выгрузить информационную базу. - Выберите
Администрирование → Загрузить информационную базуи укажите файл.dtнужной даты. - Подтвердите замену. Программа предупредит, что текущие данные будут удалены.
- После загрузки запустите базу в режиме предприятия и проверьте последние документы.
Загрузка .dt полностью заменяет базу: всё, что ввели после выгрузки, исчезнет.
Крупная база загружается долго: выгрузка на 20–30 ГБ может грузиться час и больше. Планируйте работу на нерабочее время.
Загрузка из командной строки
Если Конфигуратор открывать неудобно, загрузку запускают пакетным режимом:
"C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /RestoreIB "D:\Backup\buh_2026-10-03.dt" /Out "D:\Backup\restore.log"
Для серверной базы вместо /F укажите /S "server\base". Номер версии в пути замените на свой. Результат смотрите в файле, указанном после /Out.
Возврат через встроенную обработку
В типовых конфигурациях на БСП для файловых баз есть раздел Администрирование → Обслуживание → Резервное копирование и восстановление. Оттуда можно и создать копию по расписанию, и восстановить базу из неё без входа в Конфигуратор. Для клиент-серверных баз этот механизм не предназначен: там копии делают средствами СУБД.
Откат файловой базы: работа с файлом 1Cv8.1CD
Файловая база — это один файл 1Cv8.1CD в каталоге базы. Путь к каталогу виден в окне запуска внизу, под списком баз, когда база выделена.
Откат простой: заменить текущий файл на сохранённый.
- Убедитесь, что в базе никого нет. Если открыт хотя бы один сеанс, файл занят, и замена не пройдёт или повредит его.
- Переименуйте текущий файл в
1Cv8_bad.1CD— это ваша страховка. - Скопируйте в каталог файл из резервной копии и назовите его
1Cv8.1CD. - Запустите базу. Если интерфейс ведёт себя странно, запустите 1С с параметром
/ClearCacheв поле дополнительных параметров запуска.
Копия файла 1Cv8.1CD, снятая во время работы пользователей, может оказаться несогласованной. Надёжная копия файловой базы делается либо при закрытых сеансах, либо выгрузкой .dt.
Что важно знать про файловый вариант:
- 📁 Вернуть базу «на 14:35» нельзя: журнала транзакций у файловой базы нет. Откат возможен только на момент последней копии.
- 🕒 Теневые копии Windows (вкладка «Предыдущие версии» в свойствах папки) иногда спасают, если на диске включена защита. Но надеяться на них как на бэкап не стоит.
- 🧪 Если файл после сбоя не открывается, это не откат, а восстановление: сначала проверьте его утилитой
chdbfl.exeиз каталогаbinплатформы, работая с копией файла.
Откат клиент-серверной базы через журнал транзакций СУБД
Здесь часто путают два разных механизма. Сжатие (обрезка) журнала транзакций в MS SQL — это обслуживание, оно освобождает место на диске и ничего не откатывает. Резервные копии журнала — то, что позволяет вернуть базу на точное время.
Журнал регистрации 1С к этому отношения не имеет. Он показывает, кто и когда менял данные, но отменить изменения по нему нельзя.
MS SQL Server: восстановление на момент времени
Условие: у базы модель восстановления «Полная» (Full), есть полная копия и непрерывная цепочка копий журнала после неё. При простой модели (Simple) вернуться можно только на момент полной копии.
Порядок действий:
- Завершите сеансы пользователей и заблокируйте вход: в консоли администрирования серверов 1С откройте свойства базы и включите блокировку начала сеансов. Активные сеансы будут оборваны — предупредите людей заранее.
- Сделайте копию «хвоста» журнала, чтобы не потерять изменения до момента сбоя.
- Восстановите полную копию без перевода базы в рабочий режим.
- Накатите копии журнала, указав момент остановки.
-- 1. Хвост журнала
BACKUP LOG [buh] TO DISK = N'D:\Backup\buh_tail.trn' WITH NORECOVERY;
-- 2. Полная копия
RESTORE DATABASE [buh] FROM DISK = N'D:\Backup\buh_full.bak'
WITH NORECOVERY, REPLACE;
-- 3. Копии журнала по порядку, последняя — с точкой остановки
RESTORE LOG [buh] FROM DISK = N'D:\Backup\buh_log_1300.trn' WITH NORECOVERY;
RESTORE LOG [buh] FROM DISK = N'D:\Backup\buh_log_1400.trn'
WITH STOPAT = N'2026-10-03T14:35:00', RECOVERY;
Безопаснее восстановить копию под другим именем, например buh_restore, и зарегистрировать её в кластере 1С как отдельную базу. Так можно найти нужные данные, не трогая рабочую базу.
PostgreSQL: восстановление на момент времени
В PostgreSQL то же самое делается через архив WAL. Нужна базовая копия кластера (например, через pg_basebackup) и включённое архивирование WAL с момента этой копии.
Порядок в общих чертах:
- Остановите службу PostgreSQL. Это остановит все базы этого сервера СУБД, не только 1С-базу.
- Сохраните текущий каталог данных в сторону.
- Разверните базовую копию.
- В
postgresql.confукажитеrestore_commandиrecovery_target_time, создайте в каталоге данных пустой файлrecovery.signal(PostgreSQL 12 и новее). - Запустите службу и дождитесь окончания восстановления.
restore_command = 'copy "E:\\wal_archive\\%f" "%p"'
recovery_target_time = '2026-10-03 14:35:00'
recovery_target_action = 'promote'
Обычный дамп pg_dump так не работает
: он возвращает базу только на момент своего создания. Восстанавливается он командой pg_restore в пустую базу.
Как откатить обновление конфигурации 1С
Обновление состоит из двух частей: меняется конфигурация, затем при первом запуске выполняются обработчики обновления, которые переписывают данные. Способ отката зависит от того, на каком этапе вы остановились.
Конфигурация загружена, но база не обновлена
Если в Конфигураторе обновили основную конфигурацию, но ещё не выполняли «Обновить конфигурацию
базы данных», откат бесплатный: Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. Изменения основной конфигурации будут отброшены.
Обновление завершено, пользователи заходили
Здесь вариант один — загрузка .dt, сделанного перед обновлением. Почему нельзя просто загрузить старый .cf:
- 🔄 обработчики новой версии уже преобразовали данные под новую структуру;
- 🧩 старая конфигурация может не понять эти данные, а часть реквизитов при «откате структуры» будет удалена вместе с содержимым;
- ⛔ обновлять типовую конфигурацию на более старую версию поставщик не предусматривает.
Поэтому при обновлении через Администрирование → Обслуживание → Обновление версии программы не отключайте предложение создать резервную копию, а при обновлении в Конфигураторе сначала выгрузите .dt вручную.
Если в конфигурацию вносили доработки
Для доработанной базы перед обновлением сохраняйте ещё и файл конфигурации: Конфигурация → Сохранить конфигурацию в файл. Он пригодится, чтобы сравнить старую и новую версию и найти потерянные правки. Если разработка идёт через хранилище конфигурации, прошлую версию можно получить из истории хранилища.
Отмена действий пользователя в режиме Предприятия
Откатывать всю базу из-за одного неверного документа — плохая идея. Типовые конфигурации позволяют вернуть отдельные объекты.
Документы
- ↩️ Ошибочно провели — откройте документ и нажмите «Отмена проведения» или выберите эту команду в списке через меню «Ещё». Движения по регистрам удалятся, сам документ останется.
- 🗑️ Пометили на удаление — повторная команда пометки снимает её. Пока не запущено удаление помеченных объектов, документ цел.
- 📅 Перепровели за период — штатной отмены у группового перепроведения нет. Остаётся восстановить копию под другим именем и сверить затронутые документы.
Версии объектов
В конфигурациях на БСП есть история изменений объектов. Её включают в Администрирование → Общие настройки, раздел про историю изменений: флажок хранения истории и выбор, для каких объектов её вести.
Когда история включена, в форме документа или элемента справочника через меню «Ещё» открывается список версий. Две версии можно сравнить, а нужную — восстановить как текущую.
История хранится только с момента её включения. Если флажок поставили после ошибки, вернуть прошлое состояние объекта она не поможет.
Удалённые объекты
Удаление помеченных объектов необратимо. Восстановить удалённый документ можно только из копии: разверните её рядом как отдельную базу, найдите документ и перенесите его, например, через обработку выгрузки и загрузки данных XML или вручную.
Как не попадать в ситуацию отката: стратегия резервных копий
Откат проходит спокойно, только если копия есть, она свежая и она открывается. Минимальный набор правил:
| Тип базы | Что копировать | Как часто |
|---|---|---|
| Файловая | .dt или файл 1Cv8.1CD при закрытых сеансах | Ежедневно ночью и перед обновлением |
| MS SQL | Полная копия + копии журнала (модель Full) | Полная — ночью, журнал — каждые 15–60 минут |
| PostgreSQL | Базовая копия + архив WAL, либо ежедневный pg_dump | Базовая — раз в сутки или неделю, WAL — непрерывно |
Что ещё стоит сделать:
- 💾 Храните копии не на том же диске, что база. Лучше — в двух местах, одно из них вне офиса.
- 🗓️ Держите глубину хранения не меньше месяца: ошибку в данных часто замечают при сдаче отчётности, а не сразу.
- 🔒 Установите дату запрета изменения данных для закрытых периодов. Она не даст случайно перепровести прошлый квартал.
- 🧾 Включите историю изменений для ключевых документов и справочников.
- 🔁 Раз в месяц пробуйте развернуть копию в тестовую базу. Непроверенная копия — не копия.
Частые вопросы
Можно ли откатить базу 1С без резервной копии?
Сохранятся ли пользователи и их пароли после загрузки .dt?
Сколько места нужно для восстановления?
.dt сжат, и база после загрузки занимает в 3–10 раз больше. Для разворота копии рядом с рабочей базой нужен такой же объём свободного места, как у самой базы.