Новые возможности расширений в платформе 8.3.20

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

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

Для справочников, планов счетов, планов видов характеристик и планов видов расчета, созданных в расширении, можно создавать предопределенные элементы. Это позволит повысить надежность кода, поскольку теперь не нужно искать в базе элемент справочника по коду или наименованию (которые пользователь может изменить), а можно создать предопределенный элемент и использовать его имя в коде.

В платформе 8.3.18 появилась возможность расширять типы реквизитов заимствованных объектов. А в платформе 8.3.20 ряд ограничений был снят. И теперь при помощи расширения можно расширять типы следующих объектов:

  • Общий реквизит, который не является разделителем
  • Тип значения характеристик в плане видов характеристик
  • Определяемый тип

Изменения коснулись “обобщенных” типов данных – таких, как ЛюбаяСсылка, СправочникСсылка и т.д. Эти типы теперь включают в себя и ссылки на объекты, созданные в расширении, а не только ссылки из основной конфигурации.

К примеру, если используется тип СправочникСсылка, то подразумевается, что пользователь может выбрать в таком поле любой справочник в системе – независимо от того, где он был создан.

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

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

Все указанные новшества рассмотрены подробно в следующих видеоуроках.

Видео 1 – Вступление

Ключевые моменты видео:

00:29 – ограничения на изменение в расширении типа реквизита в платформе 8.3.18
00:40 – снятие ограничения в платформе 8.3.20

Видео 2 – Создание предопределенных элементов

Ключевые моменты видео:

00:40 – демонстрация невозможности добавления предопределенных элементов в добавленный в расширение справочник, платформа 8.3.18
01:10 – демонстрация тех же самых действий в платформе 8.3.20
02:25 – почему стоит использовать добавление предопределенных элементов в расширение и какой эффект это дает на практике.
03:00 – для каких объектов метаданных при помощи расширения конфигурации можно создавать предопределенные элементы.
05:20 – обращение в программном коде к созданным предопределенным элементам в расширении конфигурации.
06:40 – влияние режима совместимости расширения на возможность создавать предопределенные элементы.

Видео 3 – Расширение типа реквизита

Ключевые моменты видео:

00:48 – демонстрация проблемы добавления общего реквизита в расширение на платформе 8.3.18
01:09 – демонстрация тех же действий на платформе 8.3.20
02:26 – проверка возможности изменения типа общего реквизита при помощи расширения конфигурации.
06:54 – показ ситуации, когда нельзя при помощи расширения изменить тип общего реквизита, если он является разделителем.
08:55 – демонстрация невозможности изменения типа значения характеристики для плана вида характеристики в расширении на платформе 8.3.18
10:17 – выполнение тех же действий на платформе 8.3.20
13:02 – показ невозможности редактировать тип для определяемого типа при помощи расширения конфигурации на платформе 8.3.18
14:51 – выполнение тех же действий на платформе 8.3.20
19:09 – создание собственного определяемого типа в расширении
20:40 – можно ли новый функционал расширений использовать в типовых конфигурациях?

Видео 4 – Ссылочные типы данных

Ключевые моменты видео:

01:57 – ограничения по типам данных, которые можно использовать в расширении конфигурации на платформе 8.3.18
04:53 – попытка обхода ограничения по типам данных при помощи программного кода на платформе 8.3.18
06:40 – демонстрация других ограничений для выбора типа данных реквизита справочника, созданного в расширении конфигурации на платформе 8.3.18
07:12 – показ тех же действий на платформе 8.3.20
12:05 – возможность изменения механизмов БСП в расширении на платформе 8.3.20

Видео 5 – Метод ТипВсеСсылки()

Ключевые моменты видео:

00:30 – демонстрация метода ТипВсеСсылки() на платформе 8.3.18
02:55 – демонстрация тех же действий на платформе 8.3.20

Видео 6 – Ошибки компиляции

Ключевые моменты видео:

00:20 – показ ошибки компиляции в расширении конфигурации на платформе 8.3.18
03:05 – демонстрация тех же действий на платформе 8.3.20 в режиме 1С:Предприятие
05:50 – показ работы с ошибкой компиляции в расширении на платформе 8.3.20 под отладкой.

 

Комментарии / обсуждение (15):

  1. klemens

    Добрый день! У меня есть два вопроса для меня вообще не понятных.
    1. Вы показываете примеры в тестовой базе при этом вы не используете типовую конфигурацию. Я столкнулся с такой проблемой. У меня установлена платформа 8.3.20.2180 ERP с релизом 2.5.10.84 соответственно база стоит на замочке. Режим совместимости основной конфигурации установлен 8.3.17 и режим совместимости расширений конфигурации установлен 8.3.17 Как вы меня правильно понимаете я ничего не менял. Далее в своем расширении я создаю справочник, в этом справочнике я пытаюсь создать предопределенный элемент, но не получается. Как только я в режим совместимости расширений конфигурации ставлю значение “Не использовать”, мне становится доступным создать предопределенный элемент справочника. Но есть огромное но! Так как база на замочке я не могу там выбрать режим совместимости “Не использовать”. Хочу у вас уточнить как у экспертов как тогда обходить ?! Еще раз повторюсь, в ваших видео вы показываете примеры на тестовой базе, но не показываете в типовых.
    2. Второй вопрос тоже для меня не понятный. В этой же базе, которую я описал выше, я добавляюсь в свое расширение “Определяемый типы” типовой с наименованием “ПрисоединенныйФайл” тип составной. Как только я его добавляю в расширение у меня тип становится “Произвольный”. Тоже не понятно как тогда расширять “Определяемые типы”.
    Спасибо большое за внимание!

    • Василий Ханевич

      Добрый день!
      Дело в том, что режим совместимости типовых конфигураций отстает от последних версий платформы (в Вашем примере – только 8.3.17). Поэтому, чтобы продемонстрировать новшества платформы, используется демо-конфигурация, а не типовая.
      Как только разработчики типовой конфигурации доведут режим совместимости до актуального, Вы сможете использовать весь функционал расширений.
      Смена режима совместимости занимает время, поскольку нужно дождаться нового релиза БСП, интегрировать его в типовую конфигурацию, обеспечить, чтобы весь функционал конфигурации корректно работал с новым режимом совместимости, после этого будет выпущен релиз типовой конфигурации с новым режимом совместимости.

      • klemens

        Василий Ханевич спасибо большое за ответ! Теперь все встало на свои места. Успехов вам в работе !

  2. Юлия

    Добрый день! Возможно ли перенести доработки из конфигурации в расширение, если были добавлены движения по нетиповым регистрам (изменено только свойство объекта “Движения”, формирование движений в расширении)??

    • Василий Ханевич

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

  3. cojko

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

  4. Евгений

    Еще добавьте, что при добавлении формы на платформе 8.3.20 все типы слетают и пути к данным тоже.
    Для решения нужно удалить форму и добавить снова.

    • Василий Ханевич

      Добрый день!
      Да, иногда встречаются подобные ситуации. Но я бы не сказал, что это появилось только в 8.3.20, раньше тоже встречалось. И возникает периодически, бессистемно, какой-то строгой закономерности я не обнаружил.

      • Евгений

        Система есть. Я заснял пример на видео https://youtu.be/0dg4i8d-Go8
        Платформа 8.3.20.1710
        Конфигурация 1С:ERP Управление предприятием 2 (2.5.7.390)
        Можете повторить эти шаги на любом компьютере и получите то же самое.
        На платформах 8.3.18 и на 8.3.19 такого поведения нет.

        • Василий Ханевич

          Если есть устойчивый способ воспроизведения – это хорошо. Значит, нужно отправить это воспроизведение ошибки разработчикам платформы, чтобы в следующем релизе платформы эта ошибка была исправлена.

      • FreedomOfChoice

        а в курс “Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки” добавите ? или обновления на этот курс нужно приобретать платно?

        • Кузьмин Сергей

          С разбором новых возможностей можно ознакомиться на текущей странице. Они тут опубликованы в полном объеме.
          В материалы курса обновление тоже будет добавлено.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

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

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.