Дмитрий Дудин | Директор | ООО "Аналитика Софт"

«Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017»

- формулирование требований к оборудованию, сравнительный анализ современных AMD EPYC и Intel Xeon, выбор платформы - раскладываем чтение и запись при проведении документа на 32 потока - устраняем бутылочное горлышко процессов кластера 1С - перепроектирование серверной нагрузки 1С под многопоточное выполнение - перепроектирование клиентской нагрузки 1С под многопоточное выполнение - простой выбор между Host и Guest размещением клиента 1С - сравнение RDP 1С на сервере и клиента 1С на производительной рабочей станции - особенности лицензирования MSSQL - открытая лицензия разработчика, лицензируемые и нелицензируемые нагрузки

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

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

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

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

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

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

Установка:

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

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

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

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

Готово!

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

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

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

См. также

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

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

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

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

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

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

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