Хранилище внешних файлов – простенькая подсистема хранения внешних файлов для любых объектов базы.




Хранилище внешних файлов – простенькая подсистема хранения внешних файлов для любых объектов базы. Это могут быть сканы документов, изображения номенклатуры и любые другие файлы, имеющие отношения к объектам базы данных.

Описание.

   Наличие справочника «ХранилищеДополнительнойИнформации» в типовых конфигурациях фирмы 1С не всегда покрывает потребности пользователей. «ДоговорыКонтрагентов», «Контрагенты», «Организации», «ДокументыУдостоверяющиеЛичность» и «ФизическиеЛица» — вот список справочников, для элементов которых в базе можно хранить файлы и изображения (пример для БП КОРП).  

   Чтобы не ломать типовой справочник был создан свой «ХранилищеВнешнихФайлов». Реквизит «Объект» данного справочника имеет тип «ЛюбаяСсылка», что конечно тоже не очень хорошо, поэтому данный тип можно (желательно, но не обязательно) ограничить, выбрав, например, только «ПоступленияТоваровИУслуг» и «СчетФактураВыданный», хотя в учебных целях можно оставить все как есть, т.е. оставить возможность хранить внешние файлы для любых документов и справочников.

   После установки (об установке ниже) в конфигурациях, в которых есть справочник «Внешние обработки», нужно запустить обработку «ВнешниеФайлы», она откроет форму создания новой внешней печатной формы и попытается прописать себя во все объекты, входящие в  ссылочный тип реквизита «Объект», по умолчанию это все справочники и все документы. Конечно этот список должен быть отредактирован, ибо для некоторых справочников и документов возможность «прикреплять файлы» просто не нужна. После этих нехитрых манипуляций в наших документах и справочниках в меню кнопки «Печать» появится пункт «Внешние файлы». Для тех объектов, для которых «не работает» механизм заполнения кнопки «Печать», прикреплять файлы можно из самого справочника «ХранилищеВнешнихФайлов», что, к сожалению, не очень удобно.

   Для управления файлами сделана обработка «УправлениеВнешнимиФайлами» — удобный поиск с отбором по видам объектов, по критериям, сохранение файлов на диск и печать всех файлов, «привязанных» к выделенным объектам.

Про печать

   Кстати, только недавно узнал, что в проводнике (XP,7, другие не смотрел) выделить и отправить на печать можно только 15 файлов, то есть если выделить 16 файлов, то в контекстном меню уже не будет кнопки «Печать». В своей системе печать не тестировал, но по идее должно работать, кто протестит отпишитесь 🙂

Установка.

Для вживления в базу заходим в конфигуратор и используем сравнение/объединение. Объекты конфигурации, которые нужны для объединения:

  1. Собственно подсистема «ПодсистемаХраненияВнешнихФайлов» (не обязательна).
  2. Константа «ОграничениеНаРазмерФайловМБ» — думаю имеет смысл ограничить аппетиты пользователей!
  3. Справочник «ХранилищеВнешнихФайлов» — собственно место для хранения файлов.
  4. Обработка «УправлениеВнешнимиФайлами» — обработка на основе построителя для работы с внешними файлами.
  5. Обработка «ВнешниеФайлы» (в конфигурации ее присутствие не обязательно, подключается в типовых к справочнику «ВнешниеОбработки» как внешняя печатная форма). Данную обработку можно сохранить как внешнюю, затем (уже после объединения) открыть ее уже в режиме Предприятия.

Оговорка (для любителей критики).

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

 

Похожие/смежные разработки и публикации.

//infostart.ru/public/72613/

//infostart.ru/public/72536/

//infostart.ru/public/74821/

//infostart.ru/public/67205/

33 Comments

  1. cool.vlad4
    О плюсах и минусах хранения файлов в самой базе разглагольствовать не буду, это отдельная тема, поэтому всех противников данного подхода прошу не беспокоить — об этом в курсе, но иногда если очень хочется и если не злоупотреблять, то можно.

    да не обычно же критикуют за качество реализации, а здесь вроде нормуль. Сейчас заценим. …сейчас как раз сам пытаюсь в очередной раз решить проблему хранения картинок номенклатуры и сканов от документов(пару раз выбор падал на файловую систему), — хранилище не устраивает, производительность и размер базы. Вот читаю про клевую фичу sql server 2008 — filestream. Эх…

    Reply
  2. sound

    (1) Знал, что тему хранения в базе обрулить не удастся. К сожаления, спецом в области хранения данных не являюсь, поэтому сразу и оговорился, что это отдельная тема. Хотя …раз разговор все-таки зашел по мне дак лучше когда база меньше весит — обслуживать легче.

    Reply
  3. Armando

    Чем не подходит http://v8.1c.ru/ssl/intsub/#attachments ?

    Reply
  4. sound

    (3) Если я даже на это когда-нибудь и натыкался, то наверное забыл. Хотя думаю, что мой вариант тоже имеет право на жизнь.

    Reply
  5. itar59

    ИМХО, прекрасная работа, наш главбух просто счастлива.

    Особенно приятно, что все доступно сразу (всего три клика)

    Reply
  6. sound

    (5) Ну собственно к этому и стремился, чтобы можно было без особых заморочек в 3 клика 🙂

    Reply
  7. itar59
    sound пишет:

    (5) Ну собственно к этому и стремился, чтобы можно было без особых заморочек в 3 клика 🙂

    Здесь полно работ, в которых разбираются только спецы. А здесь — главбуху показал и все… Простенько и со вкусом.

    Дело в том, что у нас много представителей в регионах, которые присылают отчеты и документы эл. почтой. А разгребать и соединять в один массив — работа та еще… А так — все решено…

    если бы мог — 5 плюсов!!!!

    Reply
  8. sound

    (7) Рад, что Вам понравилось.

    Reply
  9. itar59

    Я бы подобные работы специально выносил бы в раздел: «Разработки, понятные бухгалтеру»

    при всей нашей гордости — работаем все-таки для них…

    Reply
  10. sound

    (9) Ага, и в каждой публикации на сайте делать кнопочку-ссылочку «я бухгалтер и тут мне все понятно» 🙂

    Reply
  11. itar59

    Именно!!! Когда в разговоре с бух. употребляются слова «запрос», СКД, и пр. — физически ощущаю ненависть (шутка)… Но все навороченные разработки используются так — раздается вопль «Товарищ!!!! иди сюда переделай твой хренов запрос, мне нужно другое, бегом, времени нет…» и так каждый день…

    Reply
  12. itar59
    sound пишет:

    (9) Ага, и в каждой публикации на сайте делать кнопочку-ссылочку «я бухгалтер и тут мне все понятно» 🙂

    давайте обратимся с модераторам, ИМХО будет очень полезно.

    Reply
  13. sound

    (12) Сомневаюсь что это взлетит, хотя можете попробовать

    Reply
  14. den54

    Спасибо вам огромное!

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

    Reply
  15. sound

    (14) Пишите в личку какие конкретно дополнительные функции Вы хотите, подумаем.

    Reply
  16. маша156

    здравствуйте, после установки этой обработки у нас случились проблемы с работой программы — ошибка мета данных.

    Reply
  17. Adoms

    Здравствуйте. Подскажите пожалуйста, возможна ли доработать (за оплату) хранение сканов во внешней базе с привязкой к документам этой базы? Подобно этой разработке http://infostart.ru/public/151967/

    Reply
  18. alekseies

    Хотя подсистема простенькая, она позволяет не плодить множество дополнительных документов в конфигурации начинающими программистами, например видел у некоторых документы «Должностные инструкции», «Положения об отделе» и т.д. , а пользоваться одним Хранилище внешних файлов!

    Reply
  19. sound

    (16) маша156, так не понять что у Вас случилось, вряд ли ошибка связана с установкой этой «обработки».

    Reply
  20. sound

    (17) Adoms, проще купить ту что по ссылке.

    Reply
  21. sound

    (18) alekseies, для кого-то данное решение может и подойти, а кому-то это покажется лишним забиванием базы, у всех свои задачи. Но хотя бы по количеству скачиваний и плюсов могу сделать вывод, что решение имеет право на жизнь.

    Reply
  22. sumixam

    данная конфигурация на управляемом приложении или нет, конфигурация выделина в подсистему,

    Reply
  23. sumixam

    на управляемом скачиваю и тестирую, думаю пригодится

    Reply
  24. sound

    (22) sumixam, не мог ответить, извиняюсь. Однако подсистема написана под обычное приложение.

    Reply
  25. EdmundoAlvares

    (19) Это имелась в виду, наверное, такая ошибка — http://www.image123.net/mgamh4ehrotepic.html

    Reply
  26. z8491

    (24)При попытке открыть обработку Управление внешними файлами, получаю ошибку ошибка мета данных, как показал

    EdmundoAlvares, да и не нашел как настроить константу размера файла

    Reply
  27. AlexO

    (0) у всех наоборот, проблема отвязаться от 1С и хранить все внешние файлы (изображения, сканы, архивы и т.д.) во внешней базе, а у вас — все вносится в основную рабочую.

    Reply
  28. sound

    (27) AlexO, за всех не нужно говорить, бывают исключения, поверьте. К тому же, в статье есть «отказ от ответственности» — пункт Оговорка (для любителей критики) 🙂

    А насчет хранения о внешней базе, согласен, логичнее, и на этом сайте есть куча примеров как это сделать.

    Reply
  29. Voyr

    на каких релизах тестировалось?

    Reply
  30. sound

    (29) Voyr, имеется в виду релиз платформы? Сейчас уж не вспомнить, давно это было, видимо какой-то релиз 8.2, актуальный на тот момент.

    Reply
  31. XelOla

    а можно ли вашу обработку переделать на хранение во внешнем каталоге?

    Reply
  32. sound

    (31) XelOla, это вы разрешения спрашиваете или мне предлагаете переделать что-то? 🙂

    Переделать-то можно все что угодно, вопрос времени и денег 🙂

    Reply
  33. sam_57

    .

    Reply

Leave a Comment

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