Вернуть базу 1С 8.3 во вчерашнее состояние: копия, СУБД, .dt
Содержание
Откатить 1С 8.3 на день назад можно только из резервной копии: кнопки «отменить всё за вчера» в программе нет. Файловую базу
возвращают заменой файла 1Cv8.1CD на вчерашний, клиент-серверную — восстановлением бэкапа СУБД (MS SQL или PostgreSQL), а если есть только выгрузка — загрузкой файла .dt через Конфигуратор.
Если испорчены несколько документов, а не вся база, полный откат часто не нужен. Тогда смотрят журнал регистрации и историю изменений, а нужные объекты переносят из копии. Это бережнее: работа коллег за сегодня не пропадает.
| Способ | Когда подходит | Чем рискуете |
|---|---|---|
Замена файла 1Cv8.1CD | Файловая база, есть копия каталога | Потеря всего, что внесли после копии |
| Восстановление бэкапа MS SQL / PostgreSQL | Клиент-серверная база | То же; при ошибке — затереть рабочую БД |
Загрузка .dt | Любая база, есть выгрузка | Загрузка полностью заменяет данные и конфигурацию |
| Перенос отдельных объектов из копии | Пострадала часть документов | Дубли и непроведённые документы, если перенести небрежно |
| История изменений объекта | Включено версионирование | Работает только для объектов, у которых хранится история |
1. Подготовка к откату базы: три действия до восстановления
Восстановление поверх живой базы — операция без обратного хода. Поэтому до любого шага сделайте вот что.
- Сохраните текущее состояние. Скопируйте каталог файловой базы целиком или сделайте бэкап БД в СУБД. Даже «сломанная» база нужна: из неё потом вытаскивают сегодняшние корректные документы.
- Выберите нужную копию. Посмотрите дату и время создания файла. Копия «за вчера», снятая в 23:00, и копия, снятая в 08:00, — это разница в целый рабочий день.
- Остановите работу пользователей. Предупредите коллег, что сеансы будут завершены и всё несохранённое пропадёт. Делайте это в обед или после рабочего дня.
Сначала копия текущей базы, потом откат. Если вчерашний бэкап окажется битым, без этой копии вы останетесь вообще без данных.
Ещё один момент — что сломалось. Если ошибка в одном документе, переходите сразу к разделу про частичное восстановление. Полный откат нужен, когда массово испорчены данные: неудачная групповая обработка, ошибочная загрузка из банка на тысячи строк, сбой обновления конфигурации.
2. Как откатить файловую базу 1С 8.3 из резервной копии
Файловая база — это каталог с файлом 1Cv8.1CD. Путь к нему виден в окне запуска 1С: выделите базу в списке, внизу окна будет строка File="D:\Bases\Buh".
Замена файла базы вручную
- Закройте 1С у всех пользователей, включая сеансы на терминальном сервере.
- Переименуйте текущий
1Cv8.1CD, например в1Cv8_broken.1CD. Не удаляйте его. - Скопируйте в каталог вчерашний
1Cv8.1CDиз резервной копии. - Если копия лежит в архиве, распакуйте её в отдельную папку и только потом переносите файл.
- Запустите 1С и проверьте последние документы: дата последнего документа должна соответствовать дате копии.
Файлы 1Cv8.cfl (блокировка) и каталоги кеша в папке базы переносить не нужно. Если 1Cv8.cfl остался после аварийного закрытия и мешает, его удаляют, только убедившись, что базу никто не держит открытой.
Встроенное восстановление в типовых конфигурациях
В БП 3.0, ЗУП 3.1 и других конфигурациях на БСП для файловых баз есть свой механизм копирования: Администрирование → Обслуживание → Резервное копирование и восстановление. Если автоматические копии там были настроены, восстановление запускается из этого же раздела: программа сама завершит работу, подменит данные и перезапустится. Механизм работает в Windows-версии клиента.
Теневые копии Windows
Если резервных копий 1С нет, проверьте теневые копии. Щёлкните правой кнопкой по папке базы → Свойства → Предыдущие версии. Там будет список, если на сервере включены защита системы или теневые копии общих папок. Скопируйте вчерашний 1Cv8.1CD в отдельную папку и подключите как новую базу — сначала убедитесь, что он открывается.
💡 Облачные диски с историей версий файлов (например, Яндекс Диск) тоже выручают, если папка базы синхронизировалась. Но синхронизация открытого файла базы ненадёжна, на такую копию как на основную не рассчитывайте.
3. Откат клиент-серверной базы через MS SQL или PostgreSQL
В клиент-серверном варианте данные лежат в СУБД, и откатывают именно базу данных. Правило одно: восстанавливайте в новую БД, а не поверх рабочей. Так вы сначала проверите копию, а рабочую базу переключите в последний момент.
MS SQL Server: копия на вчера и точный момент времени
Сначала узнайте логические имена файлов внутри бэкапа:
RESTORE FILELISTONLY FROM DISK = N'D:\Backup\buh_full.bak';
Затем восстановите в новую базу buh_restore. Если модель восстановления полная и есть бэкапы журнала транзакций, можно вернуться к конкретной минуте вчерашнего дня:
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_1800.trn'
WITH STOPAT = N'2026-10-08T18:00:00', RECOVERY;
Имена buh и buh_log замените на те, что вернул RESTORE FILELISTONLY. Если журналы не копировались (простая модель восстановления), доступно только состояние на момент полного бэкапа — тогда хватит первой команды с RECOVERY вместо NORECOVERY.
PostgreSQL: восстановление дампа
Для дампа в формате custom (ключ -Fc у pg_dump):
createdb -U postgres -T template0 buh_restore
pg_restore -U postgres -d buh_restore -j 4 /backup/buh_2026-10-08.dump
Ключ -j 4 ускоряет загрузку в несколько потоков. Откат к произвольной минуте в PostgreSQL возможен, только если заранее было настроено архивирование WAL-журналов; обычный ночной pg_dump даёт состояние на момент дампа.
Подключение восстановленной БД к кластеру 1С
- Откройте консоль администрирования серверов 1С.
- В разделе
Информационные базысоздайте новую базу с тем же типом СУБД и именем БДbuh_restore. - Флажок «Создать базу данных в случае ее отсутствия» не ставьте — база уже есть.
- Добавьте её в список баз у себя на компьютере и проверьте данные.
Когда копия проверена, есть два пути: переключить пользователей на новую информационную базу или восстановить тот же бэкап поверх рабочей БД. Во втором случае установите в свойствах базы в консоли блокировку начала сеансов — иначе SQL Server не получит монопольный доступ.
4. Откат базы 1С через выгрузку .dt
Файл .dt — это полная выгрузка базы: данные, конфигурация, пользователи. Его делают вручную перед обновлениями или по расписанию.
Порядок загрузки:
- Создайте новую пустую информационную базу (файловую или на сервере).
- Откройте её в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базуи укажите вчерашний.dt. - Дождитесь сообщения о завершении и перезапустите Конфигуратор.
- Откройте базу в режиме 1С:Предприятие и проверьте данные.
Загрузка .dt полностью заменяет всё содержимое базы, в которую загружаете. Поэтому грузите в новую пустую базу, а не в рабочую.
Для загрузки нужен монопольный доступ. Версия платформы должна быть не ниже той, на которой делали выгрузку: файл, выгруженный на 8.3.24, на 8.3.20 может не загрузиться.
Тот же шаг из командной строки:
"C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh_restore" /N "Администратор" /P "пароль" /RestoreIB "E:\Backup\buh_2026-10-08.dt" /Out "E:\Backup\restore_log.txt"
Путь к 1cv8.exe и номер версии подставьте свои.
5. Как исправить данные за день без полного отката базы
Полный откат стирает работу всех пользователей за день. Если пострадали десяток документов или справочник, лучше точечный ремонт.
Найти, кто и что изменил
Журнал регистрации показывает, какие объекты меняли и когда. В БП 3.0 он открывается из раздела Администрирование → Обслуживание, в Конфигураторе — Администрирование → Журнал регистрации.
- 🔍 Отбор по интервалу: вчера с 00:00 до текущего момента.
- 👤 Отбор по пользователю, если известно, кто запускал обработку.
- 📄 Отбор по событиям «Данные. Изменение» и «Данные. Удаление».
Так становится видно, что именно сломалось: например, групповое перепроведение 300 документов в 16:40.
История изменений объекта
В типовых конфигурациях можно хранить версии документов и справочников: Администрирование → Общие настройки, раздел «История изменений». Если он был включён, откройте документ, в меню «Ещё» выберите «История изменений», сравните версии и вернитесь к нужной. Задним числом включить историю нельзя — версии начнут копиться только с момента включения.
Перенести объекты из вчерашней копии
- Разверните вчерашнюю копию как отдельную базу (способами из разделов 2–4).
- В копии выгрузите нужные документы или элементы справочника универсальной обработкой «Выгрузка и загрузка данных XML».
- Загрузите файл в рабочую базу той же обработкой.
- Перепроведите загруженные документы и проверьте остатки.
Обработка сопоставляет объекты по внутреннему идентификатору. Документ, который есть в обеих базах, будет перезаписан вчерашней версией, удалённый — восстановится с той же ссылкой. Новые сегодняшние документы не затрагиваются.
6. Что ломается при восстановлении базы и как это исправить
Отдельно про внешние сервисы. Банковские выписки, документы ЭДО, отчёты, отправленные через 1С-Отчётность, после отката из базы исчезнут, но у банка и оператора они остались. Их загружают повторно, а не создают заново, чтобы не отправить отчёт дважды.
7. Как настроить бэкап, чтобы откат на день назад был возможен всегда
Откат возможен ровно настолько, насколько свежая у вас копия. Минимальная схема для небольшой организации:
| База | Что делать | Как часто |
|---|---|---|
| Файловая | Копия средствами БСП или .dt по расписанию | Ежедневно ночью |
| MS SQL | Полный бэкап + бэкапы журнала транзакций (полная модель) | Полный — ночью, журнал — каждые 30–60 минут |
| PostgreSQL | pg_dump -Fc, при необходимости архивирование WAL | Ежедневно ночью |
| Любая | Ручная выгрузка .dt | Перед каждым обновлением |
Для файловой базы ночную выгрузку удобно запускать из Планировщика заданий Windows:
"C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DumpIB "E:\Backup\buh_%date%.dt" /Out "E:\Backup\dump_log.txt"
Для PostgreSQL — задание cron:
pg_dump -U postgres -Fc -f /backup/buh_$(date +%F).dump buh
Что ещё обязательно:
- 📦 Храните копии минимум за 7–14 дней: ошибку часто замечают не сразу.
- 💾 Держите копии на другом диске или сервере, а одну — вне офиса.
- 🔁 Раз в месяц пробно восстанавливайте копию в тестовую базу. Непроверенный бэкап — это надежда, а не копия.
- 📝 Пароль администратора в bat-файле храните в папке с ограниченным доступом.
💡 Выгрузку .dt и копирование файла лучше делать, когда в базе никто не работает. Тогда данные в копии согласованы и не «застанут» документ в середине записи.
8. Частые вопросы об откате базы 1С
Сохранятся ли пользователи и пароли после отката?
Можно ли откатить данные только одной организации?
Как откатить неудачное обновление конфигурации?
.dt, сделанных перед обновлением. Загружать в базу старый .cf без данных рискованно: структура таблиц уже изменена новой версией.Сколько времени занимает восстановление?
.dt — от получаса до нескольких часов, закладывайте это время вне рабочего дня.