Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Дневник провинциального программиста Когда закончится обработка


Когда закончится обработка

Знакома ли вам эта неловкая ситуация, когда устанавливаешь обновление конфигурации, и вдруг начинается реструктуризация таблиц. Таблицы оказываются большими, обновление затягивается, и пользователи начинают приставать с вопросами: "Ну, когда же можно будет работать?" Вы отвечаете: "Не знаю...". А они опять: "Ну хотя бы примерно?" Но разработчики платформы "1С:Предприятие", видимо, посчитали, что информировать пользователей о ходе выполнения процесса не обязательно и, соответственно, этого не сделали. И даже более того - разработчики не предусмотрели возможности прервать процесс. Ну, да ладно, оставим это на их совести. Здесь мы всё равно ничем помочь не сможем. Давайте будем делать то, что в наших силах.

В статье "Как прервать выполнение обработки в 1С 8" я рассказывал, как предоставить пользователю возможность прерывать затянувшиеся по времени процессы. Но это лишь полдела. Ведь неизбежно возникает вопрос: как пользователь должен догадаться, что процесс затянется надолго? По факту того, что он уже долго выполняется? А если остаётся совсем немного, а пользователь прервёт процесс? Решение: пользователя нужно информировать о ходе выполнения программы.

Сейчас я вам продемонстрирую три способа информирования пользователя о ходе выполнения цикла обработки:

  1. Показываем факт выполнения в абсолютном выражении.
  2. Показываем факт выполнения в процентах.
  3. Показываем расчётное время завершения.
Для упрощения все три способа я покажу в одном примере. На практике так делать не обязательно. Достаточно использовать один из трёх способов. В реальных задачах, как правило, приходится иметь дело с выборками данных, обрабатывая их в цикле. Для примера же, чтобы он был рабочим, я возьму простой цикл Для ... Цикл.

Создайте обработку. В процедуре обработки события нажатия на кнопку "Выполнить" напишите такой код... Продолжение на сайте...

Дневник провинциального программиста
Copyright (C) 2009. Все права защищены.


В избранное