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