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

Разработка и Конфигурация · 13 мин

Как обновить расширение конфигурации 1С

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

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

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

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

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

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

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

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

Подготовка: что сделать до обновления

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

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

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

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

После того как основная конфигурация обновлена, откройте список расширений: «Администрирование → Печатные формы, отчеты и обработки → Расширения» (в некоторых конфигурациях путь может отличаться). Найдите нужное расширение и посмотрите на колонку состояния. Если расширение несовместимо, флаг использования будет снят, а в информации о нём появится сообщение о причине.

Быстрая проверка доступна и без конфигуратора: попробуйте повторно установить флаг использования. Платформа немедленно выполнит контроль применимости и выдаст перечень ошибок, если они есть. Сами по себе эти сообщения не всегда очевидны, но они указывают на конкретные объекты — это отправная точка для исправления.

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

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

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

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

Флаг использования установлен, ошибок применимости нет

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

Флаг сброшен, отображается сообщение о несовместимости

Запуск проверки в конфигураторе
Норма

Проверка завершена без ошибок применимости

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

Список ошибок со ссылками на заимствованные объекты

Работа пользовательского режима
Норма

Все доработанные команды, формы и отчёты доступны и функционируют

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

Пропали кнопки, печатные формы, возникают ошибки при открытии форм

Исправление типовых несовместимостей в конфигураторе

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

Переименованные или удалённые объекты и процедуры

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

Изменённые формы

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

Изменённые роли и права

Если расширение добавляет или изменяет роли, проверьте, что заимствованные объекты, на которые ссылаются права, существуют. Удалённый в новом релизе объект в составе роли блокирует применимость всего расширения. Уберите такие объекты из роли или замените их актуальными аналогами.

Типичные ошибки
01
Правка расширения на копии со старым релизом конфигурации — несовместимости просто не видны, ошибки всплывут только в рабочей базе
02
Слепое копирование старого кода поверх нового заимствованного объекта — теряются изменения поставщика, логика работает некорректно
03
Загрузка обновлённого расширения сразу в рабочую базу без тестирования — при ошибке реструктуризации возможна порча данных
04
Игнорирование предупреждений проверки конфигурации — «некритичные» замечания часто превращаются в ошибки при следующем обновлении

Загрузка обновлённого расширения в рабочую базу

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

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

Обратите внимание на свойства расширения: «Безопасный режим», «Защита от опасных действий», «Использовать в основных ролях». При загрузке новой версии эти флаги могут сброситься — сверьте их с прежними значениями, иначе расширение будет работать с другими ограничениями, чем раньше.

Порядок обновления расширения
  1. 1
    Сделайте резервную копию базы и выгрузите текущее расширение в файл *.cfe
  2. 2
    Обновите основную конфигурацию на тестовой копии базы
  3. 3
    Проверьте применимость расширения в списке расширений и в конфигураторе
  4. 4
    Исправьте несовместимости: перезаимствуйте объекты, обновите формы и код
  5. 5
    Сохраните исправленное расширение в файл и загрузите в тестовую копию
  6. 6
    Проверьте работу всех доработанных функций в пользовательском режиме
  7. 7
    Повторите загрузку в рабочей базе, при необходимости выполните реструктуризацию

Альтернативные сценарии и частные случаи

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

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

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

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

Как выбрать действие

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

Частые проблемы после обновления и их решение

Ситуация «расширение применимо, но доработки не видны» обычно означает, что в новом релизе изменилась командная панель формы или настройки интерфейса, и добавленная расширением команда оказалась вне видимой области. Проверьте состав команд формы в расширении и видимость элементов.

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

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

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

Часто задаваемые вопросы

Можно ли обновить расширение без конфигуратора?

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

Что произойдёт с данными, добавленными расширением, если его отключить?

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

Расширение совместимо, но после обновления работает неправильно. Почему?

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

Нужно ли обновлять расширение при обновлении платформы 1С?

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

Как узнать, какие именно объекты конфигурации изменились и затронули расширение?

Используйте сравнение конфигураций в конфигураторе: сравните старый и новый релизы основной конфигурации («Конфигурация → Сравнить, объединить»). Отчёт покажет изменённые и удалённые объекты. Сопоставив этот список с заимствованными объектами расширения, вы заранее увидите зоны риска ещё до обновления базы.

Можно ли временно отключить расширение, чтобы обновить конфигурацию без него?

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

Итог

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

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