Подсистема хранения внешних файлов

Обработки - Менеджеры внешних отчетов

Мы долго шли к тому, чтобы на производстве технологи заводили номенклатуру, а мастера знали как ее собирать, имея под рукой чертеж, чтобы оперативно видеть документы по контрагенту или сканы документов. Но стандартный функционал УПП принуждал хранить данные в базе. Есть способ хранения внешних файлов без изменения стандартного функционала.

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

В качестве базы для подсистемы мы взяли функционал Присоединенных файлов из УТ 11.1 и адаптировали под клинт-серверный вариант работы УПП. Старались делать максимально универсально поэтому в объектах типы ссылок не привязывали к стандартным объектам.

Для вывода кнопки "Файлы" использовали внешнюю печатную форму (прилагается). Отсюда и ограничение: кнопка появится только у тех объектов где можно присоединить внешнюю печатную форму.

Установка:

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

Загрузить все объекты с префиксом plr_.
ВАЖНО! Нам нужны только объекты поэтому не забудьте снять галку с корня Конфигурации. 

Настроить относительный путь для хранилища (стандартный функционал УПП - Тома хранения файлов). Убедитесь что пользователь под которым работает служба 1С имеет право писать информацию в этот каталог.  Если у вас домен то обратитесь к системному администратору.

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

Готово!

Проверяли функционал на УПП 1.3.45.1.

Скачать файлы

Наименование Файл Версия Размер
Конфигурация с подсистемой "Внешние файлы"
.cf 122,86Kb
13.02.14
94
.cf 122,86Kb 94 Скачать
Файл внешней печатной формы, для открытия списка внешних файлов
.epf 4,25Kb
27.12.13
78
.epf 4,25Kb 78 Скачать

См. также

Комментарии
1. Максим Пономарев (Ponommax) 27.12.13 18:53 Сейчас в теме
Почему просто не использовать библиотеку стандартных подсистем. К ней и инструкция прилагается + функционал развиваться будет?
EdmundoAlvares; +1 Ответить
2. Ян Цецко (sovital) 20 27.12.13 18:55 Сейчас в теме
Потому что подсистемы в БСП пересекается с функционалом УПП (объекты называются одинаково). Для примера ради, попробуйте прикрутить функционал обмена данными из БСП к УПП. Вам придется всю УПП перепахать, вдоль и поперек, к примеру при внедрении 1С:MES.
3. Максим (maxkisa) 14.01.14 15:03 Сейчас в теме
(2) sovital,

Зачем же так категорично? :)
УПП пересекается со старыми версиями БСП... а для новых предназначено ERP.2.0
4. Ян Цецко (sovital) 20 14.01.14 16:24 Сейчас в теме
(3) maxkisa, честно сказать не понял я что такого категоричного сказал.
Смотрите, основная задача подсистемы было внедрение функционала без изменения базового (для облегчения обновления). Предложенный вариант (и вами поддерживаемый) подразумевает под собой постоянную головную боль при обновлениях. Мое мнение, что подсистема должна быть полностью изолированной, со своими точками входа и выхода. Ее функционал ни коим образом не должен мешать функционалу других подсистем. К сожалению, подобной модульности в 1С сложно добиться, но в некоторых случаях вполне решаемая задача, было бы желание.
5. Sergey Poh (pss1985) 3 12.02.14 20:26 Сейчас в теме
не совсем понял из описания, подскажите, у вас доработки только в виде внешней обработки? или в конфигурации тоже что-то изменено?
6. Ян Цецко (sovital) 20 12.02.14 20:30 Сейчас в теме
(5) pss1985, в самой конфигурации есть новые объекты, подписки, регистры сведений, формы и т.д. Обработка - это только для того, чтобы с этим работать не меняя конфигурацию стандартных форм.
7. sergey-201 Пастушенко (sergey-201) 2 12.02.14 20:40 Сейчас в теме
1) в упп это реализовано я так понял для электронного документооборота, и там есть такие полезности как : кто последний менял, кто сейчас редактирует. в вашем решении это также работает?
2) а какие новые объекты появились, раз в УПП уже были объекты, такие как тома хранения файлов, справочник прикреленные файлы и т.д. Или у вас собственные справочники, модули, регистры, не пересекающиеся с типовым функционалом?
Прикрепленные файлы:
8. Ян Цецко (sovital) 20 13.02.14 11:39 Сейчас в теме
(7) sergey-201, все верно, в УПП это все заточено только для хранения во внешнем хранилище информации и файлов по электронному документообороту.
Функционал, который показывает блокировку элемента, кто последний редактировал также присутствует, даже выделение цветом заблокированного для редактирования файла имеется.
Объекты добавляли из Управления Торговли 11, только префиксы им давали свои.
Список добавленных объектов выложил в скриншоты к публикации.
9. sergey-201 Пастушенко (sergey-201) 2 14.02.14 07:19 Сейчас в теме
скачал, отлаживаю. наткнулся на
{ОбщаяФорма.plr_ПрисоединенныеФайлы.Форма(267)}: Метод объекта не обнаружен (ОбновитьПрисоединенныйФайл)
Если ПрисоединенныеФайлыКлиент.ОбновитьПрисоединенныйФайл(

У меня в типовой УПП нет такой процедуры. Зато она есть в вашем модуле plr_ПрисоединенныеФайлыКлиент. Разъясните пожалуйста.

Еще одно замечание, лучше сделать описание на установку правильных типов на реквизиты справочника plr_ПрисоединенныеФайлы. Например, когда объединил, там тип у реквизита Том стал строка. Хорошо, что есть БСП, там посмотрел по аналогии расставил все. Но не все могут догадаться залезть туда и посмотреть как там.
12. Ян Цецко (sovital) 20 14.02.14 09:44 Сейчас в теме
(9) sergey-201, эта ошибка появляется после того, как подсистему отдельно вынес в отдельный cf. Соответственно нет типов в конфигурации, на которые он ссылается. Да косяк... если надо могу скинуть наш cf ник. Там будет работать, корректно.
15. sergey-201 Пастушенко (sergey-201) 2 16.02.14 13:33 Сейчас в теме
(12) так я не понял, что делать с ошибкой, которая появляется при записи элемента справочника ПодчиненныеФайлы. Мне надо вместо "Если ПрисоединенныеФайлыКлиент.ОбновитьПрисоединенныйФайл" заменить на "Если plr_ПрисоединенныеФайлыКлиент.ОбновитьПрисоединенныйФайл" ?
21. Ян Цецко (sovital) 20 18.02.14 11:53 Сейчас в теме
(15) sergey-201, Я сейчас смотрел, не могу воспроизвести ошибку. Не подскажешь как на нее выходил? По логике, подменой на модуль plr_ проблема должна уйти. Вопрос только из какого модуля ошибка сыпется. Если из типового - то нужно подумать как лучше сделать. Подскажи, как ошибку воспроизвести. Сергей, ты как бета тестер у меня ) скоро платить надо будет )
23. sergey-201 Пастушенко (sergey-201) 2 18.02.14 13:39 Сейчас в теме
(21) У меня ошибка возникает когда: после прикрепления файла открывается форма "ПрисоединенныйФайл". я жму кнопку Записать и Закрыть: Метод объекта не обнаружен (ПолучитьНедопустимыеСимволыВИмениФайла). я нашел через остановку по ошибке, что валица здесь: "Если ПрисоединенныеФайлыКлиент.ОбновитьПрисоединенныйФайл"
10. sergey-201 Пастушенко (sergey-201) 2 14.02.14 07:50 Сейчас в теме
при открытии формы Подчиненные справочники 1С валится с текстом "Самостоятельное использование формы не предусмотрено" и кнопки: завершить работу или перезапустить. Думаю такой случай корректнее должен обрабатываться без закрытия программы.
Прикрепленные файлы:
14. Ян Цецко (sovital) 20 14.02.14 09:49 Сейчас в теме
(10) sergey-201, косяки к сожалению тоже унаследованы от УТ 11.1. Исправлю его после того, как проект перейдет на стадию поддержки, уровень не критичен.

К сожалению блок планирования не получиться сделать в виде отдельной подсистемы, там вообще космос получается, разузлование плана производства по участкам из 150-200 штук номенклатуры с количеством переделов 15-17 происходит меньше чем за минуту.

Эта в качестве затравки на следующие статьи.
17. sergey-201 Пастушенко (sergey-201) 2 16.02.14 13:44 Сейчас в теме
(14) Ошибка возникала в режиме обычного приложения. это я решил так: убрал в справочнике Основную форму элемента, Основную форму списка и Основную форму выбора.
18. Ян Цецко (sovital) 20 17.02.14 09:02 Сейчас в теме
(17) sergey-201, а это хорошая идея!
19. sergey-201 Пастушенко (sergey-201) 2 17.02.14 21:22 Сейчас в теме
(18) я понял, на (15) не хотите отвечать. буду сам разбираться...
20. Ян Цецко (sovital) 20 18.02.14 11:51 Сейчас в теме
(19) sergey-201, сорри, этот коммент как-то промелькнул. Давай я тебе свой cf вышлю... скинь мыло свое. У меня там вроде нет ошибок.
11. Альберт Шакиров (Alik_1c) 14.02.14 09:14 Сейчас в теме
я бы реализовал примерно так
если брать на примере спр. договоры контрагента
1) добавил в свойства у контрагента путь к папке
2)добавил внешнюю обработку к спр.договоры, с помощью нее можно было выбрать файл и ложить ее в папку
3)и переписать чуть чуть кнопочку файлы, что бы хранила просто элемент в справочнике
13. Ян Цецко (sovital) 20 14.02.14 09:48 Сейчас в теме
(11) Alik_1c, ни в чем себе не отказывайте ;) Делайте так как вам хочется. Это восхитительное чувство, когда получается сделать то, что Вы задумали. Ставить новые задачи, выполнять их, достигать высот - это истинное счастье для человека. Но никогда не говорите, как бы вы сделали...
graphbuh; +1 Ответить
16. sergey-201 Пастушенко (sergey-201) 2 16.02.14 13:42 Сейчас в теме
(11) по вашему методу сложнее потом обновлять программу:
1) в свойствах нет Бизнес-процессов и Задач. Мне как раз нужно хранить файлы по ним.
2) если в базе есть другие используемые свойства, то придется разграничивать права между пользователями на разные виды свойств. тут думаю, придется вмешаться в типовой функционал. 3 ваш пункт, тоже затрагивает типовой функционал. чем понравилось это решение, так это именно новыми объектами, без изменения имеющихся. У меня старая УПП, в ней нет даже справочника Тома хранения файлов и всего этого функционала с присоединенными файлами, так что мне пришлось к этой публикации добавлять типовые модули и объекты из последней УПП. Попытался из БСП взять, но там потянулись модули и процедуры, которые не нужны.
22. Ян Цецко (sovital) 20 18.02.14 12:02 Сейчас в теме
Еще в одном месте ошибку выявил. Буду думать как исправить. Выявляется при попытке заменить существующий файл файлом с диска.
Прикрепленные файлы:
24. sergey-201 Пастушенко (sergey-201) 2 18.02.14 13:45 Сейчас в теме
(22) имеешь ввиду через кнопку "Обновить из файла на диске"? я попробовал через нее, ошибки не возникло, но файл не обновился в каталоге.
25. Ян Цецко (sovital) 20 18.02.14 21:30 Сейчас в теме
(24) sergey-201, косяки выловил, думаю как в отдельную подсистему выгрузить без потери типов у реквизитов справочника Присоединенные файлы. В навике это конечно проще, чем в 1С. Там объекты можно выгружать как есть.
26. sergey-201 Пастушенко (sergey-201) 2 19.02.14 10:10 Сейчас в теме
(25) у меня все типы этого справочника расставлены в соответствии с библиотекой стандартных подсистем. тут никак не сделаешь, будут теряться, просто в инструкции надо добавить, что прописать в реквизитах
27. Ян Цецко (sovital) 20 19.02.14 10:43 Сейчас в теме
(26) sergey-201, если есть возможность подожди немного, я через поставку сейчас пытаюсь сделать.
28. Дмитрий Васиничкин (as7815) 14.04.15 08:41 Сейчас в теме
ВНИМАНИЕ!!!! Для тех кто решил скачать файлы.Реквизит "Том" справочника "plr_ПрисоединенныеФайлы" не правильно указан тип файла измените на СправочникСсылка.ТомаХраненияФайлов. А так обработка рабочая и удобная
29. Ян Цецко (sovital) 20 15.04.15 13:50 Сейчас в теме
30. tireal 69 31.01.17 11:23 Сейчас в теме
так все же кто скажет почему при попытке открытии справочника "Прикрепленные файлы" метод модуля объекта вызывает закрытие базы ВызватьИсключение(НСтр("ru = 'Самостоятельное использование формы не предусмотрено.'")); ?
по мне он должен выдавать сообщение пользователю и все, т.е. это исключение должно быть восстановимое...
31. tireal 69 31.01.17 11:49 Сейчас в теме
сам и отвечу... При работе в режиме 1С:Предприятие могут возникать различные исключительные ситуации, связанные в функционированием прикладного решения. В зависимости от вида исключительной ситуации, работа приложения может быть продолжена или нет.

Наличие синтаксической ошибки, например, в форме справочника, означает для системы невозможность создания одного из объектов прикладного решения (формы справочника). В этом случае стратегия продолжения работы отсутствует, и прикладное решение завершает работу.
Оставьте свое сообщение