Разработка и Конфигурация · 13 мин
Как обновить расширение конфигурации 1С
Как правильно обновить расширение конфигурации 1С при обновлении основной конфигурации: проверка совместимости, исправление ошибок, контроль применимости и типовые проблемы.
Расширение конфигурации 1С — удобный способ доработать типовое решение без снятия его с поддержки. Но у этого подхода есть обратная сторона: при каждом обновлении основной конфигурации расширение может перестать работать. Изменённые или удалённые объекты, переименованные процедуры, новые обязательные реквизиты — всё это приводит к тому, что расширение отключается автоматически или начинает выдавать ошибки.
Обновление расширения — это не отдельная операция «обновить», а комплекс действий: проверить, что расширение осталось работоспособным после обновления конфигурации, найти и исправить несовместимости, загрузить исправленную версию в базу и убедиться, что функциональность работает как прежде. Иногда достаточно пары минут, иногда требуется полноценная доработка в конфигураторе.
Ниже разобран полный цикл: как подготовиться, как проверить применимость расширения, как исправить типовые ошибки и как безопасно перенести обновлённое расширение в рабочую базу. Материал ориентирован на администраторов и разработчиков, работающих с платформой 1С:Предприятие 8.3.
Почему расширение требует обновления после обновления конфигурации
Расширение не существует отдельно от основной конфигурации — оно «накладывается» на неё в момент запуска. Каждый заимствованный объект (справочник, документ, процедура, форма) жёстко привязан к объекту оригинала. Если при обновлении конфигурации поставщик переименовал процедуру, удалил реквизит или изменил состав формы, привязка разрушается.
Платформа отслеживает такие ситуации автоматически. При запуске сеанса она проверяет применимость каждого расширения, и если контроль не пройден, расширение просто не подключается. В пользовательском режиме это выглядит как внезапно пропавшие кнопки, печатные формы или доработанные реквизиты. В списке расширений при этом появляется отметка о несовместимости.
Особенно внимательно нужно относиться к расширениям, которые изменяют структуру данных — добавляют реквизиты, измерения регистров, роли. Ошибки в таких расширениях затрагивают не только интерфейс, но и хранимые данные, поэтому их обновление требует реструктуризации и более тщательной проверки.
Подготовка: что сделать до обновления
Главное правило — никогда не обновлять расширение и конфигурацию одновременно без резервной копии. Порядок подготовки выглядит так: сначала зафиксируйте текущее состояние, потом выполняйте изменения.
Перед началом работ выгрузите текущую версию расширения в файл. В пользовательском режиме это делается через список расширений (кнопка с изображением дискеты или команда «Сохранить в файл»), в конфигураторе — через меню «Конфигурация → Расширения конфигурации». Файл с расширением имеет формат *.cfe. Этот файл — ваша точка отката: если что-то пойдёт не так, вы сможете вернуть рабочую версию.
Также зафиксируйте, как именно расширение проявляется в интерфейсе: какие команды добавляет, какие формы изменяет, какие отчёты поставляет. После обновления по этому списку вы проверите, что ничего не потерялось. Если расширение разрабатывал сторонний подрядчик, уточните, есть ли у него версия, адаптированная под новый релиз конфигурации, — это может сэкономить значительное время.
Проверка применимости расширения после обновления конфигурации
После того как основная конфигурация обновлена, откройте список расширений: «Администрирование → Печатные формы, отчеты и обработки → Расширения» (в некоторых конфигурациях путь может отличаться). Найдите нужное расширение и посмотрите на колонку состояния. Если расширение несовместимо, флаг использования будет снят, а в информации о нём появится сообщение о причине.
Быстрая проверка доступна и без конфигуратора: попробуйте повторно установить флаг использования. Платформа немедленно выполнит контроль применимости и выдаст перечень ошибок, если они есть. Сами по себе эти сообщения не всегда очевидны, но они указывают на конкретные объекты — это отправная точка для исправления.
Для глубокой диагностики откройте расширение в конфигураторе: «Конфигурация → Расширения конфигурации», выделите расширение и запустите проверку через «Конфигурация → Проверка конфигурации» с включённым режимом проверки расширения, либо используйте контекстную команду проверки возможности применения. Конфигуратор покажет полный список несовместимостей: отсутствующие объекты, изменённые типы, нарушенные связи.
Как проверить результат
Флаг использования установлен, ошибок применимости нет
Флаг сброшен, отображается сообщение о несовместимости
Проверка завершена без ошибок применимости
Список ошибок со ссылками на заимствованные объекты
Все доработанные команды, формы и отчёты доступны и функционируют
Пропали кнопки, печатные формы, возникают ошибки при открытии форм
Исправление типовых несовместимостей в конфигураторе
Откройте расширение в конфигураторе на тестовой копии базы. Для этого база должна быть обновлена до нового релиза основной конфигурации — именно против неё вы будете править расширение. Если разработка ведётся в отдельной базе разработчика, обновите там основную конфигурацию тем же релизом, что установлен в рабочей среде.
Переименованные или удалённые объекты и процедуры
Самая частая проблема — заимствованная процедура или функция в новом релизе переименована или перенесена в другой общий модуль. В дереве расширения такие объекты подсвечиваются как проблемные, а проверка выдаёт ошибку «объект не найден». Решение: удалите «осиротевший» заимствованный объект и заимствуйте заново актуальный объект из обновлённой конфигурации, после чего перенесите в него свои доработки. Не копируйте старый код вслепую — сначала сравните, что изменил поставщик.
Изменённые формы
Если расширение изменяет форму, а поставщик в новом релизе переработал её состав (добавил обязательные элементы, переименовал реквизиты формы), расширение может перестать применяться или форма начнёт открываться с ошибкой. Откройте форму в расширении, обновите заимствование и вручную разрешите конфликты: перепривяжите свои элементы к актуальным реквизитам, проверьте обработчики событий. Особое внимание — обработчикам «ПриСозданииНаСервере» и «ПриОткрытии»: если изменилась сигнатура вызываемых ими процедур, код нужно скорректировать.
Изменённые роли и права
Если расширение добавляет или изменяет роли, проверьте, что заимствованные объекты, на которые ссылаются права, существуют. Удалённый в новом релизе объект в составе роли блокирует применимость всего расширения. Уберите такие объекты из роли или замените их актуальными аналогами.
Загрузка обновлённого расширения в рабочую базу
Когда исправления внесены и проверка в конфигураторе проходит без ошибок, сохраните расширение в файл (*.cfe). Затем в тестовой копии рабочей базы откройте список расширений, выделите нужное и загрузите новую версию из файла — платформа заменит текущую версию, сохранив настройки подключения.
Если расширение меняет структуру данных, при загрузке потребуется обновление конфигурации базы данных (реструктуризация). Выполняйте её в монопольном режиме и только после резервного копирования. Для файловых баз это происходит в конфигураторе или при загрузке с соответствующим подтверждением, для клиент-серверных — предпочтительно через конфигуратор администратора.
Обратите внимание на свойства расширения: «Безопасный режим», «Защита от опасных действий», «Использовать в основных ролях». При загрузке новой версии эти флаги могут сброситься — сверьте их с прежними значениями, иначе расширение будет работать с другими ограничениями, чем раньше.
- 1Сделайте резервную копию базы и выгрузите текущее расширение в файл *.cfe
- 2Обновите основную конфигурацию на тестовой копии базы
- 3Проверьте применимость расширения в списке расширений и в конфигураторе
- 4Исправьте несовместимости: перезаимствуйте объекты, обновите формы и код
- 5Сохраните исправленное расширение в файл и загрузите в тестовую копию
- 6Проверьте работу всех доработанных функций в пользовательском режиме
- 7Повторите загрузку в рабочей базе, при необходимости выполните реструктуризацию
Альтернативные сценарии и частные случаи
Не всегда расширение нужно править вручную. Если его поставлял сторонний разработчик или оно взято из готового решения, запросите версию, адаптированную под нужный релиз конфигурации. Это почти всегда быстрее и надёжнее самостоятельной правки, особенно если расширение объёмное.
Если расширение используется в нескольких базах с одинаковой конфигурацией, исправьте его один раз и распространите файл *.cfe по всем базам. Для клиент-серверных инфраструктур удобно держать актуальную версию файла в общем сетевом ресурсе с пометкой о совместимом релизе конфигурации — это исключает ситуацию, когда в разные базы загружены разные версии.
Отдельный случай — обновление платформы. Смена релиза платформы 1С:Предприятие сама по себе редко ломает расширения, но может изменить поведение механизмов, на которые они опираются (например, работу с безопасным режимом). После обновления платформы достаточно проверить применимость и прогнать ключевые сценарии работы.
Как выбрать действие
Частые проблемы после обновления и их решение
Ситуация «расширение применимо, но доработки не видны» обычно означает, что в новом релизе изменилась командная панель формы или настройки интерфейса, и добавленная расширением команда оказалась вне видимой области. Проверьте состав команд формы в расширении и видимость элементов.
Ошибки вида «метод не обнаружен» при открытии форм говорят о том, что заимствованный модуль формы ссылается на процедуру, которой больше нет в конфигурации. Найдите вызов в коде расширения и замените его на актуальный метод из нового релиза — справку по изменениям поставщик обычно публикует в описании обновления.
Если после загрузки новой версии расширения база требует реструктуризации, а она завершается ошибкой, не повторяйте попытки на рабочей базе. Восстановите резервную копию, проанализируйте, какие именно данные добавляет расширение, и устраните конфликт (чаще всего — несовместимость типов добавляемого реквизита) на тестовой копии.
Полезно вести простой реестр расширений: название, назначение, файл последней версии, релиз конфигурации, с которым оно совместимо, и кто отвечает за обновление. При плановом обновлении конфигурации такой реестр сразу показывает, какие расширения нужно проверить, и ничего не теряется.
Часто задаваемые вопросы
Можно ли обновить расширение без конфигуратора?
Загрузить готовый файл *.cfe в базу можно в пользовательском режиме через список расширений — для этого не нужен конфигуратор, достаточно прав администратора. Но если расширение несовместимо с новым релизом, исправить его без конфигуратора нельзя: правка объектов, форм и кода выполняется только там.
Что произойдёт с данными, добавленными расширением, если его отключить?
Данные, хранящиеся в добавленных расширением реквизитах и объектах, физически остаются в базе, но становятся недоступны в интерфейсе и коде, пока расширение отключено. После повторного подключения совместимой версии данные снова станут видны. Удаление расширения с изменением структуры данных может привести к удалению этих данных при реструктуризации — поэтому перед удалением делайте копию.
Расширение совместимо, но после обновления работает неправильно. Почему?
Контроль применимости проверяет только наличие и совместимость объектов, но не логику. Поставщик мог изменить алгоритм процедуры, сохранив её имя, — и ваша доработка теперь вызывается в другом контексте или с другими параметрами. Нужно сравнить код заимствованных процедур со старой версией и адаптировать свою логику.
Нужно ли обновлять расширение при обновлении платформы 1С?
Как правило, нет: расширения привязаны к конфигурации, а не к платформе. Достаточно проверить, что расширение осталось применимым, и прогнать основные сценарии. Исключение — переход через значительные версии платформы, где менялись механизмы безопасного режима или интерфейса, на которые опирается расширение.
Как узнать, какие именно объекты конфигурации изменились и затронули расширение?
Используйте сравнение конфигураций в конфигураторе: сравните старый и новый релизы основной конфигурации («Конфигурация → Сравнить, объединить»). Отчёт покажет изменённые и удалённые объекты. Сопоставив этот список с заимствованными объектами расширения, вы заранее увидите зоны риска ещё до обновления базы.
Можно ли временно отключить расширение, чтобы обновить конфигурацию без него?
Да, и это часто разумная тактика: снимите флаг использования, обновите конфигурацию, убедитесь, что типовой функционал работает, а затем занимайтесь расширением отдельно. Так вы разделяете две задачи и не смешиваете ошибки обновления конфигурации с ошибками расширения. Пользователей при этом нужно предупредить о временной недоступности доработок.
Что важно запомнить
Расширение обновляется в связке с основной конфигурацией: сначала копия и выгрузка текущей версии, затем обновление конфигурации, проверка применимости, исправление несовместимостей в конфигураторе и загрузка новой версии. Весь цикл отрабатывайте на тестовой копии, а в рабочую базу переносите только проверенный результат.