Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 16:50

Прервать Цикл

Автор Rasty, 25 мар 2015, 17:20

0 Пользователей и 1 гость просматривают эту тему.

Rasty

УТ 11.1 есть некий цикл, который может выполняться очень долго. Можно ли прервать выполнения цикла по нажатию кнопке на форме, если да, то где можно почитать?
ЗЫ ОбработкаПрерыванияПользователя(), хороший вариант, но интересно, что еще можно сделать=)
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

LexaK

да-а-а, вот они особенности серверных обработок,
если у вас цикл работает на сервере, то вы ни как не сможете его тормознуть, процедура
ОбработкаПрерыванияПользователя(), работает только на клиенте, см.СП.

как выход, разбивайте вашу обработку больших массив, таблиц на части, и частями в цикле на клиенте отправляйте на обработку на сервер, соответственно в цикле на клиенте поместите
ОбработкаПрерыванияПользователя().

либо еще каким-то образом, писать какое ни будь значение в переменную доступную на сервере,
и в большом цикле анализировать эту переменную, с таких вариантом не экспериментировал.

Может еще кто поделится опытом как прервать выполнение цикла на сервере.
если помогло нажмите: Спасибо!

Rasty

что делает цикл

Для Каждого стр из Объект.ТЧ Цикл
Сообщить(Стр.Штрихкод);
Процент =Стр.НомерСтроки*100/Объект.ТЧ.Количество();
Состояние("Запсиано",Процент);
ОбработкаПрерыванияПользователя();
RoyalRay.Write = Стр.Штрихкод;
КонецЦикла

Добавлено: 25 мар 2015, 17:42


Я смотрел как работает Удаление помеченных объектов, там собственно все выполняется в фоновом режиме. Может кто ткнуть несуразного рожей в то место, где можно подробней почитать?
Добавлено: 25 мар 2015, 17:59


Нашел такую штуку
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск