Имя: Пароль:
1C
1С v8
Индикатор прогресса в строке состояния
,
0 askharlov
 
26.08.11
11:01
Решил поместить индикатор прогресса в строку состояния.
Вычитал в СП:

Состояние(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
Параметры:
...

<Прогресс> (необязательный)
Тип: Число.
Значение индикатора прогресса (от 1 до 100).
Если не задан, индикатор прогресса не отображается.

Поместил в цикле:
Состояние("Установка реквизитов", Цел(Прогресс))
Экспериментируя пробовал и так:
Состояние("Установка реквизитов", 50)

Результат один: пишет "Установка реквизитов" и не выводит никакого индикатора.
Что не так? или СП обманывает и Процедура "Состояние" никакого индикатора выводить не умеет?

Заранее спасибо за помощь.
1 Stepa86
 
26.08.11
11:04
Пояснение выведи и в упр. режиме гоняй
2 askharlov
 
26.08.11
11:08
(1) ОК. Сейчас попробую с пояснением.
Забыл сказать, что у меня не управляемый режим, а обычный
3 askharlov
 
26.08.11
11:09
(1) С пояснением тоже не работает
4 Живой Ископаемый
 
26.08.11
11:09
а это в каком релизе появилось? потому что раньше, чтобы показать прогресс-бар в строке состояния нужно было заюзать построитель отчетов или СКД
5 Живой Ископаемый
 
26.08.11
11:09
а... это УФ..
6 Stepa86
 
26.08.11
11:11
(2) из упр. формы хотя бы вызывай
7 askharlov
 
26.08.11
11:12
релиз 8.2.14.528
8 Живой Ископаемый
 
26.08.11
11:13
2(7) так и атм уже моно это делать? в смысле в толстом клиенте?
9 askharlov
 
26.08.11
11:14
(6) это для меня не совсем понятно. С упр.формами не работал. Сейчас попробую осмыслить совет.
Но согасно СП в толстом клиенте тоже должно работать
10 Живой Ископаемый
 
26.08.11
11:17
11 askharlov
 
26.08.11
11:44
В принципе вот это работает:
v8: Как выводить индикатор в панель состояния?
Конечно побольше кода, но отдаленно похоже
12 Живой Ископаемый
 
26.08.11
11:45
2(11) ну так этож не в строке состояния, а специальным элементов на форме.
13 askharlov
 
26.08.11
11:48
(12) согласен - не то что хотелось, но тоже выход
14 Stepa86
 
26.08.11
11:54
вот код:

&НаКлиенте
Процедура Команда1(Команда)
   
   Для ц = 1 По 100 Цикл
       
       ЭмуляцияБурнойДеятельности();
       
       Состояние( "Это прогресс бар", ц, "Сделали уже " + ц + "% работы", БиблиотекаКартинок.ДлительнаяОперация48 );
       
   КонецЦикла;
   
   Состояние("");
   
КонецПроцедуры

Процедура ЭмуляцияБурнойДеятельности()
   
   Для ц = 1 По 1000 Цикл
   КонецЦикла;
   
КонецПроцедуры


вот эффект:

http://screencast.com/t/8n2GdpX9NzQ
15 Живой Ископаемый
 
26.08.11
11:56
16 askharlov
 
26.08.11
11:58
Похоже, что индикатор прогресса выводится на данныйц момент только в управляемых формах. В СП забыли об этом написать
17 ilpar
 
26.08.11
12:10
(86)Какие цифры будут, если сделаем

Для ц = 1 По 100000 Цикл

Как он в индикаторе понимает максимальное значение
18 ilpar
 
26.08.11
12:11
сдается мне какой то гон
19 ilpar
 
26.08.11
12:11
непонятно в смысле
20 ilpar
 
26.08.11
12:14
понял =)))
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший