Вернуть базу 1С Бухгалтерии в состояние до неудачного обновления: копии, .dt, SQL и хранилище
Содержание
Откатить 1С Бухгалтерию к прошлой версии вместе с данными можно только одним надёжным способом: восстановить резервную копию, сделанную до обновления. Это файл .dt (загружается в Конфигураторе через Администрирование → Загрузить информационную базу), копия каталога файловой базы с 1Cv8.1CD или бэкап SQL-сервера. Кнопки «отменить обновление» в программе нет.
Если копии нет, возврат версии превращается в ремонт: можно вернуть старую конфигурацию из .cf, удалить исправления или расширение, откатить платформу. Но обработчики обновления уже переписали данные под новый релиз, и полностью «как было» без копии не получится.
Что именно откатываем и что подготовить до первого действия
Сначала определите, что сломалось. От этого зависит, нужен ли откат данных вообще.
- 🧩 Сломалась конфигурация (после обновления релиза ошибки при проведении, не открываются формы) — нужен откат базы из копии или исправление.
- 🖥️ Сломалась платформа (после установки новой версии 1С:Предприятия база не стартует, ошибки клиента) — данные трогать не надо, достаточно запустить базу на прежней версии платформы.
- 🩹 Сломало исправление или расширение — его отключают или удаляют, релиз остаётся.
- 📉 Испорчены данные (обработка перезаписала документы, кто-то удалил объекты) — откат из копии на дату до проблемы.
Перед любым откатом сделайте копию текущего состояния базы, даже сломанного. Если восстановление пойдёт не так, вы вернётесь хотя бы к исходной точке. Для файловой базы достаточно скопировать каталог базы целиком при закрытой программе. Для любой базы подойдёт выгрузка .dt.
Что ещё выяснить заранее:
- Дату и время копии, которую будете восстанавливать. Всё, что пользователи ввели позже, пропадёт.
- Список документов, введённых после копии: банковские выписки, акты, отправленные отчёты. Их потом придётся внести снова.
- Кто сейчас работает в базе. Загрузка
.dtи восстановление SQL-копии обрывают сеансы, поэтому договоритесь о «тихом» окне, например вечером. - Номер релиза до обновления. Он виден в старой копии или в журнале обновлений, а без него не подобрать нужный
.cfи платформу.
Возврат к копии, которую программа сделала при обновлении
Если вы обновляли файловую базу
из пользовательского режима (Администрирование → Обслуживание → Обновление версии программы), мастер обновления предлагает создать резервную копию. Вариантов три: не создавать копию, создать и сохранить её в каталоге, создать и автоматически восстановить при нештатной ситуации.
Если был выбран третий вариант и обновление упало с ошибкой, база уже вернулась в прежнее состояние сама. Проверьте номер релиза в окне «О программе»: он должен совпадать с прежним.
Если обновление прошло «успешно», но программа работает с ошибками, автоматического возврата не будет. Тогда:
- Найдите копию в каталоге, который был указан в мастере. По умолчанию это подкаталог для резервных копий рядом с базой или в профиле пользователя; путь виден в настройках мастера при следующем запуске.
- Попросите всех пользователей выйти из базы.
- В разделе
Администрирование → Обслуживание → Резервное копирование и восстановление(раздел есть только в файловом варианте) выберите восстановление из резервной копии и укажите файл. - Дождитесь, пока программа закроется, восстановит данные и снова запустится.
Встроенная копия — это та же выгрузка базы, просто созданная по расписанию или мастером. Если команда восстановления недоступна, такой файл можно загрузить вручную через Конфигуратор, как описано в следующем разделе.
Восстановление из файла .dt через Конфигуратор
Выгрузка .dt — самый универсальный способ отката. Она работает и для файловой, и для клиент-серверной базы и переносит всё сразу: конфигурацию, данные, пользователей.
Пошагово
- Запустите базу в режиме Конфигуратор под пользователем с полными правами.
- Убедитесь, что в базе никого нет. Для загрузки нужен монопольный доступ: все открытые сеансы пользователей будут мешать загрузке, а в клиент-серверной базе их придётся завершить.
- Откройте
Администрирование → Загрузить информационную базу. - Выберите файл
.dt, сделанный до обновления. - Подтвердите предупреждение: текущие данные будут полностью заменены содержимым файла.
- После загрузки Конфигуратор предложит перезапуститься. Согласитесь.
- Запустите базу в пользовательском режиме и проверьте релиз в окне «О программе» и последние документы.
Что важно знать о .dt
- ⏱️ База на 5–10 ГБ загружается от нескольких минут до часа и дольше, в зависимости от диска и процессора.
- 🔢 Версия платформы, на которой загружаете, должна быть не ниже той, на которой делали выгрузку.
- 👤 Пароли пользователей вернутся к состоянию на момент выгрузки.
- 🧪 Если сомневаетесь в копии, сначала загрузите её в пустую тестовую базу и посмотрите, на какой дате заканчиваются данные. Только потом загружайте в рабочую.
Загрузка .dt не спрашивает, какие данные оставить. Всё, что ввели после выгрузки, исчезнет. Сначала выгрузите текущее состояние в отдельный файл, затем загружайте старое.
Возврат прежнего релиза конфигурации без отката данных
Иногда копии нет, а новый релиз работает с критичной ошибкой. Возникает соблазн загрузить старую конфигурацию из файла .cf и оставить текущие данные. Технически это делается в Конфигураторе: Конфигурация → Загрузить конфигурацию из файла, затем обновление конфигурации
базы данных.
На практике у этого пути серьёзные риски:
| Что произошло при обновлении | Почему старый .cf это не вернёт |
|---|---|
| Обработчики обновления переписали данные под новые реквизиты | Старая конфигурация не знает новых полей, часть данных удалится при реструктуризации |
| Появились новые справочники и регистры | При загрузке старого .cf они исчезнут вместе с данными |
| Программа запомнила номер релиза, до которого обновлены данные | Конфигурация на основе БСП видит, что данные новее программы, и может отказаться запускаться или работать некорректно |
Поэтому старый .cf поверх обновлённых данных грузят только в одном случае: обновление сорвалось на этапе изменения конфигурации, а обновление данных в пользовательском режиме ещё не начиналось. Тогда данные фактически остались старыми.
Если конфигурация на поддержке и изменена
Для типовой Бухгалтерии с включённой возможностью изменений (доработки внутри основной конфигурации) порядок обновления другой: через Конфигурация → Поддержка → Обновить конфигурацию с объединением. Обновить «назад» на более ранний релиз так же нельзя: механизм поддержки рассчитан на переход вперёд.
Если после объединения слетели доработки, есть два честных пути:
- Восстановить копию до обновления и провести объединение заново, внимательно проверив изменённые объекты.
- Оставить новый релиз и вручную перенести доработки, сравнив текущую конфигурацию с сохранённой до обновления:
Конфигурация → Сравнить, объединить с конфигурацией из файла.
Перед каждым обновлением сохраняйте конфигурацию в файл: Конфигурация → Сохранить конфигурацию в файл. Этот .cf пригодится для сравнения, даже если саму базу откатывать не придётся.
Что можно убрать точечно: исправления, расширения, платформа, хранилище
Не каждая проблема после обновления требует отката всей базы. Часто достаточно убрать один элемент.
Исправления (патчи)
Исправления к типовым конфигурациям ставятся как отдельные расширения. Их список в Бухгалтерии 3.0 открывается из раздела Администрирование → Обслуживание → Обновление версии программы, ссылка на установленные исправления. Если ошибка появилась сразу после патча, удалите его там же. Основная конфигурация при этом не меняется.
Расширения конфигурации
Сторонние расширения (печатные формы, интеграции) после обновления релиза часто перестают применяться: изменились объекты, которые они дорабатывали. В пользовательском режиме расширения находятся в Администрирование → Печатные формы, отчеты и обработки → Расширения, в Конфигураторе — Конфигурация → Расширения конфигурации.
- Снимите флажок «Активно», чтобы проверить, виновато ли расширение.
- Если виновато — запросите у разработчика версию под новый релиз. Удалять расширение без копии не стоит: вместе с ним удаляются его данные.
Платформа
Новая платформа не меняет данные базы, поэтому откат платформы безопасен:
- Установите прежнюю версию 1С:Предприятия. Старые версии ставятся рядом, удалять новую не обязательно.
- В окне запуска выберите базу, нажмите Изменить и на последнем шаге укажите нужную версию в поле версии 1С:Предприятия, например
8.3.24. - Для клиент-серверной базы версия платформы на клиенте должна совпадать с версией сервера 1С, поэтому откатывать придётся и сервер.
Ограничение одно: конфигурация требует минимальную версию платформы. Если новый релиз Бухгалтерии рассчитан на платформу с номером не ниже определённого, запустить его на более ранней не получится.
Хранилище конфигурации
Если Бухгалтерия дорабатывается через хранилище, вернуть прежнюю версию конфигурации можно без бэкапа:
- В Конфигураторе откройте
Конфигурация → Хранилище конфигурации → История хранилища. - Найдите версию до обновления по дате и комментарию.
- Сохраните её в файл
.cfили получите в свою конфигурацию, затем сравните с текущей.
История хранилища хранит только конфигурацию. Данные базы хранилище не откатывает, для них всё равно нужна резервная копия.
Откат клиент-серверной базы на MS SQL и PostgreSQL
В клиент-серверном варианте данные лежат в СУБД, и откат быстрее и точнее делать её средствами. Загрузка .dt тоже сработает, но на базе в десятки гигабайт займёт часы.
Подготовка на сервере 1С
- Откройте консоль администрирования серверов 1С, найдите информационную базу.
- В свойствах базы включите Блокировку начала сеансов и Блокировку регламентных заданий, заполните сообщение для пользователей.
- Завершите активные сеансы. Несохранённые документы у пользователей пропадут — предупредите людей заранее.
MS SQL Server
Восстановление полной копии поверх рабочей базы:
RESTORE DATABASE [buh]
FROM DISK = N'D:\Backup\buh_full.bak'
WITH REPLACE, RECOVERY;
Если есть полный и разностный бэкап, полный восстанавливают с NORECOVERY, разностный — с RECOVERY:
RESTORE DATABASE [buh] FROM DISK = N'D:\Backup\buh_full.bak' WITH REPLACE, NORECOVERY;
RESTORE DATABASE [buh] FROM DISK = N'D:\Backup\buh_diff.bak' WITH RECOVERY;
При полной модели восстановления и наличии бэкапов журнала транзакций можно вернуться на конкретную минуту перед обновлением: журнал восстанавливают с параметром STOPAT. Это удобно, если обновление запускали без отдельной копии, но ночной полный бэкап и журналы есть.
PostgreSQL
Для дампа в формате custom восстановление с очисткой существующих объектов:
pg_restore -h localhost -U postgres --clean --if-exists -d buh /backup/buh.backup
Надёжнее восстановить дамп в новую базу, проверить её и только потом переключить на неё информационную базу 1С или переименовать базы.
После восстановления
- Снимите блокировку начала сеансов и регламентных заданий.
- Зайдите под администратором и проверьте релиз и последние документы.
- Если у пользователей странные ошибки интерфейса, очистите кэш клиента: запуск с параметром
/ClearCache.
| Способ | Когда подходит | Риски |
|---|---|---|
| Встроенная копия | Файловая база, обновление через мастер | Копия может быть старше, чем кажется |
Файл .dt | Любая база, небольшой объём | Долго на больших базах, нужен монопольный доступ |
| Бэкап MS SQL / PostgreSQL | Клиент-серверная база | Нужен доступ к СУБД и аккуратность с именем базы |
Старый .cf без данных | Обновление сорвалось до обновления данных | Потеря данных новых реквизитов, отказ запуска |
Что ломается после отката и как это починить
Откат возвращает базу в прошлое, а внешний мир остаётся в настоящем. Отсюда большинство проблем.
Ещё две частые ошибки, которые делают сами пользователи:
- ❌ Сразу загрузили .dt в рабочую базу без копии текущего состояния. Если копия оказалась битой или слишком старой, вернуться уже некуда.
- ❌ Повторили то же обновление сразу после отката, не выяснив причину. Сначала проверьте, не связана ли ошибка с доработками или расширениями, и только потом обновляйте снова, лучше в копии базы.