Как выполнить длительную операцию в фоне с заполнением формы?
Есть форма, при нажатии на кнопку "Заполнить" заполняется некоторая таблица. И заполняется она очень долго. Задача: "Сделать заполнение этой формы в фоне". Не могу понять, как можно использовать форму при выполнении этой операции. Подскажите.
Но вот проблема, в описании процедуры ДлительныеОперации.ВыполнитьПроцедуру сказано: "Значения передаваемых параметров процедуры, а также возвращаемое значение должны быть сериализуемыми". Получается я не могу туда передать форму. И как тогда её заполнять? Неужели придётся переделывать, и в процедуре выполнять только получение данных, а заполнять таблицу на клиенте?
ДлительнаяОперация = ЗаполнитьМоюТаблицу();
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияПроцедуры();
ПараметрыВыполнения.Вставить("Форма", ЭтаФорма);
Но вот проблема, в описании процедуры ДлительныеОперации.ВыполнитьПроцедуру сказано: "Значения передаваемых параметров процедуры, а также возвращаемое значение должны быть сериализуемыми". Получается я не могу туда передать форму. И как тогда её заполнять? Неужели придётся переделывать, и в процедуре выполнять только получение данных, а заполнять таблицу на клиенте?
По теме из базы знаний
- Асинхронная концепция программирования в «1С:Предприятие 8» или выполнение программного кода «в фоне»
- Управляемая консоль запросов, отчетов 3.9.0 (расширение, внешняя обработка)
- Формирование внешнего отчета в фоне
- Обзор полезных методов БСП 3.1.4
- Эффективное управление фоновыми заданиями и коммуникация сеансов сервера с Фоном с помощью Структуры обмена (ноу-хау) + Бонус: Альтернативный вариант через Хранилище настроек
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Да.
Результат фонового задания можете обрабатывать на сервере.
Еще можете попробовать оптимизировать заполнение этой таблицы.
Для этого как минимум нужно выполнить замер производительности и найти, что занимает время.
Неужели придётся переделывать, и в процедуре выполнять только получение данных
Да.
а заполнять таблицу на клиенте?
Результат фонового задания можете обрабатывать на сервере.
Еще можете попробовать оптимизировать заполнение этой таблицы.
Для этого как минимум нужно выполнить замер производительности и найти, что занимает время.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот