Имя: Пароль:
1C
1С v8
Запуск индикатора при открытии формы
0 Elvisnya
 
07.05.12
20:47
Всем добрый день!

1С 8.2. Обычные формы. При открытии формы выполняется "дооолгий" алгоритм (30 - 60 секунд), хочу показывать индикатор выполнения (постепенно заполняющаяся полосочка).

Проблема: У формы нет события, которое вызывается после её отображение.

ПриОткрытии - Вызывается при открытии формы, до ее показа.
ПередОткрытием - Вызывается перед открытием формы, до показа ее пользователю.

Нажатие на кнопку после открытия формы не предлагать.

Посоветуйте пожалуйста куда можно капнуть =)

PS Задача относится к классу рюшечек, без которых модно свободно обойтись, но уж сильно хочется индикатор =)
1 vovus
 
07.05.12
20:58
Отдельную форму нарисуй с индикатором и не парься, отображай ход процесса на ней
2 vovus
 
07.05.12
20:59
А после выполнения, когда индикатор до 100% дойдет - закрывай
3 Elvisnya
 
07.05.12
21:02
а как запустить индикацию на другой форме?
4 vovus
 
07.05.12
21:05
Ну просто открыть ее и передавать на индикатор значения
5 vovus
 
07.05.12
21:05
модально причем можно открыть
6 Elvisnya
 
08.05.12
17:50
(5) Модально открыть нельзя, так как код не будет выполнятся, пока модально открытая форма не закроется. Хотя код можно разместить в модально открытой форме.
7 Elvisnya
 
08.05.12
17:53
(6) Отмена. Не получится запустить код.
8 Elvisnya
 
08.05.12
21:35
Получилось!



// МОДУЛЬ ГЛАВНОЙ ФОРМЫ

ВыбранноеЗначение = ФормаВыбора.ОткрытьМодально();



// МОДУЛЬ ФОРМЫ ВЫБОРА

Процедура ПриОткрытии()    
   ЭтаФорма.ПодключитьОбработчикОжидания("ВыполнитьДолгоеДействиеПоказатьИндикацию", 0.1, Истина);
КонецПроцедуры

Процедура ВыполнитьДолгоеДействиеПоказатьИндикацию()    
   ЭлементыФормы.ИндикаторПрогресса.Видимость = Истина;
       // Долгое действие и обновление индикатора прогресса
   ЭлементыФормы.ИндикаторПрогресса.Видимость = Ложь;    
КонецПроцедуры
9 Elvisnya
 
08.05.12
21:36
ВОТ КАК ВЫГЛЯДИТ:
http://youtu.be/ItuV6lQT5R0