Подключение функционала "Присоединенные файлы" для нового объекта (БСП)

15.12.21

Разработка - БСП (Библиотека стандартных подсистем)

Данная статья поможет добавить "скрепку", т.е. возможность пользоваться функционалом БСП для присоединения файлов к любому документу.

Ниже описан порядок действий для добавления "скрепки" (присоединение файлов) к новому документу "НашНовыйДокумент" (как пример).

1. Копируем справочник с наименованием содержащим на конце словосочетание "ПрисоединенныеФайлы". Например "АвансовыйОтчетПрисоединенныеФайлы".

2. Меняем наименование так, чтобы префикс точно соответствовал наименованию документа, а окончание содержало "ПрисоединенныеФайлы". В нашем случае: "НашНовыйДокументПрисоединенныеФайлы".

3. Меняем ТИП у реквизита "ВладелецФайла" справочника "НашНовыйДокументПрисоединенныеФайлы" на "НашНовыйДокумент".

4. Включаем в состав определяемых типов "ПрисоединенныйФайл" и "ПрисоединенныйФайлОбъект" наш новый справочник "НашНовыйДокументПрисоединенныеФайлы".

5. Расширим состав определяемого типа "ВладелецПрисоединенныхФайлов" нашим документом (ДокументСсылка) "НашНовыйДокумент".

6. Расширим состав типов свойства "Источник" у подписки "ПереопределитьПолучаемуюФормуПрисоединенногоФайла", включив в него справочник "НашНовыйДокументПрисоединенныеФайлы".

7. Расширим состав типов свойства "Источник" подписки УстановитьПометкуУдаленияПрисоединенныхФайловДокументов, включив в него наш новый документ (ДокументОбъект) "НашНовыйДокументПрисоединенныеФайлы".

8. Расширим состав общей команды "ПрисоединенныеФайлы" и "ПрисоединенныеФайлыБП", включив в него наш новый документ (ДокументСсылка).

Если необходимо добавить "Скрепку" на форму списка (в типовом варианте должна добавиться автоматически), чтобы картинка значения появлялась при наличии прикрепленных файлов у документа (строка в списке), то выполняем следующие действия:

1. В форме списка, у реквизита "Список" имеющего тип "ДинамическийСписок" выставляем галку "ПроизвольныйЗапрос", после чего открываем настройку списка (в там же в свойствах) и добавляем в блок "Выбрать":

НаличиеФайлов.ЕстьФайлы КАК ЕстьФайлы

а в блок "ИЗ" :

{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
        ПО НашНовыйДокумент.Ссылка = НаличиеФайлов.ОбъектСФайлами}

2. После того, как поправили запрос, в реквизитах списка появится "ЕстьФайлы". Перетаскиваем реквизит в табличное поле и указываем в свойствах:

- Вид: "Поле картинки";

- Положение заголовка: "Нет";

- Картинка значений: "Скрепка";

- Картинка шапки: "Скрепка".

См. также

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

В статье описан алгоритм для включения документа или справочника в систему БСП. Будет полезно программистам 1С, начинающим работать с БСП.

24.10.2024    1098    PROSTO-1C    0    

12

БСП (Библиотека стандартных подсистем) Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

В материале описан универсальный механизм работы с добавленными элементами на общую форму «ФормаОтчета». Думаю, облегчит работу многим разработчикам.

08.10.2024    978    PROSTO-1C    4    

10

БСП (Библиотека стандартных подсистем) Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

04.10.2024    1830    MadRave    11    

24

БСП (Библиотека стандартных подсистем) Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

10.09.2024    1823    MadRave    1    

17

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

А что, если долгожданная реализация Паузы в 1С смутно напоминает старую, проверенную? А?!

06.09.2024    1254    n_mezentsev    10    

8

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Добавим дополнительные свойства в новый документ средствами БСП

02.09.2024    4105    John_d    10    

52

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Всё больше организаций выбирает для серверов под 1С операционные системы Linux. Одним из отличий систем Windows и Linux является отсутствие COM объектов, которые зачастую использовались для формирования печатных форм офисных документов (Word). Конечно, можно выполнять печать и на клиенте, но есть риск импортозамещения. В работе у меня случались проблемы с зависанием процесса Word, поэтому я не люблю его использовать.

29.07.2024    5354    PROSTO-1C    12    

52
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. nixel 1433 25.11.21 08:41 Сейчас в теме
Зачем это перепечатывание документации, да ещё без указания версии?
betexpert; WebberNSK; Lok`Tar; Drivingblind; mrChOP93; TipsyKID; ovcharenko.di; artbear; +8 2 Ответить
2. dhurricane 25.11.21 10:27 Сейчас в теме
(1) Потому как это не перепечатывание документации, а "собственный опыт" :-). Возможно, автор не знал про документацию, а своими глазами исследовал свою базу БП, и методом проб и ошибок реализовывал присоединение файлов. На это, как мне кажется, указывают ошибки в пунктах 6 и 8, а также наличие пункта 9. Ну а теперь автор делится с нами своим пережитым опытом с целью облегчить наш труд. :-)
Tushcan; user1706724; user849521; Sardukar; taasha25; user1628996; vakham; KoC_one; bocharovki; belarus767; Rabin; arxxm; AlbertZ; +13 Ответить
3. kalyuzhnyyp 127 25.11.21 10:36 Сейчас в теме
(2) Все так, спасибо за понимание)
4. dhurricane 25.11.21 10:38 Сейчас в теме
(3) На самом деле я осуждаю Вас за это :-). Рекомендую почитать документацию по ссылке, что я привел. Убедитесь только, что версия БСП (не БП) соответствующая. Там и ошибок нет, и возможностей подсистемы работы с файлами описано больше.
mrChOP93; zqzq; TipsyKID; ixijixi; +4 Ответить
5. kalyuzhnyyp 127 25.11.21 11:36 Сейчас в теме
(4) Зачем же осуждать) У человека может не быть доступа на портал, например. Опять же, это с учетом личного опыта.
Tushcan; bocharovki; +2 Ответить
6. dhurricane 25.11.21 11:42 Сейчас в теме
(5) Ну дело Ваше. Призываю Вас хотя бы прочитать документацию и исправить ошибки в тексте.
7. kalyuzhnyyp 127 25.11.21 11:43 Сейчас в теме
(6) да, перепроверю . Спасибо
12. kalyuzhnyyp 127 25.11.21 16:40 Сейчас в теме
(4)
На самом деле я осуждаю Вас за это :-). Рекомендую почитать документацию по ссылке, что я привел. Убедитесь только, что версия БСП (не БП) соответствующая. Там и ошибок нет, и возможностей подсистемы работы с файлами описано больше..


Вот хотел бы у вас попросить привести пример из документации по БСП, а не ссылку на саму документацию.
15. dhurricane 25.11.21 17:33 Сейчас в теме
(12) Документация (БСП 3.1.3):
Расширить состав определяемых типов ВладелецПрисоединенныхФайлов (ссылки) и ВладелецПрисоединенныхФайловОбъект (объекты, кроме документов), добавив в него тип «объект с файлами». Например СправочникСсылка.Номенклатура, ДокументСсылка.СчетНаОплатуПокупателю, ДокументСсылка.ЗаказПокупателя.

Ваш пункт 6:
Расширим состав определяемого типа "ВладелецПрисоединенныхФайловОбъект" добавив в него тип справочник "НашНовыйДокументПрисоединенныеФайлы".
16. kalyuzhnyyp 127 26.11.21 09:25 Сейчас в теме
(15)
мых типов ВладелецПрисоединенныхФайлов (ссылки


Все верно, для "ВладелецПрисоединенныхФайлов" документ, а для "ВладелецПрисоединенныхФайловОбъект" справочник. Что не так?
17. dhurricane 26.11.21 14:03 Сейчас в теме
(16) Не так что-то с Вашим восприятием написанного. Понимаю, что мои слова могут Вам показаться оскорбительными. Но после такого ответа у меня резко пропало желание продолжать эту дискуссию. Остались лишь одни негативные эмоции.
Moto45; starik-2005; +2 2 Ответить
18. starik-2005 3087 26.11.21 14:35 Сейчас в теме
(17)
Остались лишь одни негативные эмоции.
Зря Вы так. Человек старался, переписывал, лизал химический карандаш, лежал попой кверху, чтобы лучше думалось, а Вы ему грабли под ноги )))

(0) Аффтор, пойми, чем отличается сцылка от объекта (не буду продолжать, а то опять ззабанят))))
Moto45; UralKIT; +2 Ответить
19. kalyuzhnyyp 127 26.11.21 14:44 Сейчас в теме
(18)
ффтор, пойми, чем отличается сцылка от объекта (не буду продолжать, а то опять ззабанят))))


Ну как-то грубо, что ли. Я денег за это не беру, делюсь безвозмездно. Да нет, продолжайте, мы же не знаем чем отличается объект от ссылки. Вы сами то понимаете о чем речь? Или просто решили высказать свое ничем не подкрепленное мнение?
Bessondo; DrVitaly; user1706724; lsnr; den_marino90; UralKIT; +6 Ответить
21. starik-2005 3087 26.11.21 14:46 Сейчас в теме
(19)
Вы сами то понимаете о чем речь?
Мы-то понимаем )))
20. kalyuzhnyyp 127 26.11.21 14:45 Сейчас в теме
(17)
мои слова могут Вам показаться оскорбительными. Но после такого ответа у меня резко пропало желание продолжать эту дискуссию. Остались лишь одни негативные эмоции.


Взаимно
33. DELOVOYDOM 10.11.23 14:24 Сейчас в теме
(6) По теме вашего коммента от человека, гораздо старше Вас. Когда у меня спрашивают, как Вы заработали миллионы - друзья знакомые. Если бы я отвечал, читайте документацию, то не достиг бы того, что имею, а именно бизнес-центр в Москве. Это Вам на будущее. Конечно есть и документация и книги. Удалитесь с этого сайта, читайте книги и документацию. Я бы банил таких как Вы за флуд.
DrVitaly; Redempty; user1628996; Rinas91; Serg_KSV; kalyuzhnyyp; user1706724; +7 Ответить
14. kalyuzhnyyp 127 25.11.21 16:47 Сейчас в теме
(1)
печатывание документации, да ещё без указания верс


Где вы увидели, что это перепечатывание? Можно конкретную ссылку на источник?
28. user834640 20.12.22 14:48 Сейчас в теме
(1) затем, что это легко ищется поисковиками когда есть конкретная задача и ее надо быстро решить.
arz; Hogyoku; +2 Ответить
8. opus70 74 25.11.21 12:34 Сейчас в теме
(4)
1 . не у всех ест туда доступ.
2. там написано настолько ужасно что лучше почитать автора
Bessondo; Dozkni; Redempty; user1628996; Serg_KSV; Stivens; Chizhik2020; bocharovki; lsnr; Vidz; belarus767; den_marino90; UralKIT; Hogyoku; AlbinaAAA; user790708; kalyuzhnyyp; +17 Ответить
9. aleksey2 88 25.11.21 14:19 Сейчас в теме
Какая совместимость? на 8.3.7 взлетит ?
13. kalyuzhnyyp 127 25.11.21 16:43 Сейчас в теме
(9)
мость? на 8.3.7 взлети


Добрый день. Проверял на 8.3.14
10. quazare 3800 25.11.21 14:21 Сейчас в теме
теория без практики - это как брачная ночь без невесты. на разделы бип нужны практические примеры - например, как вот здесь https://infostart.ru/1c/articles/1318934/
11. MyProject 120 25.11.21 15:17 Сейчас в теме
1. Не всегда нужен свой справочник.
В типовых можно посмотреть РаботаСФайламиПереопределяемый, процедура "ПриОпределенииСправочниковХраненияФайлов".
Там можно посмотреть, нет ли "универсального" справочника хранения присоединенных файлов.

2. Это все ясно-понятно, несложно. Сейчас актуально все это проделывать через расширение.
В расширениях начнутся проблемы с определяемыми типами.
Возьмите, например, Бухгалтерию 3.0 и добавьте через расширение возможность присоединять файлы к справочнику "Номенклатура" или "Основные средства". Это будет интересный опыт :)
user712340_lost-s0u1; Niklam2; Torin; +3 Ответить
22. stopa85 42 27.11.21 23:15 Сейчас в теме
Если доделывается типовая, в нее добавлен документ, есть НашаНоваяПодсистема, я бы ещё добавил собственные подписки на события и собственную глобальную команду.

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

Что по этому поводу думаете?
23. human_new 694 30.11.21 16:34 Сейчас в теме
Паша, тебе пишут, что в ВладелецПрисоединенныхФайловОбъект документ добавлять не надо. Нужно проверить и удалить из этого типа свой, а то могут и косяки быть.
24. kalyuzhnyyp 127 01.12.21 01:23 Сейчас в теме
(23)
ВладелецПрисоединенныхФайловОбъект

Юра, да, этот пункт лишний. Перепроверил и поправил. Спасибо
25. FarFar 47 15.08.22 14:58 Сейчас в теме
8. Расширим состав общей команды "ПрисоединенныеФайлы" и "ПрисоединенныеФайлыБП", включив в него наш новый документ (ДокументСсылка). - это как, что то туплю?
27. fishenemy 92 20.12.22 14:05 Сейчас в теме
(25)
это как, что то туплю?

и без этого работает, не надо
26. user1748458 14.12.22 12:21 Сейчас в теме
Спасибо большое Павел. Очень помогла ваша статья!!!
Stonyx; user1804494; +2 Ответить
29. Vidz 11 27.02.23 08:48 Сейчас в теме
Автор, спасибо за статью.
Делаю на БСП 3.1.7.275 - всё актуально до сих пор.
Но, вот чего не хватает: описания чего добавлять на форму объекта (взял из документа Авансовый отчёт):

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// СтандартныеПодсистемы.РаботаСФайлами
	ПараметрыГиперссылки = РаботаСФайлами.ГиперссылкаФайлов();
	ПараметрыГиперссылки.Размещение = "КоманднаяПанель";
	РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыГиперссылки);
	// Конец СтандартныеПодсистемы.РаботаСФайлами
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
	// Конец СтандартныеПодсистемы.РаботаСФайлами
	
КонецПроцедуры


&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
	// Конец СтандартныеПодсистемы.РаботаСФайлами
	
КонецПроцедуры

#Область СтандартныеПодсистемы_РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
	 РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

#КонецОбласти
Показать
fjvolga; ye_s; DrVitaly; SadrA; us; Tarlich; atl1884; dammit666; bprogs; fishhevaOS; +10 Ответить
30. yhor 27.04.23 15:53 Сейчас в теме
Про права ещё надо не забыть на новый справочник. Например, в БП в роли ДобавлениеИзменениеДанныхБухгалтерии скорее всего будет, надо посмотреть, как для других справочников сделано и так же выставить.
31. SyVyM 05.07.23 14:44 Сейчас в теме
Сделал в расширении свой справочник, все что нужно вроде добавил - в файловом варианте появляется Файлы, в серверном нет. Подскажите где-что поправить?
aleksandr.khorev; +1 Ответить
32. FilthyC4zul 06.09.23 09:42 Сейчас в теме
(31) Мучаюсь с аналогичной проблемой. Появилось ли какое-нибудь решение или наталкивающие мысли?
aleksandr.khorev; +1 Ответить
35. aleksandr.khorev 10.02.24 13:10 Сейчас в теме
(31) аналогичная ситуация, не нашли решения?
34. user1036574 28.11.23 22:56 Сейчас в теме
1С:ERP 2.5.12
Платформа 8.3.21.1849
Возникла задача добавить функционал присоединяемых файлов к документу Перемещение товаров, конфигурация на поддержке, решать задачу пришлось через расширение.
1. В расширение добавил справочник ПеремещениеТоваровПрисоединенныеФайлы, справочник скопировал с ВнутреннееПотреблениеПрисоединенныеФайлы;
2. Для документа Перемещение товаров в форму документа добавил все процедуры и вызовы по аналогии с документом Внутренее потребление, поиск осуществлял по тексту "РаботаСФайлами" - все процедуры и обращения в модуле формы закомментированы текстом "СтандартныеПодсистемы.РаботаСФайлами"
3. В функции "ДвоичныеДанныеФайла" общего модуля "РаботаСФайлами" возникала ошибка, связанная с тем, что добавленный мной справочник "ПеремещениеТоваровПрисоединенныеФайлы" не был добавлен в определяемые типы "ПрисоединенныйФайл". Так как изменять в расширении состав определяемых типов нельзя, обошел ошибку следующим способом:
Текст кода в типовом исполнении:
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр("РаботаСФайлами.ДвоичныеДанныеФайла", "ПрисоединенныйФайл",
ПрисоединенныйФайл, Метаданные.ОпределяемыеТипы.ПрисоединенныйФайл.Тип);
Текст кода после внесенных изменений:
СписокТиповПрисоединенныеФайлы = Метаданные.ОпределяемыеТипы.ПрисоединенныйФайл.Тип.Типы(); - возвращает массив типов
СписокТиповПрисоединенныеФайлы.Добавить(Тип("СправочникСсылка.ПеремещениеТоваровПрисоединенныеФайлы")); - добавляем свой справочник
СоставнойТип = Новый ОписаниеТипов(СписокТиповПрисоединенныеФайлы); - формируем описание типов
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр("РаботаСФайлами.ДвоичныеДанныеФайла", "ПрисоединенныйФайл",
ПрисоединенныйФайл, СоставнойТип); - передаем описание типов со своим справочником
4. По какой то причине в справочнике не заполняется индекс картинки файла из-за чего в списке прикрепленных файлов отсутствует пиктограмма по расширению файла, не стал углубляться и искать причину такого поведения, решил следующим образом - в функции "ДобавитьФайл", общего модуля "РаботаСФайлами" в место где заполняются реквизиты создаваемого элемента справочника добавил строку:
ПрисоединенныйФайл.ИндексКартинки = РаботаСФайламиСлужебныйКлиентСервер.ПолучитьИндексПиктограммыФайла(ПрисоединенныйФайл.Расширение);

Типовой функционал работает полноценно, файлы загружаются и крепятся к документу, доступны к просмотру и редактированию. Прошу не судить строго, я не самый опытный программист))))
ye_s; michael03; sergei_tekh; belov-k; +4 Ответить
36. Tarlich 116 16.02.24 23:41 Сейчас в теме
Сделал - все ок , все работает! Автор спасибо !
нюанс есть один на форме документа есть и "присоединенные файлы" и скрепка а как оставить только скрепку ?
Прикрепленные файлы:
MirrorDen; +1 Ответить
38. tezdal 29 13.05.24 22:24 Сейчас в теме
37. Healer 1 03.05.24 11:09 Сейчас в теме
В пункте "7" ошибка: не "НашНовыйДокументПрисоединенныеФайлы", а "НашНовыйДокумент" :-)
user2108177; Aleck1281; +2 Ответить
Оставьте свое сообщение