Каталог решений - Доработки объектов метаданных и форм (только кодом) с помощью расширений на примере типовых конфигураций: 1C:ERP Управление предприятием 2.4 и 1С:Альфа-Авто: Автосалон+Автосервис+Автозапчасти КОРП 6

Доработки объектов метаданных и форм (только кодом) с помощью расширений на примере типовых конфигураций: 1C:ERP Управление предприятием 2.4 и 1С:Альфа-Авто: Автосалон+Автосервис+Автозапчасти КОРП 6

Доработки объектов метаданных и форм (только кодом) с помощью расширений на примере типовых конфигураций: 1C:ERP Управление предприятием 2.4 и 1С:Альфа-Авто: Автосалон+Автосервис+Автозапчасти КОРП 6

В наличии

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

Категория:

Описание

   Начиная с версии 8.3.6.1977 в платформе 1С появился новый механизм адаптации прикладных решений — механизм расширений, подробности тут: https://wonderland.v8.1c.ru/blog/rasshireniya/. По сегодняшний день механизм успешно развивается и открывает новые возможности для адаптации типовых решений. 

   В процессе применения расширений, именно в части доработок типовых и отраслевых решений, я определил для себя некоторые правила:

  1. Новые объекты метаданных (далее МД) и новые реквизиты типовых объектов МД рекомендую добавлять в основную конфигурацию, не нужно спешить и добавлять сразу все в расширение, ниже описание причин.
    • Новые объекты и новые реквизиты это прежде всего хранение данных, расширение в этом плане имеет ряд недостатков, его можно удалить и даже в пользовательском режиме, появляется риск потери данных, а это ценно прежде всего для заказчика и ответственность понесет разработчик.
    • Бывают случаи когда сам вендор ставит ограничения на новые объекты МД в расширении. Например в конфигурации "Альфа-Авто" пока есть возможность добавления в расширения новых объектов следующих типов: отчеты, обработки, подсистемы. Если попытаться выйти за эти рамки то программа будет выдавать ошибку при следующем обновлении о том что идентификатор не найден в справочнике "идентификаторов объектов расширений", потому что просто не сможет его там создать.
  2. Как можно меньше заимствовать типовых объектов, реквизитов в расширение, только в самых необходимых случаях, если что-то лишнее добавилось в процессе заимствования формы рекомендую удалять их из расширения. Все это необходимо для более быстрого обновления основной конфигурации, например до обновления реквизит объекта имел прямую ссылку на тот или иной тип, а после обновления его типизировали через определяемый тип и таких реквизитов может быть много, придется править расширение, чем больше привязка расширения к основной конфигурации тем, скорее всего, сложнее и дольше придется обновлять основную конфигурацию.
  3. Модифицируем формы в большинстве случаев кодом. 

   Пример доработок в конфигурации "1С:Альфа-Авто: Автосалон+Автосервис+Автозапчасти КОРП. Редакция 6". Данная методика применялась на платформе версии 8.3.16.1148, версия конфигурации 6.0.16.03.

   Добавления в основной конфигурации. Для нового объекта МД пишем имя Префикс_ИмяОбъекта (например справочник Доработка_МойНовыйСправочник) синоним пишем привычное название. 

   По аналогии если добавляем новый реквизит в типовой объект или табличную часть Префикс_ИмяРеквизита (например Доработка_МойНовыйРеквизит) синоним пишем привычное название.

   Если добавляем новую табличную часть, то достаточно назвать по правилу Префикс_ИмяТабличнойЧасти , а подчиненные реквизиты можно оставить без префикса.

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

   Примеры модификации форм элементов и групп справочников, пока то что зафиксировал, проходит через процедуру ниже. В конфигурации "Альфа-Авто" есть общий модуль "УправлениеСвойствами" его нужно заимствовать в ваше расширение и внести нужные изменения после процедуры "ПриСозданииНаСервере", пример кода:

 

has been added to your cart:
Оформление заказа