Запуск индикатора при открытии формы
☑
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
ВОТ КАК ВЫГЛЯДИТ:
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший