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

Скоро выйдет платформа 8.3.21, поэтому мы, как всегда, проанализировали тестовую версию и подготовили обзор изменений для слушателей курса по разработке расширений

Думаем, этот материал будет полезен всем разработчикам, поэтому публикуем его бесплатно :)

Во-первых, каких-то глобальных перемен в платформе 8.3.21 не произошло. Однако в новом релизе сняты некоторые ограничения, которые были в прежних версиях платформы – и это упрощает работу программистам.

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

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

Подробности – в видео. Приятного просмотра!

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

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

Видео 2 – Механизм разделения данных и его связь с расширениями

Тайминг ключевых моментов:

  • 00:35 – постановка задачи, на примере которой покажем, как работает механизм разделения данных
  • 01:50 – недостаток локальных ИБ
  • 03:56 – как проблема решается с помощью механизма разделения данных
  • 05:45 – разработка информационной базы с использованием механизма разделения данных

Видео 3 – Изменения в платформе 8.3.21, связанные с общими реквизитами-разделителями

Тайминг ключевых моментов:

  • 00:25 – включение собственных объектов расширения в состав заимствованного общего реквизита-разделителя
  • 02:34 – загрузка расширений с новыми справочниками или документами и для ИБ, для и область данных
  • 07:37 – ограничение, которое действует для разделенных баз

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

Тайминг ключевых моментов:

  • 00:20 – ограничение по созданию предопределенных элементов в 8.3.20
  • 01:15 – создание предопределенного элемента в 8.3.21
  • 03:15 – допустимые режимы совместимости, при которых можно создавать предопределенные объекты

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

Все нюансы правильной доработки с минимальными вмешательствами – в курсе «Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки».

После курса Вы сможете:

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

Для кого этот курс

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

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

  1. frkbvfnjh

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

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

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

  2. Юрий Бородин

    Спасибо за материал!
    ИМХО: механизм разделения вполне можно использовать внутри одного холдинга например, когда учет разных юрлиц нужно разбить на дивизионы. На мой взгяд такое решение гораздо красивее, чем использовать RLS! )

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

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

  3. Горбунов Александр

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

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

      Добрый день!
      Общий реквизит-разделитель с точки зрения хранения данных в базе – это обычное поле. Главным отличием является то, что в тексты запросов, реально выполняющихся на сервере СУБД, платформа неявно добавляет отбор по значению разделителя.
      Например, в коде используется запрос:

      ВЫБРАТЬ
          РеализацияТоваровУслуг.Ссылка КАК Ссылка
      ИЗ
          Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг

      На сервер СУБД поступит следующий запрос:

      SELECT
          T1._IDRRef
      FROM
          dbo._Document144 T1
      WHERE
          T1._Fld253 = 1

      Секция WHERE – это и есть неявный отбор по значению разделителя (номера области текущего пользователя, выполняющего запрос).
      Аналогичные неявные отборы будут добавлены и при записи данных в базу.

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

      Сервис 1С:Фреш как раз основан на разделенных базах. В сервисе используются типовые конфигурации фирмы “1С”. Например, БП, в которой есть общий реквизит-разделитель ОбластьДанныхОсновныеДанные. Это числовой реквизит, неявный отбор по которому и добавляется во все запросы.

  4. SiAl

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

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

      Добрый день!
      Да, Вы правы – режим совместимости современных типовых конфигураций отстает от последних версий платформы.
      Например, в БП 3.0.110.20 используется режим совместимости Версия 8.3.16.

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

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

Вход на сайт

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

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

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

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

E-mail или логин

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