Вернуть 1С к состоянию до обновления: копия, конфигурация, платформа

· 10 мин

Содержание

Откатить обновление 1С назад надёжно можно одним способом: восстановить базу из резервной копии, сделанной до обновления. В файловой базе это загрузка .dt через Конфигуратор → Администрирование → Загрузить информационную базу или замена файла 1Cv8.1CD. В клиент-серверной — восстановление копии из СУБД. Кнопки «Отменить обновление» в 1С:Предприятии 8.3 нет.

Есть и мягкие варианты. Если новую конфигурацию загрузили, но базу данных ещё не обновили, хватит команды Вернуть конфигурацию БД. Если сломалась только платформа, достаточно запустить базу на прежней версии. Ниже — какой путь подходит к вашему случаю и как пройти его без потери данных.

Когда откат действительно нужен, а когда нет

Откат — крайняя мера. Он возвращает базу в прошлое, и всё, что пользователи ввели после копии, придётся вводить заново.

Причины, ради которых откат оправдан:

  • 🔴 база не запускается после обновления, ошибка воспроизводится у всех пользователей;
  • 🔴 обработчики обновления данных прервались с ошибкой и не проходят повторно;
  • 🟠 перестала работать критичная доработка: обмен с сайтом, складом, банком, а исправить её быстро нельзя;
  • 🟠 новый релиз требует версию платформы, которую нельзя поставить на сервер прямо сейчас;
  • 🟡 сломалась печатная форма или отчёт, без которого нельзя закрыть период сегодня.

Когда откатывать не стоит:

  • ошибка в одном документе или отчёте, а остальное работает — чаще быстрее дождаться исправления от разработчика или следующего релиза;
  • после обновления прошло несколько дней, и в базе много новых документов — откат обойдётся дороже, чем точечное исправление;
  • проблема в расширении или внешней обработке — их можно отключить, не трогая саму конфигурацию.

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

Что сделать до отката обновления 1С

Подготовка занимает 10–15 минут и защищает от второй аварии поверх первой.

  1. Сделайте копию текущего, «сломанного» состояния. Звучит странно, но это обязательный шаг. Если откат пойдёт не так, вы вернётесь хотя бы сюда, а не к пустому месту.
  2. Найдите копию до обновления и проверьте её. Посмотрите дату и размер файла. Копия размером в несколько килобайт или датой месячной давности — повод остановиться.
  3. Выясните, какие релизы стояли до и после. В пользовательском режиме это видно в окне «О программе» (значок ⓘ в правом верхнем углу). Номер платформы показан там же.
  4. Предупредите пользователей и назначьте время: при загрузке .dt и обновлении структуры база нужна монопольно.
  5. Отключите регламентные задания и обмены, чтобы они не записали данные в базу в момент восстановления.
  6. Перепишите, что ввели после обновления. Документы, созданные после копии, пропадут — список поможет быстро ввести их заново.

Не начинайте откат, пока не убедились, что копия до обновления существует и открывается. Проверить её проще всего, развернув в отдельную тестовую базу.

Восстановление базы из резервной копии

Это главный способ откатить обновление 1С. Он возвращает и конфигурацию, и данные к моменту копии. Способ восстановления зависит от того, как копию делали.

Копия в формате .dt

Файл .dt — выгрузка информационной базы через Конфигуратор. Восстановление:

  1. Запустите базу в режиме «Конфигуратор» под администратором.
  2. Откройте Администрирование → Загрузить информационную базу.
  3. Выберите файл .dt, сделанный до обновления.
  4. Подтвердите замену данных и дождитесь окончания загрузки.
  5. Закройте Конфигуратор и запустите базу в режиме «1С:Предприятие».

Если нужно сделать то же из командной строки, например на сервере без интерфейса, используйте ключ /RestoreIB:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /RestoreIB"D:\Backup\buh_before_update.dt" /Out"D:\Backup\restore.log"

Загружайте .dt той же или более новой версией платформы, чем та, в которой его выгружали. Обратная загрузка в старую платформу может завершиться ошибкой.

Копия папки файловой базы

Файловая база — это каталог с файлом 1Cv8.1CD. Если перед обновлением вы скопировали каталог целиком:

  1. Убедитесь, что в базе нет ни одного сеанса: все пользователи вышли, фоновые задания остановлены.
  2. Переименуйте текущий каталог, например в Buh_broken.
  3. Скопируйте на его место каталог из копии под прежним именем.
  4. Запустите базу и проверьте номер релиза.

Копировать файл при открытых сеансах нельзя: копия получится несогласованной.

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

В типовых конфигурациях на базе БСП (БП 3.0, ЗУП 3.1, УТ 11) помощник обновления в Администрирование → Обслуживание → Обновление версии программы для файловой базы предлагает создать резервную копию перед установкой. Если вы согласились, копия лежит в каталоге, указанном в настройках резервного копирования.

Восстановить её можно в разделе Администрирование → Обслуживание → Резервное копирование и восстановление: там есть команда восстановления из копии. Программа сама завершит сеансы и загрузит данные.

Откат конфигурации без возврата данных

Иногда копии нет или жалко потерять документы, введённые после обновления. Тогда откатывают только конфигурацию. Здесь важно, на каком этапе остановилось обновление.

Конфигурация загружена, база ещё не обновлена

Если обновление прервали до шага «Обновить конфигурацию базы данных», изменения живут только в основной конфигурации. Пользователи всё ещё работают на старой.

Откат в Конфигураторе: Конфигурация → Конфигурация базы данных → Вернуть конфигурацию БД. Основная конфигурация станет такой же, как конфигурация базы данных. Данные не затрагиваются.

База уже обновлена

Здесь откатиться без копии можно только загрузкой старого файла конфигурации .cf:

  1. Сохраните текущую конфигурацию: Конфигурация → Сохранить конфигурацию в файл.
  2. Откройте Конфигурация → Загрузить конфигурацию из файла и выберите .cf прежнего релиза.
  3. Выполните Конфигурация → Обновить конфигурацию базы данных (F7).
  4. Прочитайте список изменений структуры перед принятием.

Риски у этого способа серьёзные:

  • 🔻 при обновлении структуры удаляются реквизиты и регистры, которых не было в старом релизе, — вместе с данными в них;
  • 🔻 обработчики обновления нового релиза уже переложили данные по-новому, старая конфигурация может их не понять;
  • 🔻 типовая конфигурация хранит номер версии, до которой обновлялись данные, и при запуске может сообщить о несоответствии версий.

Загрузка старого .cf в обновлённую базу — операция для тестовой копии. В рабочей базе делайте её, только если после обновления в ней почти ничего не вводили и вы заранее проверили результат на копии.

Если исходную конфигурацию вообще не сохраняли, файл прежнего релиза можно взять из каталога шаблонов конфигураций (по умолчанию в профиле пользователя, папка tmplts) или скачать с портала поддержки по договору ИТС.

Точечный откат: отдельные объекты и расширения

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

Вернуть отдельные объекты

  1. Сохраните в файл старую конфигурацию или возьмите .cf прежнего релиза.
  2. Откройте Конфигурация → Сравнить, объединить с конфигурацией из файла.
  3. В окне сравнения снимите все флажки и отметьте только нужные объекты: модуль, макет, форму.
  4. Выполните объединение и обновите конфигурацию базы данных.

Так можно вернуть свою доработку, которую обновление перезаписало. Но объект старого релиза может вызывать процедуры, которых в новом уже нет, — проверяйте на копии.

Отключить расширение

Если после обновления ошибка возникает в коде расширения, отключите его, а не откатывайте конфигурацию. В БП 3.0 и УТ 11 список расширений открывается в Администрирование → Печатные формы, отчеты и обработки → Расширения. Снимите флажок активности у проблемного расширения и перезапустите сеанс.

Сравнение вариантов отката:

СпособКогда подходитЧто теряетсяРиск
Загрузка .dt или копии СУБДбаза сломана, есть копия до обновленияданные после копиинизкий
Вернуть конфигурацию БДконфигурацию загрузили, базу не обновилиничегоминимальный
Загрузка старого .cfкопии нет, новых данных почти нетданные в удалённых реквизитахвысокий
Объединение отдельных объектовсломан один модуль или форманичегосредний
Отключение расширенияошибка в коде расширенияфункции расширениянизкий
Что именно у вас сломалось после обновления?

Как вернуть предыдущую версию платформы 1С

Платформы 8.3 ставятся рядом друг с другом: каждая версия лежит в своём каталоге, например C:\Program Files\1cv8\8.3.xx.xxxx. Новая версия старую не удаляет, если не снять это в установщике.

Чтобы запустить базу на прежней платформе:

  1. В окне запуска выделите базу и нажмите «Изменить».
  2. Пройдите до последней страницы с параметрами запуска.
  3. В поле «Версия 1С:Предприятия» укажите номер нужной версии, например 8.3.24 или полный номер сборки.
  4. Нажмите «Готово» и запустите базу.

Если старую версию удалили, установите её заново из дистрибутива. Удалять новую при этом не обязательно.

Платформу нельзя откатить ниже версии, которую требует конфигурация. Новые релизы БП, ЗУП и УТ указывают минимальный номер платформы, и на более старой база не запустится. Тогда откатывать нужно и конфигурацию — через копию.

Откат обновления на сервере 1С и СУБД

В клиент-серверном варианте откат идёт в два слоя: база в СУБД и сервер 1С. Это разные действия, и их можно делать по отдельности.

Восстановление базы из копии СУБД

Для больших баз копия средствами СУБД быстрее и надёжнее .dt. Перед восстановлением в консоли администрирования серверов откройте свойства информационной базы и включите «Блокировка начала сеансов» и «Блокировка регламентных заданий». Затем завершите активные сеансы.

Завершение сеансов оборвёт работу пользователей без сохранения — делайте это в согласованное окно.

Восстановление в MS SQL Server:

-- копия перед обновлением (выполнять до обновления)
BACKUP DATABASE [buh] TO DISK = N'D:\Backup\buh_before_update.bak' WITH COPY_ONLY, INIT;

-- откат: восстановление поверх текущей базы
RESTORE DATABASE [buh] FROM DISK = N'D:\Backup\buh_before_update.bak' WITH REPLACE;

Восстановление в PostgreSQL:

pg_dump -U postgres -Fc -f D:\Backup\buh_before_update.backup buh
pg_restore -U postgres -d buh --clean D:\Backup\buh_before_update.backup

После восстановления снимите блокировки в свойствах базы и проверьте релиз в «О программе».

Откат версии сервера 1С

Если проблема в новой сборке сервера, верните прежнюю:

  1. Установите старую версию сервера из дистрибутива, если её уже нет на машине.
  2. Остановите службу агента сервера 1С. Все сеансы на этом сервере оборвутся — согласуйте время.
  3. Переключите службу на исполняемый файл ragent.exe прежней версии. Проще всего — переустановить старую версию с отметкой установки сервера как службы Windows.
  4. Запустите службу и откройте консоль администрирования той же версии.

Настройки кластера и список баз хранятся в каталоге данных сервера (по умолчанию srvinfo) и при смене версии сохраняются.

Версия клиента должна совпадать с версией сервера. После отката сервера проверьте, что на рабочих местах и терминальных серверах стоит та же сборка, иначе пользователи не подключатся.

Как обновлять 1С дальше, чтобы не откатываться

Откат почти всегда — следствие пропущенной подготовки. Несколько правил снимают большую часть проблем.

  • 📦 Копия перед каждым обновлением. Для файловой базы — .dt или копия каталога, для серверной — копия СУБД. Хранить её стоит до закрытия следующего периода.
  • 🧪 Сначала тестовая база. Разверните копию, обновите её, проведите пару типовых операций: документ, отчёт, обмен. Только потом обновляйте рабочую.
  • 🗂 Сохраняйте .cf перед загрузкой нового. Файл весит десятки мегабайт и даёт возможность точечного отката.
  • ⏳ Не ставьте релиз в день выхода. Первые сборки иногда получают исправления через несколько дней.
  • 🔢 Не перескакивайте через релизы вручную. Обновление .cfu ставится только на определённые предыдущие релизы; помощник обновления сам строит цепочку.
  • 🧩 Проверяйте расширения и доработки после каждого обновления на тестовой копии.

Автоматизировать копию перед обновлением можно командой Конфигуратора в пакетном режиме:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB"D:\Backup\buh_%DATE:~-4%%DATE:~3,2%%DATE:~0,2%.dt" /Out"D:\Backup\dump.log"

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

Можно ли откатить обновление 1С без резервной копии?
Полностью — нет. Можно загрузить старый .cf и обновить конфигурацию базы данных, но данные в новых реквизитах будут удалены, а часть данных уже переложена обработчиками нового релиза.
Сколько времени занимает откат?
Загрузка .dt файловой базы в несколько гигабайт обычно занимает от нескольких минут до получаса. Восстановление копии СУБД для крупной серверной базы зависит от размера и дисков.
Пропадут ли документы, введённые после обновления?
Да, если восстанавливать из копии. Всё, что ввели после её создания, придётся внести вручную. Поэтому откат лучше делать сразу, как только выявили проблему.
Почему после отката снова предлагается обновление?
Помощник видит, что доступен более новый релиз. Отложите обновление, пока разработчик не выпустит исправление, и проверьте новый релиз на тестовой копии.
Нужно ли откатывать платформу вместе с конфигурацией?
Не обязательно. Новая платформа обычно работает и со старым релизом конфигурации. Откатывать её стоит, только если ошибка связана именно с ней.