![]() |
|
БП 3.0. Запустить фоновое задание находящееся во внешней обработке, не подключая обработку | ☑ | ||
---|---|---|---|---|
0
slnes
22.06.19
✎
17:45
|
БП 3.0. Запустить фоновое задание находящееся во внешней обработке, НЕ подключая обработку в справочник.
И не используя систему взаимодействия. Фоновое задание цикл, периодически выводить на форму информацию на кокой итерации находится выполнение. |
|||
1
Andreyyy
22.06.19
✎
23:43
|
(0) Попробуйте так:
&НаКлиенте ПодключитьОбработчикОжидания("ВАШ_ОБРАБОТЧИК_ЖИДАНИЯ_ПОЛУЧЕНИЯ_РЕЗУЛЬТАТА", 2); &НаСервере Модуль = Вычислить("ДлительныеОперации"); СтруктураПодключения = Новый Структура(ВАШИ_ПАРАМЕТРЫ_ДЛЯ_ПЕРЕДАЧИ_В_ФОНОВОЕ_ЗАДАНИЕ) ВыполняемыйМетод = "ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки"; СтруктураПараметровЗадания = ПараметрыФоновогоЗадания(СтруктураПодключения); ПараметрыЗадания = Новый Структура; ПараметрыЗадания.Вставить("ИмяМетода", "ВАШ_МЕТОД"); ПараметрыЗадания.Вставить("ПараметрыВыполнения", СтруктураПараметровЗадания); ПараметрыЗадания.Вставить("ЭтоВнешняяОбработка", Истина); ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка", Неопределено); ПараметрыЗадания.Вставить("ИмяОбработки", ПУТЬ_К_ФАЙЛУ_ОБРАБОТКИ); ПараметрыВыполнения = Модуль.ПараметрыВыполненияВФоне(УникальныйИдентификатор); ПараметрыВыполнения.НаименованиеФоновогоЗадания = "ПРОИЗВОЛЬНОЕ_НАЗВАНИЕ"; РезультатФоновогоЗадания = Модуль.ЗапуститьВыполнениеВФоне(УникальныйИдентификатор, ВыполняемыйМетод, ПараметрыЗадания, ПараметрыВыполнения); ИдентификаторФоновогоЗадания = РезультатФоновогоЗадания.ИдентификаторЗадания; ЗапущеноФоновоеЗадание = Истина; Дальше отлавливать результат в "ВАШ_ОБРАБОТЧИК_ЖИДАНИЯ_ПОЛУЧЕНИЯ_РЕЗУЛЬТАТА" Если ФоновоеЗаданиеВыполнено(ИдентификаторФоновогоЗадания) Тогда |
|||
2
Andreyyy
22.06.19
✎
23:46
|
&НаСервере
Функция ПараметрыФоновогоЗадания(СтруктураПодключения) АдресРезультатаФоновогоЗадания = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор); СтруктураПараметровЗадания = Новый Массив; СтруктураПараметровЗадания.Добавить(УникальныйИдентификатор); СтруктураПараметровЗадания.Добавить(АдресРезультатаФоновогоЗадания); Возврат(СтруктураПараметровЗадания); КонецФункции "ВАШ_ОБРАБОТЧИК_ЖИДАНИЯ_ПОЛУЧЕНИЯ_РЕЗУЛЬТАТА" Если ФоновоеЗаданиеВыполнено(ИдентификаторФоновогоЗадания) Тогда РезультатВыполнения = ПолучитьИзВременногоХранилища(АдресРезультатаФоновогоЗадания); |
|||
3
Andreyyy
22.06.19
✎
23:48
|
Здесь можно полный код посмотреть https://yadi.sk/d/FczhIZb4-TL0Iw (форма списка)
Только: ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка", СтруктураПараметров.ДополнительнаяОбработка); заменить на: ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка", Неопределено); ПараметрыЗадания.Вставить("ИмяОбработки", ПУТЬ_К_ФАЙЛУ_ОБРАБОТКИ); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |