Описание.
Наличие справочника «ХранилищеДополнительнойИнформации» в типовых конфигурациях фирмы 1С не всегда покрывает потребности пользователей. «ДоговорыКонтрагентов», «Контрагенты», «Организации», «ДокументыУдостоверяющиеЛичность» и «ФизическиеЛица» - вот список справочников, для элементов которых в базе можно хранить файлы и изображения (пример для БП КОРП).
Чтобы не ломать типовой справочник был создан свой «ХранилищеВнешнихФайлов». Реквизит «Объект» данного справочника имеет тип «ЛюбаяСсылка», что конечно тоже не очень хорошо, поэтому данный тип можно (желательно, но не обязательно) ограничить, выбрав, например, только «ПоступленияТоваровИУслуг» и «СчетФактураВыданный», хотя в учебных целях можно оставить все как есть, т.е. оставить возможность хранить внешние файлы для любых документов и справочников.
После установки (об установке ниже) в конфигурациях, в которых есть справочник «Внешние обработки», нужно запустить обработку «ВнешниеФайлы», она откроет форму создания новой внешней печатной формы и попытается прописать себя во все объекты, входящие в ссылочный тип реквизита «Объект», по умолчанию это все справочники и все документы. Конечно этот список должен быть отредактирован, ибо для некоторых справочников и документов возможность «прикреплять файлы» просто не нужна. После этих нехитрых манипуляций в наших документах и справочниках в меню кнопки «Печать» появится пункт «Внешние файлы». Для тех объектов, для которых «не работает» механизм заполнения кнопки «Печать», прикреплять файлы можно из самого справочника «ХранилищеВнешнихФайлов», что, к сожалению, не очень удобно.
Для управления файлами сделана обработка «УправлениеВнешнимиФайлами» - удобный поиск с отбором по видам объектов, по критериям, сохранение файлов на диск и печать всех файлов, «привязанных» к выделенным объектам.
Про печать
Кстати, только недавно узнал, что в проводнике (XP,7, другие не смотрел) выделить и отправить на печать можно только 15 файлов, то есть если выделить 16 файлов, то в контекстном меню уже не будет кнопки «Печать». В своей системе печать не тестировал, но по идее должно работать, кто протестит отпишитесь :)
Установка.
Для вживления в базу заходим в конфигуратор и используем сравнение/объединение. Объекты конфигурации, которые нужны для объединения:
- Собственно подсистема «ПодсистемаХраненияВнешнихФайлов» (не обязательна).
- Константа «ОграничениеНаРазмерФайловМБ» - думаю имеет смысл ограничить аппетиты пользователей!
- Справочник «ХранилищеВнешнихФайлов» - собственно место для хранения файлов.
- Обработка «УправлениеВнешнимиФайлами» - обработка на основе построителя для работы с внешними файлами.
- Обработка «ВнешниеФайлы» (в конфигурации ее присутствие не обязательно, подключается в типовых к справочнику «ВнешниеОбработки» как внешняя печатная форма). Данную обработку можно сохранить как внешнюю, затем (уже после объединения) открыть ее уже в режиме Предприятия.
Оговорка (для любителей критики).
О плюсах и минусах хранения файлов в самой базе разглагольствовать не буду, это отдельная тема, поэтому всех противников данного подхода прошу не беспокоить - об этом в курсе, но иногда если очень хочется и если не злоупотреблять, то можно.
Похожие/смежные разработки и публикации.