Заметки из Зазеркалья

16.02.2022

Развитие расширений

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Планируется в версии 8.3.22

Мы продолжаем развивать возможности расширений, в том числе и по запросам наших партнеров и пользователей.

Замещение макетов

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

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

Изменение свойств, содержащих локализуемые строки

До версии 8.3.22 в расширениях нельзя было изменять свойства, содержащие локализуемые строки.

В версии 8.3.22 такая возможность появится. Можно будет менять свойства:

  • Синоним

  • Пояснение

  • Формат

  • Формат редактирования

  • Подсказка

  • Подсказка команды

  • Расширенное представление

  • Представление списка

  • Расширенное представление списка

  • Представление объекта

  • Расширенное представление объекта

  • Представление записи

  • Расширенное представление записи

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

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

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

А ещё бывает, что метод из конфигурации удаляется. И если этот метод переопределён в расширении, то код переопределённого метода из расширения не отработает никогда.

Разработчикам расширений нужно отслеживать такие ситуации и реагировать соответствующим образом.

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

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

  • Проверка, что существует метод в основной конфигурации, указанный в аннотации

  • Проверка, что список параметров метода в расширении соответствует параметрам в основной конфигурации (количество и модификаторы передачи по значению)

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

В текущей версии 1C:Enterprise Development Tools описанные проверки уже реализованы:

EDT-02.png

Теги: 8.3.22  расширения