Администрирование · 12 мин
Как откатить базу 1С назад: способы восстановления
Как откатить базу 1С назад: восстановление из dt-файла и SQL-бэкапа, отмена документов, журнал изменений, проверка результата и типичные ошибки.
Откатить базу 1С назад можно несколькими способами: восстановить резервную копию целиком, загрузить данные из выгрузки в формате dt, восстановить базу средствами СУБД или отменить конкретные действия внутри самой базы — например, пометить на удаление ошибочные документы. Выбор способа зависит от того, что именно нужно отменить: всё состояние базы на прошлую дату или отдельную ошибочную операцию.
Главное правило: полный откат из резервной копии заменяет текущую базу целиком. Все данные, введённые после момента создания копии, будут потеряны. Поэтому перед восстановлением обязательно зафиксируйте, какие документы и справочники появились после точки отката, — их придётся вводить заново.
Если база файловая, откат обычно сводится к замене файла 1Cv8.1CD или загрузке dt-файла через конфигуратор. Если база клиент-серверная (MS SQL, PostgreSQL), восстановление выполняется средствами СУБД, и здесь уже нужны права администратора сервера. Ниже разобраны оба сценария, а также ситуации, когда полный откат не нужен и достаточно точечной отмены операций.
Определите, какой откат вам нужен
Прежде чем что-либо восстанавливать, ответьте на два вопроса: что именно пошло не так и есть ли под рукой подходящая резервная копия. От этого зависит весь дальнейший сценарий. Ошибочно проведённый документ — это одна ситуация, а повреждение базы после неудачного обновления конфигурации — совсем другая.
Полный откат оправдан, когда база повреждена, обновление прошло с критическими ошибками, выполнена массовая обработка с неверными параметрами или данные испорчены настолько, что исправлять их вручную дольше, чем восстановить копию. Точечная отмена подходит, когда проблема локальна: пара лишних документов, неверное заполнение справочника, ошибочно закрытый период.
Как выбрать действие
Подготовка перед откатом
Любой откат начинается с фиксации текущего состояния. Даже если база испорчена, сделайте копию того, что есть сейчас: для файловой базы скопируйте файл 1Cv8.1CD, для серверной — создайте бэкап средствами СУБД или выгрузку dt. Это страховка на случай, если восстановление пойдёт не по плану или окажется, что откатывать нужно было не на ту дату.
Далее завершите работу всех пользователей. В файловом режиме проверьте, что никто не держит базу открытой, иначе файл будет заблокирован. В клиент-серверном варианте завершите сеансы через консоль администрирования сервера 1С и установите блокировку начала сеансов, чтобы никто не вошёл в базу во время восстановления.
Третий шаг — проверьте саму резервную копию. Убедитесь, что файл dt или бэкап открывается, что дата его создания соответствует нужной точке отката и что размер файла не выглядит подозрительно малым (пустая или обрезанная копия — частая причина провала восстановления).
Откат файловой базы через dt-файл
Выгрузка в dt — штатный механизм 1С, который сохраняет базу целиком: и конфигурацию, и данные. Если у вас есть dt-файл нужной даты, откат выполняется через конфигуратор. Откройте конфигуратор (меню «Конфигурация» → «Открыть конфигурацию», если она закрыта), затем выберите «Администрирование» → «Загрузить информационную базу» и укажите путь к dt-файлу.
Платформа предупредит, что текущие данные будут заменены, и предложит сделать выгрузку перед загрузкой — соглашайтесь, если не сделали копию ранее. После загрузки конфигуратор может запросить реструктуризацию или обновление конфигурации базы данных — выполните его через «Конфигурация» → «Обновить конфигурацию базы данных».
Альтернатива для файловой базы — прямая замена файла. Закройте все сеансы 1С, найдите каталог базы, переименуйте текущий 1Cv8.1CD (например, добавьте дату к имени) и положите на его место файл из резервной копии. Этот способ быстрее загрузки dt, но требует, чтобы копия хранилась именно как файл базы, а не как выгрузка.
- 1Завершите все сеансы пользователей и закройте базу
- 2Скопируйте текущий файл 1Cv8.1CD в отдельную папку как страховку
- 3Откройте конфигуратор: Администрирование → Загрузить информационную базу
- 4Укажите dt-файл нужной даты и подтвердите замену данных
- 5После загрузки выполните обновление конфигурации базы данных, если конфигуратор его запросит
- 6Запустите базу в режиме предприятия и проверьте ключевые данные за последние дни перед точкой отката
Откат клиент-серверной базы через СУБД
Для баз на MS SQL Server или PostgreSQL откат выполняется средствами самой СУБД, а не конфигуратора. Общая логика одинакова: завершить сеансы, восстановить бэкап, проверить связь базы с кластером 1С. Конкретные инструменты различаются: в MS SQL это восстановление через Management Studio (задача Restore Database) или T-SQL-командой RESTORE DATABASE, в PostgreSQL — утилиты pg_restore или psql в зависимости от формата дампа.
Важный нюанс: восстанавливайте бэкап в ту же базу, которая зарегистрирована в кластере 1С, либо создайте новую базу и отдельную информационную базу в консоли кластера для проверки. Практика «сначала поднять копию рядом» безопаснее: вы можете зайти в восстановленную копию, убедиться, что это именно та точка, и только потом решать, заменять ли рабочую базу.
После восстановления проверьте, что база открывается через клиент 1С и что в ней присутствуют данные на ожидаемую дату. Если восстановление выполнялось в новую базу, не забудьте снять блокировку сеансов и при необходимости перенастроить публикацию на веб-сервере или путь подключения у пользователей.
Точечный откат без восстановления копии
Часто под «откатом базы» понимают отмену конкретных действий, и восстанавливать копию целиком не нужно. Если ошибочно провели документы — откройте журнал документов, установите отбор по дате и автору, пометьте документы на удаление или отмените проведение. Для массовой отмены удобны групповые обработки, но запускайте их только на копии или после резервного сохранения.
Если проблема в изменённых справочниках или записях регистров, поможет история изменений (версионирование объектов), если она была включена заранее: откройте карточку объекта и посмотрите, кто и что менял. В типовых конфигурациях есть встроенные механизмы отмены — например, отмена закрытия месяца, сторнирование документов, отмена проведения по расчётным регистрам.
Отдельный сценарий — откат обновления конфигурации, когда сами данные в порядке, но новый релиз работает некорректно. Здесь помогает загрузка сохранённой конфигурации базы данных (файл cf, снятый до обновления) через «Конфигурация» → «Загрузить конфигурацию из файла», либо возврат к конфигурации базы данных, если обновление ещё не было принято. После отката конфигурации проверьте, не выполнялись ли обработчики обновления, изменившие данные, — их последствия придётся устранять отдельно.
Проверка результата после отката
После восстановления не сообщайте пользователям о готовности, пока не проверите базу сами. Откройте базу в режиме предприятия, сверьте несколько опорных показателей: остатки по складу или по счетам на дату отката, наличие последних документов перед точкой восстановления, отсутствие документов, которые должны были исчезнуть.
Затем проверьте техническую целостность: запустите тестирование и исправление информационной базы (для файловой — через конфигуратор, для серверной — по регламенту вашего администратора) хотя бы в режиме проверки логической целостности. Убедитесь, что работают регламентные задания, обмены с другими системами и подключение пользователей.
Как проверить результат
Последние документы соответствуют точке отката, более поздних нет
Видны документы, введённые после точки отката, или пропали нужные
База открывается в режиме предприятия без ошибок, сеансы создаются
Ошибки при входе, сообщения о несовпадении версии конфигурации
Тестирование не выявляет битых ссылок и ошибок логической целостности
Ссылки на несуществующие объекты, ошибки при проведении документов
Синхронизации выполняются, задания запускаются по расписанию
Обмены падают с ошибками, задания не стартуют
Профилактика: чтобы откат был возможен всегда
Откат возможен только туда, где есть копия. Настройте регулярное резервное копирование: для файловых баз — автоматическое копирование файла 1Cv8.1CD или выгрузку dt по расписанию, для серверных — план обслуживания в СУБД с полными и разностными бэкапами. Храните копии на отдельном носителе или в другом сетевом расположении, чтобы сбой основного диска не уничтожил и базу, и копии.
Периодически проверяйте восстановление: копия, которую никто не пробовал развернуть, может оказаться битой в самый неподходящий момент. Раз в несколько месяцев поднимайте свежий бэкап в тестовую базу и убеждайтесь, что он открывается. Перед каждым обновлением конфигурации делайте выгрузку dt вручную — это занимает минуты, а экономит часы.
Что важно запомнить
Полный откат базы 1С — это восстановление резервной копии: dt-файла для файловой базы или бэкапа СУБД для серверной. Перед откатом всегда сохраняйте текущее состояние и выгружайте данные, введённые после точки восстановления. Если нужно отменить лишь отдельные операции, восстановление копии не требуется — достаточно штатных средств отмены проведения и истории изменений.
Частые вопросы
Можно ли откатить базу 1С без резервной копии?
Полный откат на прошлую дату без копии невозможен: платформа не хранит прежние состояния базы. Остаются только точечные методы — отмена проведения документов, история изменений (если версионирование было включено заранее), сторнирующие документы. Именно поэтому регулярное резервное копирование — обязательная практика, а не опция.
Что будет с документами, введёнными после даты копии?
При восстановлении копии они будут удалены вместе со всем текущим состоянием базы. Чтобы сохранить их, перед откатом выгрузите нужные документы через обработку выгрузки/загрузки данных в XML или универсальный обмен, а после восстановления загрузите обратно и проведите.
Чем отличается откат через dt от замены файла 1Cv8.1CD?
Замена файла быстрее и сохраняет базу «как есть» на момент копирования, включая настройки. Загрузка dt выполняется через конфигуратор, занимает больше времени и может потребовать реструктуризации, но позволяет развернуть копию в другом каталоге или на другой версии платформы. Для возврата на прошлую дату оба способа равнозначны по результату.
Как откатить только обновление конфигурации, не трогая данные?
Если обновление ещё не применено к базе данных, вернитесь к конфигурации базы данных через меню «Конфигурация». Если применено — загрузите сохранённый ранее файл cf или восстановите базу из копии, снятой до обновления. Учтите: обработчики обновления могли уже изменить данные, и эти изменения откатом конфигурации не отменяются.
Сколько времени занимает восстановление базы?
Зависит от размера базы и способа: замена файла для небольшой файловой базы занимает минуты, загрузка dt — от десятков минут до нескольких часов для крупных баз, восстановление бэкапа СУБД обычно быстрее загрузки dt. Закладывайте дополнительное время на проверку результата и повторный ввод данных.
Можно ли восстановить копию рядом с рабочей базой для проверки?
Да, и это рекомендуемый подход. Для файловой базы создайте новый каталог и загрузите dt туда. Для серверной — восстановите бэкап в новую базу СУБД и зарегистрируйте отдельную информационную базу в консоли кластера. Так вы проверите содержимое копии, не затрагивая работающих пользователей.