Расширения конфигураций – как добавить функционал в типовую конфигурацию, не снимая с поддержки (20 минут видео). Изменение или отключение режима совместимости Для чего нужны расширения

Тема «аккуратной» доработки типовых конфигураций является всегда актуальной.

С помощью расширений появляется возможность вносить доработки, оставляя конфигурации БЕЗ изменений (то есть не снимая «с замка» ).

В качестве примера мы расширим функционал типовой “1С:Бухгалтерии 8” – добавим проверки на заполненность реквизитов документов. В результате система будет выдавать диагностику, если реквизиты заполнены “неправильными” значениями.

Буквально за 15 минут Вы научитесь приемам, которые сможете использовать для решения разных задач.

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

Мечты о собственной нетленке могут стать реальностью:)

Итак, приступаем:

Видео 1. Приемы работы с расширениями – на примере “1С:Бухгалтерии 8”

Изучив видео, Вы научитесь:

  • Создавать и подключать расширения к конфигурации
  • Выполнять отладку расширений
  • Дорабатывать типовые формы обработок/документов с помощью расширений
  • Перехватывать события форм типовой конфигурации
  • Хранить данные не в таблицах ИБ (хранилище настроек)
  • Использовать обработки как хранилище алгоритмов

Также мы разберем оптимизацию состава объектов расширений и ограничения расширений в текущих релизах платформы.

Видео 2. Создание универсальных механизмов с помощью расширений

В этом видео мы покажем:

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

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

Прежде всего необходимо знать об ограничениях, которые имеют расширения.

Ограничение на создаваемые объекты

На данный момент можно создавать:

  • Справочники
  • Документы
  • Регистры сведений
  • Планы обмена

Можно добавлять реквизиты в:

  • Справочники
  • Документы

Что мы имеем в итоге? Добавлять можно не все типы объектов метаданных. Самые распространенные и востребованные, но все-таки не все. Кроме того, в регистры сведений нельзя добавлять новые измерения и ресурсы. Можно только создать полностью новый регистр.

Функционал расширений зависит от режима совместимости конфигурации, к которой применяется расширение.

Режим совместимости 8.3.8 - можно менять только формы объектов и их модули, добавлять свои отчеты и обработки.

Режим совместимости 8.3.10 - можно менять общие модули, модули объекта и менеджера, роли, использовать директивы "Перед", "После", "Вместо" для любых модулей.

Режим совместимости "Не использовать" - можно использовать весь функционал расширений, включая добавление новых объектов.

На данный момент в типовой УТ 11.3 стоит режим совместимости 8.3.8. В УТ 11.4 режим совместимости 8.3.10, то есть, например, для УТ, большая часть функционала расширений недоступна, включая создание объектов метаданных.

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

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


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


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

Выводы

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

Коллеги, всем здравствуйте.

На днях вышла тестовая Бухгалтерия Предприятия с отключенным режимом совместимости с платформой 8.3.6.
А значит в этой версии используется новый движок, который по-новому отрисовывает формы.
Прочитать про это можно в Зазеркалье .

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

Памятка:


1. Переводим расширение на новую платформу

Для этого следует привести режим совместимости расширения к режиму совместимости конфигурации.
В версии Бухгалтерия Предприятия установлены следующие свойства:

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


2. Устраняем проблемы подключения

Для этого запускаем конфигурацию в режиме предприятия и смотрим взлетело или нет.
Ошибки, из-за которых не удалось подключить расширение, можно посмотреть в журнале регистрации
(Администрирование - Поддержка и обслуживание - Журнал регистрации)
Нас интересуют события - “Сеанс. Ошибка применения расширения конфигурации”:

Чаще всего проблема подключения решается удалением лишнего реквизита или объекта.

Основная сложность в том, что расширение не выдает сразу все ошибки (кстати, эта проблема решена в 8.3.9).
Поэтому требуется последовательно запускать конфигурации после исправления каждой ошибки.
Чтобы было удобно запускать журнал регистрации - добавим его в избранное:



3. Обновляем формы в расширении

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

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


4. Приводим форму к правилам нового движка.

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

Я составил следующий порядок действий:

  • Убираем все декорации , которые использовались для отступов.
    Вместо них теперь используются группы.
  • Смотрим, что все выглядит хорошо .
    Если что-то пошло не так, то смотрим статью.
    Если все хорошо, то двигаемся дальше.
  • Проверяем новые свойства платформы “Объединенная”, “АвтомаксимальнаяШирина” и “АвтомаксимальнаяВысота”.
    Просто смотрим, что в этих свойства установлены умолчания платформы и форма из-за этого не разъезжается.