1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Как прервать выполнение процедуры на диалоге

Тема в разделе "Базы данных и администрирование", создана пользователем Дайнеко, 23 дек 2010.

  1. Дайнеко

    Дайнеко Well-Known Member

    Репутация:
    0
    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Человек нажал кнопочку и запустился процесс. В моем случае это отправка почты. Пока идет дело программа открыла форму и на ней показывает ход выполнения:
    Код:
    ФормаCеанса = Справочники.Почта.ПолучитьФорму("Монитор");
    ФормаCеанса.Открыть();
    ФормаCеанса.ЭлементыФормы.Операция.Значение = "Отправка";
    Вот тут цикл
    // операции
    КонецЦикла
    Но на форме "Монитор" я нарисовал кнопку "Прервать". И хочу во внутри цикла сделать что-то вроде:
    Код:
    Если НажалКнопочку Тогда
    Прервать;
    КонецЕсли;
    Но как организовать взаимодействие. Ведь пока идет процесс форма Монитор не реагирует на клики. Есть механизм "Фоновые задания". Чую, что это мне нужно. Но нигде не встречал примера на использование.
    Поделитесь, люди добрые. Простите, что обращаюсь к вам.
     
  2. TimeDontWait

    TimeDontWait Well-Known Member

    Репутация:
    0
    Регистрация:
    4 янв 2010
    Сообщения:
    367
    Симпатии:
    0
  3. Gluk8888

    Gluk8888 Гость

    Репутация:
    0
    А к снижению производительности это не повлечет? ведь отлавливая постоянно состояние будут лишние обращения к серверу? может лучше само получение почты сделать регламентным заданием которое будет с определенным интервалом обновляться? Имхо: ловить отработку нажатий кнопок в данном случае приведет к ненужным тормозам.
    ЗЫ: http://infostart.ru/public/71407/ пример прогресс бара + исследования на тему производительности
    ЗЫ:ЗЫ: http://infostart.ru/public/65665/ - индикация + прервать процесс по CTRL+BREAK
     
  4. tanat

    tanat Well-Known Member

    Репутация:
    0
    Регистрация:
    2 мар 2007
    Сообщения:
    265
    Симпатии:
    0
    Мне кажется, что 1С какбе не очень способна выполнить такую связку. Может как-нибудь так:
    откроем модально новую форму, в форме будем выполнять цикл до тех пор, пока пользователь не нажмет Ctrl+break, при нажатии - передаем в основную результат выполнения цикла...
     
  5. Дайнеко

    Дайнеко Well-Known Member

    Репутация:
    0
    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Спасибо за ссылки, читаю с упоением.
    Циклить... Гм... Ну это ладно. Но дело в том, что основной форме, которая создала индикатор, нужно сделать свою работу.

    Почитаю-ка я про фоновые задания. В жизни пригодится.
     
  6. evgenyatam

    evgenyatam Well-Known Member

    Репутация:
    0
    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    вообще-то любую обработку можно прервать клавишей "Esc". только в 8.1 - нужно выполнить в коде одну встроенную процедуру. а какую - смотрите в справке.
     
Загрузка...
Похожие Темы - Как прервать выполнение
  1. mustwanted
    Ответов:
    4
    Просмотров:
    47
  2. PingVinich
    Ответов:
    0
    Просмотров:
    46
  3. Shandrik
    Ответов:
    18
    Просмотров:
    150
  4. SlipX
    Ответов:
    18
    Просмотров:
    217
  5. IioS
    Ответов:
    7
    Просмотров:
    669

Поделиться этой страницей