Фоновые вычисления при событии управляемой формы внешней обработки #742333


#0 by PiotrLoginov
Доброго всем.  А что, чисто в рамках внешней обработки все громкие вирши с инфостарта и документации с ИТС про многопоточность - пустой звук?     Сообщить("ура, цикл еще выполняется, а форма уже не в подвисшем состоянии!"); КонецПроцедуры
#1 by GROOVY
И что ты сделал для того, чтобы процедура в фоне выполнялась?
#2 by PiotrLoginov
А что я могу сделать?  Такой код же в фоновые задания не дают помещать?
#3 by GROOVY
А причем тут фоновые вычисления тогда?
#4 by PiotrLoginov
Гм.  Есть необходимость в рамках внешней обработки организовать некие фоновые вычисления. Экспортные процедуры и функции из модуля объекта внешней обработки нельзя поместить в фоновые задания. Никаких экспортных процедур, выполняющих произвольный код, например собственную произвольную процедуру из внешней обработки, в модули БСП поместить "не догадались".  Куды бечь? Замуровали демоны  (с).
#5 by PiotrLoginov
А я-то. Ждал случая "пощупать" многопоточность, представлял, как форма незаметно для пользователя будет делать... что угодно будет делать (на сервере). Ан нет. Что есть в модулях - делай. что тебе нужно - не моги думать.
#6 by banco
внимательно смотри в БСП. демо базу установи, внешние обработки там смотри, еще документацию можно читать, все там есть
#7 by ДенисЧ
Документацию читать??? Да за такое предложение и по сусалам можно получить.... ))))
#8 by PiotrLoginov
А что, есть способ выполнить вычисление в фоне без использования фоновых заданий?  Или запустить в фоновом задании экспортную процедуру из внешней обработки?  Или Вы точно знаете, что в БСП есть экспортная процедура, позволяющая выполнять произвольный код/процедуру? (Процедура, которую можно было бы запустить в фоновом задании для выполнения желаемых вычислений). Уточните, что из моих предположений верно; я просто не понимаю, что имеется в виду. Вы же не просто так треплетесь, а уверены в том, что запуск фоновой обработки данных - возможен в тех условиях, которые я описал?
#9 by PiotrLoginov
внешние обработки из демобазы посмотрел. Их там три.  Две вообще не имеют форм.  Модули форм третьей обработки (ЗагрузкаПрайсЛиста) исследовал.  Там ни намека на фоновую обработку. Это такая шутка что ли была?
#10 by PiotrLoginov
Какая конфигурация имелась ввиду? Сейчас самой БСП нет под рукой.. хотя не помню, чтобы там были вложены какие-либо внешние (дополнительные) отчеты и обработки...
#11 by PiotrLoginov
Ок.  Тогда спрошу по-другому: если кто-то реализовывал фоновую обработку данных в модуле управляемой формы без правки Общих модулей, отзовитесь, пожалуйста. Чтобы можно было выполнить не только имеющийся в типовой конфигурации код, но и любой свой. Прошу хотя бы какую-нибудь информацию. Хоть крупицу. На данный момент по существу имею только предложение поискать во внешних обработках из типовых (не помогло) и поискать в процедурах БСП (там максимум, что есть - ОбменДаннымиВызовСервера.ВыполнитьОбработчикВПривилегированномРежиме).  Насчет документации - тоже: если кто-то встречал в книге какой-нибудь или на сайте ИТС описание фонового выполнения произвольного кода без правки общих модулей, то милости прошу, название книги в студию.
#12 by su_mai
Ты хочешь увидеть аналог await? Асинхронного реализована только для некоторых обработчиков. Фоновые задания нормально работают только в клиент сервере, если файловая база, то замучаешься с бубнами. ..
#13 by PiotrLoginov
да не в первой бубны... Еще немного информации: была мысль выполнять в фоновом задании код внешней обработки, ранее сохраненной в Дополнительных. Накопал сейчас, что раньше была ДополнительныеОтчетыИОбработки.ВыполнитьОбработкуНепосредственно  - можно было сразу выполнить экспортную процедуру некой обработки. Сейчас это дело упразднили, но есть другие интересные процедуры в модулях для дополнительных обработок. Все это, конечно, немного через "одно место", и выполняться если и будет, то не так оптимально, как хотелось бы. Но деваться некуда, раз не оставили нам разрабы человеческого способа что-то делать фоном из модуля управляемой формы.
#14 by banco
посмотри ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьКомандуВФоне
#15 by PiotrLoginov
Да, спасибо. Все-таки какие-то пути решения нам оставлены в БСП. Хотя конкретно этот метод мне не подойдет, т.к. там в обязательном порядке открывается блокирующая интерфейс форма длительной операции, а мне это не подходит. Уже не думал, что что-то получится. Да и непонятно, насколько оправдано в плане производительности выполнение фоновых вычислений при событиях управляемой формы через использование кода создаваемых объектов-обработок из элементов справочника ДополнительныеОтчетыИОбработки.
#16 by Torquader
А что, сделать свой общий модуль, то можно выполнять задания из него. Просто, всё остальное - это "разработка стандартизованных костылей".
#17 by PiotrLoginov
"сделать свой общий модуль" - нет.  конфигурация типовая. снимать с поддержки не стану. С другой стороны, видимо, иначе никак не добраться до кода из модуля объекта. Модуля менеджера-то у обработок нет.
#18 by Torquader
Просто, добавление своего модуля не сильно усложнит обновление конфигурации, так как, в общем случае, нужно будет только этот модуль в неё вставить. Потом, никто не обещает, что принцип работы дополнительных обработок не изменят в будущих версиях.
#19 by banco
смотри еще  ДополнительныеОтчетыИОбработки.ВыполнитьКоманду
#20 by PiotrLoginov
да, уже, спс   думаю, вопрос если не решен, то как минимум закрыт
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С