Обновление 1С · Ошибки

Ошибки при обновлении 1С

Обновление обрывается или программа после него не запускается — почти всегда за этим стоит одна из нескольких типовых причин. Разбираем самые частые ошибки: что каждая означает и что делать.

Читать →
Перед началом — резервная копияРазбираем — 4 частые ошибки
Коротко

Чаще всего обновление 1С падает по четырём причинам: базу не удаётся заблокировать монопольно (в ней остались пользователи, сеансы или регламентные задания), конфигурация базы данных не соответствует сохранённой (обновление прервалось — нужно завершить его в конфигураторе), не подходит файл обновления (пропущено много релизов — нужна цепочка промежуточных или полный дистрибутив), либо возникает ошибка формата потока (повреждён кэш или сама база). Перед любыми действиями сделайте резервную копию.

Сначала — резервная копия

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

«Требуется монопольный режим» / не удаётся заблокировать базу

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

  1. 1
    Проверьте активные сеансы

    В клиент-серверном варианте — в консоли администрирования серверов 1С, в файловом — в списке подключений. Часто «висят» не сотрудники, а фоновые сеансы, забытые открытые окна или подключения с других устройств.

  2. 2
    Отключите регламентные задания

    Регламентные и фоновые задания создают собственные сеансы и мешают установить монопольную блокировку. На время обновления их отключают.

    Это одна из самых частых причин, когда «в базе никого нет», а ошибка остаётся.
  3. 3
    Установите блокировку соединений

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

  4. 4
    Завершите оставшиеся сеансы

    Если после этого сеансы остались, их завершают принудительно — в клиент-серверном варианте через консоль администрирования. Затем повторяют обновление.

    готово

«Конфигурация базы данных не соответствует сохранённой конфигурации»

Это сообщение означает, что изменения конфигурации сохранены, но не перенесены в базу данных — как правило, обновление прервалось (сбой питания, аварийное завершение) либо его не довели до конца.

  1. 1
    Откройте конфигуратор

    Запустите базу в режиме «Конфигуратор» под пользователем с административными правами.

  2. 2
    Выполните «Обновить конфигурацию базы данных»

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

    Требуется монопольный доступ — см. блок выше.
  3. 3
    Если изменения были ошибочными

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

Не подходит файл обновления / пропущено много релизов

1С обновляется последовательно: файл обновления (cfu) рассчитан на переход с конкретных версий. Если пропущено много релизов, прямой переход невозможен.

  1. 1
    Посмотрите текущий релиз конфигурации

    Версию конфигурации видно в разделе «О программе». От неё зависит, какой файл обновления подойдёт.

  2. 2
    Обновляйтесь цепочкой промежуточных релизов

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

  3. 3
    Либо используйте полный дистрибутив конфигурации

    Альтернатива длинной цепочке — загрузка полного дистрибутива конфигурации (файл cf). Этот путь подходит для типовых конфигураций без доработок; при наличии доработок так можно потерять изменения.

    Если конфигурация дорабатывалась — не загружайте cf поверх: сначала нужно оценить доработки.

«Ошибка формата потока» после обновления

Ошибка означает, что программа не может прочитать данные в ожидаемом формате. У неё две типовые области возникновения.

При запуске программы

Чаще связана с повреждением кэша (временных файлов) — например, после аварийного завершения работы или сбоя питания во время обновления. В этом случае помогает очистка кэша.

При работе с данными

Если ошибка возникает при открытии справочника, проведении документа или формировании отчёта — проблема, как правило, в самой информационной базе. Нужно тестирование и исправление базы.

Расширения и доработки

Некорректно работающее расширение или неудачно перенесённая доработка тоже могут давать эту ошибку после обновления — их отключают и проверяют поведение.

Порядок действий

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

Если ошибка не из этого списка

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

Если текст ошибки не совпадает с описанными выше или шаги не помогли — напишите нам в чат: посмотрим на вашу базу, определим причину по журналу регистрации и доведём обновление до конца. Мы обновляем 1С с 2003 года, в том числе базы с доработками и клиент-серверные.

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

Чаще всего мешают не пользователи, а фоновые сеансы и регламентные задания — они держат собственные подключения. Отключите регламентные задания, включите блокировку установки соединений и проверьте список активных сеансов: в клиент-серверном варианте — в консоли администрирования серверов.
Изменения конфигурации сохранены, но не перенесены в базу — обычно обновление прервалось. Решение: в конфигураторе выполнить «Обновить конфигурацию базы данных» и принять изменения. Если изменения были ошибочными — вернуть конфигурацию к состоянию базы данных.
В общем случае нет: файл обновления рассчитан на переход с определённых версий. Нужно идти цепочкой промежуточных релизов либо загрузить полный дистрибутив конфигурации (cf) — но последний вариант подходит только типовым конфигурациям без доработок.
Если она появляется при запуске — обычно повреждён кэш, помогает его очистка. Если при работе с данными — проблема в самой базе, нужно тестирование и исправление. В обоих случаях сначала делают резервную копию. Причиной также могут быть расширения.

Обновление встало с ошибкой — поможем

Разберём причину по тексту ошибки и журналу регистрации, доведём обновление до конца и проверим базу. Работаем с типовыми и доработанными конфигурациями, файловыми и клиент-серверными. С 2003 года, 1С:Франчайзи, Уфа.