Найти тему
Будни одинэсника | 1С

Как работать с механизмом присоединенных файлов в расширении 1С?

Оглавление

В библиотеке стандартных подсистем (БСП) есть механизм присоединенных файлов. Он позволяет добавлять любые файлы к объектам 1С.

При разработке расширений для своих объектов тоже хочется воспользоваться этим типовым механизмом.

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

1️⃣ Вводные данные

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

-2

2️⃣ Создание справочника — ПрисоединенныеФайлы

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

1. Имя формируется по шаблону: ИмяСправочникаВладельца + ПрисоединенныеФайлы. Например, в нашем случае имя будет — Расш1_Справочник1ПрисоединенныеФайлы.

2. У этого справочника должны быть добавлены обязательные реквизиты:

-3

Добавлять их "руками" достаточно трудоемко, тем более они имеют различны типы данных в том числе и ссылочные, которые нужно будет перенести и в наше расширение. Тут можно пойти следующим путем:

1. Копируем в расширение (не через добавление в расширение, а именно копипастом) любой типовой справочник ПрисоединенныхФайлов, например — НоменклатураПрисоединенныеФайлы:

-4

При копировании справочника будет выдано сообщение, что часть типов данных не перенесена. Эти объекты нужно будет добавить в расширение "руками". И после назначить реквизитам соответствующие типы:

-5

По факту нам нужно добавить в расширение:

  • Справочник — Пользователи. Реквизиты: Автор, Изменил, Редактирует
  • Справочник — ТомаХраненияФайлов. Реквизит: Том
  • Перечисление — СтатусыИзвлеченияТекстаФайлов. Реквизит: СтатусИзвлеченияТекста
  • Перечисление — ТипыХраненияФайлов. Реквизит: ТипХраненияФайла
-6

2. Для реквизита ВладелецФайла, указываем тип: СправочникСсылка.Расш1_Справочник1

3. Незабываем переименовать скопированный справочник в Расш1_Справочник1ПрисоединенныеФайлы

-7

3️⃣ Переопределение Определяемых типов

Добавляем в расширение определяемы типы и назначаем им нужные типы данных:

  • ВладелецПрисоединенныхФайлов. Тип: СправочникСсылка.Расш1_Справочник1
  • ВладелецПрисоединенныхФайловОбъект. Тип: СправочникОбъект.Расш1_Справочник1
  • ПрисоединенныйФайл. Тип: СправочникСсылка.Расш1_Справочник1ПрисоединенныеФайлы
  • ПрисоединенныйФайлОбъект. Тип: СправочникОбъект.Расш1_Справочник1ПрисоединенныеФайлы
  • ПодписанныйОбъект. Тип: СправочникСсылка.Расш1_Справочник1ПрисоединенныеФайлы
  • ВладелецЗначенийКлючейДоступа. Тип: СправочникСсылка.Расш1_Справочник1
  • ВладелецЗначенийКлючейДоступаОбъект. Тип: СправочникОбъект.Расш1_Справочник1ПрисоединенныеФайлы
-8

4️⃣ Переопределение подписки на событие

Добавляем в расширение подписку на событие: ПереопределитьПолучаемуюФормуПрисоединенногоФайла

В качестве источника указываем: СправочникМенеджер.Расш1_Справочник1ПрисоединенныеФайлы

По итогу конфигурация расширения будет выглядеть вот так:

-9

5️⃣ Проверка

Давайте проверим работу. Открываем справочник и видим команду Файлы в меню навигации формы:

-10
-11

На этом все!

Понравилась статья, поддержите лайком 👍

Чтобы не пропускать новые статьи, подписывайтесь!