К статье
Практический материал

Администрирование · 13 мин

Как обновить конфигурацию 1С с расширениями без потери данных

Как правильно обновить конфигурацию 1С, если подключены расширения: порядок действий, проверка совместимости, исправление ошибок и восстановление работы расширений.

Обновление конфигурации 1С, к которой подключены расширения, требует более аккуратного подхода, чем обычное обновление типовой базы. Расширение «привязано» к структуре метаданных конкретной версии конфигурации: оно заимствует объекты, переопределяет процедуры и обработчики, ссылается на реквизиты и формы. После обновления основной конфигурации эти привязки могут нарушиться, и расширение перестанет загружаться или начнёт работать с ошибками.

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

Ниже описан рабочий порядок обновления: от подготовки и резервной копии до проверки расширений и исправления типовых ошибок. Инструкция подходит для большинства типовых решений (Бухгалтерия предприятия, Управление торговлей, ERP, Зарплата и управление персоналом) как в файловом, так и в клиент-серверном варианте.

Почему расширения конфликтуют с обновлением конфигурации

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

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

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

Подготовка: резервная копия и инвентаризация расширений

Первый обязательный шаг — резервная копия. Для файловой базы достаточно выгрузить информационную базу через конфигуратор (Администрирование → Выгрузить информационную базу) или скопировать файл 1Cv8.1CD при остановленной работе пользователей. Для клиент-серверной базы используйте выгрузку .dt через конфигуратор либо штатные средства СУБД. Копия нужна рабочая и проверенная — убедитесь, что выгрузка завершилась без ошибок.

Второй шаг — инвентаризация расширений. Откройте в режиме «Предприятие» список расширений (обычно: Администрирование → Печатные формы, отчеты и обработки → Расширения, либо через «Все функции» → Стандартные → Управление расширениями конфигурации). Для каждого расширения зафиксируйте: название, версию, назначение, источник (кто разработал), используется ли безопасный режим и профиль безопасности.

Каждое расширение сохраните в файл .cfe: в конфигураторе откройте список расширений (Конфигурация → Расширения конфигурации) и используйте команду сохранения в файл. Эти файлы понадобятся, если расширение придётся удалять и восстанавливать, а также послужат отправной точкой для адаптации. Если расширение получено от стороннего разработчика, проверьте, есть ли у него версия под новый релиз конфигурации — это самый простой путь.

Подготовка к обновлению
  1. 1
    Сделайте выгрузку базы (.dt) и проверьте, что файл создан без ошибок
  2. 2
    Откройте список расширений и зафиксируйте их названия, версии и назначение
  3. 3
    Сохраните каждое расширение в файл .cfe через конфигуратор
  4. 4
    Уточните у разработчиков расширений наличие версий под новый релиз
  5. 5
    Завершите работу пользователей и заблокируйте вход в базу на время обновления

Порядок обновления конфигурации с расширениями

Само обновление выполняется стандартно: через конфигуратор (Конфигурация → Поддержка → Обновить конфигурацию) с файлом обновления .cfu или через интернет-поддержку в режиме «Предприятие». Расширения при этом удалять не обязательно — платформа сама отключит те, что не пройдут контроль совместимости. Однако есть нюанс: на время обновления лучше завершить сеансы всех пользователей и запретить новые подключения, так как обновление конфигурации базы данных требует монопольного доступа.

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

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

Проверка и восстановление расширений после обновления

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

Если обновлённой версии нет, расширение нужно адаптировать вручную. Откройте конфигуратор, загрузите расширение из сохранённого файла .cfe и выполните проверку совместимости: платформа покажет список проблемных мест. Типичные исправления: обновить заимствованные объекты (команда обновления заимствования в палитре свойств), поправить вызовы переименованных процедур, пересоздать заимствованные формы с учётом новой структуры типовой формы.

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

Контрольные точки

Как проверить результат

Список расширений в режиме Предприятие
Норма

Все нужные расширения активны, без пометок о несовместимости

Тревожный признак

Расширение отключено платформой или помечено как несовместимое

Журнал регистрации после запуска
Норма

Нет ошибок загрузки расширений и вызовов несуществующих методов

Тревожный признак

Ошибки вида «Процедура или функция не обнаружена» при обращении к расширению

Функции, реализованные расширением
Норма

Дополнительные кнопки, формы и отчёты работают как до обновления

Тревожный признак

Элементы интерфейса пропали или действия завершаются ошибкой

Типичные ошибки и как их избежать

Самая частая ошибка — обновление без резервной копии «на живую» базу в рабочее время. Даже штатное обновление может завершиться неудачно из-за обрыва соединения, нехватки места на диске или активных сеансов. Без копии откат превращается в аварийное восстановление с риском потери данных за день.

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

Третья ошибка — забыть про расширения, подключённые «тихо»: например, расширения из состава библиотеки стандартных подсистем или установленные прежним специалистом без документирования. Именно поэтому инвентаризация перед обновлением обязательна, даже если «у нас всё типовое».

Типичные ошибки при обновлении
01
Обновление без выгрузки .dt — при сбое нечего восстанавливать, данные под угрозой
02
Удаление расширений до сохранения их в .cfe — доработки теряются безвозвратно
03
Пропуск промежуточных релизов — обработчики обновления данных не отрабатывают корректно
04
Включение несовместимого расширения принудительно без адаптации — ошибки в прикладной логике и искажённые данные
05
Запуск пользователей до завершения обработчиков обновления — часть данных остаётся в старом формате

Особые сценарии и ограничения

Расширения в файловой и клиент-серверной базе

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

Несколько расширений с пересекающимися доработками

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

Когда адаптация невозможна своими силами

Если расширение глубоко переплетается с типовой логикой (переопределяет десятки процедур, изменяет сложные формы), а конфигурация претерпела серьёзную переработку, адаптация может потребовать полноценной разработки. Признак такой ситуации — десятки ошибок контроля совместимости по всем заимствованным объектам. Здесь разумнее запросить обновлённую версию у разработчика расширения или привлечь специалиста по 1С, чем править «вслепую».

Маршрут решения

Как выбрать действие с несовместимым расширением

У разработчика есть версия расширения под новый релизЗагрузите готовую обновлённую версию — это самый быстрый и безопасный путь
Ошибок совместимости немного и они касаются переименованных процедурАдаптируйте расширение в конфигураторе: обновите заимствования и поправьте вызовы
Расширение меняет формы, которые сильно переработаны в новом релизеПересоздайте заимствованные формы заново на основе актуальной типовой формы
Расширение некритично для ежедневной работыОставьте его отключённым и вернитесь к адаптации после стабилизации основной базы
Ошибок десятки, расширение глубоко встроено в типовую логикуПривлеките разработчика расширения или специалиста по 1С — самостоятельная правка рискованна

Как снизить риски при будущих обновлениях

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

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

Наконец, не накапливайте пропущенные релизы. Регулярное обновление небольшими шагами сокращает и объём адаптации расширений, и риск конфликтов, и длительность самого обновления.

Удобно завести тестовую базу-копию и первым делом отрабатывать обновление на ней. На практике это занимает дополнительные полчаса-час, но позволяет заранее увидеть, какие расширения сломаются, и подготовить исправления до обновления рабочей базы.
ПЗ
Практическое замечание
Итог

Что важно запомнить

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

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

Нужно ли удалять расширения перед обновлением конфигурации?

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

Расширение отключилось после обновления. Данные, введённые через него, пропадут?

Нет. Отключение расширения не удаляет данные основной конфигурации. Если расширение добавляло собственные объекты (например, свой регистр сведений), эти данные хранятся в базе, но становятся недоступны, пока расширение отключено. После адаптации и повторного подключения расширения доступ к данным восстановится.

Можно ли принудительно включить несовместимое расширение?

Технически можно ослабить контроль совместимости в свойствах расширения, но делать это без адаптации опасно: расширение будет обращаться к изменённым объектам, что приведёт к ошибкам в работе или к некорректным данным. Сначала устраните причины несовместимости, перечисленные платформой.

Где посмотреть, почему расширение не применяется?

Откройте журнал регистрации (в режиме «Предприятие» через Администрирование, в конфигураторе — через меню Администрирование) и отфильтруйте события, связанные с расширениями. Там указывается, какие заимствованные объекты не найдены или изменились. Также список проблем виден в конфигураторе при проверке расширения.

Обновление через несколько релизов сразу — это рискованно?

Да. Не все конфигурации поддерживают переход с любой версии на любую: обработчики обновления данных могут быть рассчитаны на определённую стартовую версию. Проверьте в описании релиза поддерживаемые версии обновления и при необходимости ставьте промежуточные релизы последовательно.

Что делать, если после обновления расширение работает, но неправильно?

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