Имя: Пароль:
1C
1С v8
Помогите разобратся с индикаторм.
0 rchervak
 
27.04.12
10:13
Доброго всем времени суток..
Помогите разобратся с индикаторм.

Результат = Запрос.Выполнить().Выбрать();
индикатор = ЭлементыФормы.Индикатор;
макс = Результат.количество();
Индикатор.Значение = 0;
Индикатор.МаксимальноеЗначение = макс;


Вылетает на ошибке
{Форма.Форма.Форма(47)}: Значение не является значением объектного типа (Значение)
Индикатор.Значение = 0;

Тоже самое
{Форма.Форма.Форма(47)}: Значение не является значением объектного типа (Значение)
Индикатор.МаксимальноеЗначение = макс;

Индикатор на форме есть, тип - число..

почему вылетает?
1 Fish
 
27.04.12
10:16
(0) Потому что индикатор = это реквизит формы. И у него нету .Значение.
2 picom
 
27.04.12
10:17
ФормаИндикатора = ПолучитьОбщуюФорму("ХодВыполненияОбработкиДанных");
ФормаИндикатора.НаименованиеОбработкиДанных = "Чтение данных";
ФормаИндикатора.КомментарийОбработкиДанных = "Выполнение запроса";
ФормаИндикатора.Открыть();
ФормаИндикатора.ЭлементыФормы.Индикатор.МаксимальноеЗначение = Выборка.Количество();
ВсегоОбъектов =  Выборка.Количество() ;
текПроцент = 0 ;
минОсталось = 0 ;
Прогноз = 0;
ВремяСтарта = ТекущаяДата() ;
СуммаЗаказа = 0 ;
КолВоЗаказа = 0 ;
Товары.Очистить();
Пока Выборка.Следующий() Цикл
               Ном = Ном +1 ;
               //формула
               //минОсталось = минПрошло*100/текПроцентОстаток
               //где
               //текПроцент =  текЭлемент*100/ВсегоОбъектов ;
               текПроцент  = Ном * 100 / ФормаИндикатора.ЭлементыФормы.Индикатор.МаксимальноеЗначение ;
               минПрошло   = (ТекущаяДата () - ВремяСтарта)  ;
               Прогноз =    минПрошло*100/текПроцент ;
               минОсталось = Окр(Прогноз - минПрошло,0);
               ФормаИндикатора.ЭлементыФормы.Индикатор.Значение = Ном;
               ФормаИндикатора.КомментарийОбработкиДанных = "Обработка элемента (" + Ном + " из " + ВсегоОбъектов + ") " + "Осталось: "+минОсталось+" сек.";
               ФормаИндикатора.ЭлементыФормы.КомментарийЗначения.Значение = Строка(Выборка.Номенклатура);//+"  Прошло: "+Окр(минПрошло,1)+ " мин.";
КонецЦикла;
ФормаИндикатора.Закрыть()   ;
3 Buster007
 
27.04.12
10:18
(1) оО
4 rchervak
 
27.04.12
10:32
(2) спс большое за помощь..