gifts2017

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

Опубликовал Ян Цецко (sovital) в раздел Обработки - Менеджеры внешних отчетов

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

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

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

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

Установка:

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

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

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

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

Готово!

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

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

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

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение

Комментарии

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

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

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

Еще одно замечание, лучше сделать описание на установку правильных типов на реквизиты справочника plr_ПрисоединенныеФайлы. Например, когда объединил, там тип у реквизита Том стал строка. Хорошо, что есть БСП, там посмотрел по аналогии расставил все. Но не все могут догадаться залезть туда и посмотреть как там.
10. sergey-201 Пастушенко (sergey-201) 14.02.14 07:50
при открытии формы Подчиненные справочники 1С валится с текстом "Самостоятельное использование формы не предусмотрено" и кнопки: завершить работу или перезапустить. Думаю такой случай корректнее должен обрабатываться без закрытия программы.
Прикрепленные файлы:
11. Альберт (Alik_1c) 14.02.14 09:14
я бы реализовал примерно так
если брать на примере спр. договоры контрагента
1) добавил в свойства у контрагента путь к папке
2)добавил внешнюю обработку к спр.договоры, с помощью нее можно было выбрать файл и ложить ее в папку
3)и переписать чуть чуть кнопочку файлы, что бы хранила просто элемент в справочнике
12. Ян Цецко (sovital) 14.02.14 09:44
(9) sergey-201, эта ошибка появляется после того, как подсистему отдельно вынес в отдельный cf. Соответственно нет типов в конфигурации, на которые он ссылается. Да косяк... если надо могу скинуть наш cf ник. Там будет работать, корректно.
13. Ян Цецко (sovital) 14.02.14 09:48
(11) Alik_1c, ни в чем себе не отказывайте ;) Делайте так как вам хочется. Это восхитительное чувство, когда получается сделать то, что Вы задумали. Ставить новые задачи, выполнять их, достигать высот - это истинное счастье для человека. Но никогда не говорите, как бы вы сделали...
14. Ян Цецко (sovital) 14.02.14 09:49
(10) sergey-201, косяки к сожалению тоже унаследованы от УТ 11.1. Исправлю его после того, как проект перейдет на стадию поддержки, уровень не критичен.

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

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