Максимальное Значение у индикатора не найдено

1. Manticor 66 06.02.12 23:38 Сейчас в теме
Почему ругается Значение не является значением объектного типа (МаксимальноеЗначение)
Индикатор.МаксимальноеЗначение =Число( ВыборкаНом.Количество());

ЗапросНом = Новый Запрос;
		ЗапросНом.УстановитьПараметр("Период", Дата(ЭлементыФормы.Дата.Значение));
		
		ЗапросНом.Текст=
		"ВЫБРАТЬ
		|	ОсновныеСводныеСпецификацииНоменклатурыСрезПоследних.Период,
		|	ОсновныеСводныеСпецификацииНоменклатурыСрезПоследних.Номенклатура,
		|	ОсновныеСводныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры,
		|	ОсновныеСводныеСпецификацииНоменклатурыСрезПоследних.ЭкспериментальнаяСпецификацияНоменклатуры
		|{ВЫБРАТЬ
		|	Период,
		|	Номенклатура.*,
		|	СпецификацияНоменклатуры.*,
		|	ЭкспериментальнаяСпецификацияНоменклатуры.*}
		|ИЗ
		|	РегистрСведений.ОсновныеСводныеСпецификацииНоменклатуры.СрезПоследних(&Период, ) КАК ОсновныеСводныеСпецификацииНоменклатурыСрезПоследних
		|{ГДЕ
		|	(ОсновныеСводныеСпецификацииНоменклатурыСрезПоследних.ЭкспериментальнаяСпецификацияНоменклатуры ЕСТЬ NULL ) КАК Поле2}
		|
		|СГРУППИРОВАТЬ ПО
		|	ОсновныеСводныеСпецификацииНоменклатурыСрезПоследних.Номенклатура,
		|	ОсновныеСводныеСпецификацииНоменклатурыСрезПоследних.Период,
		|	ОсновныеСводныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры,
		|	ОсновныеСводныеСпецификацииНоменклатурыСрезПоследних.ЭкспериментальнаяСпецификацияНоменклатуры";
		
	
		ВыборкаНом = ЗапросНом.Выполнить().Выбрать();

		Индикатор = ЭлементыФормы.Индикатор;
		Индикатор.МаксимальноеЗначение =Число( ВыборкаНом.Количество());
		Индикатор.Значение = 0; 
		Индикатор.ОтображатьПроценты = Истина; 
		Индикатор.СтильОтображения = РежимСглаживанияИндикатора.Прерывистый; 
		Индикатор.Ориентация = Ориентация.Вертикально; 
		Индикатор.Шаг = 0.1; 
		
		
		
		Пока ВыборкаНом.Следующий() Цикл 
			Индикатор.Значение = Индикатор.Значение + 1;
		
		//создаем запись в регистре
		Попытка
		НаборЗаписей = РегистрыСведений.ОсновныеСводныеСпецификацииНоменклатуры.СоздатьНаборЗаписей();
		НаборЗаписей.Прочитать();
		
		Для каждого запись из НаборЗаписей Цикл 
			запись.ЭкспериментальнаяСпецификацияНоменклатуры = ВыборкаНом.ЭкспериментальнаяСпецификацияНоменклатуры; 
			
			Сообщить(ВыборкаНом.ЭкспериментальнаяСпецификацияНоменклатуры);
 		
		 КонецЦикла;
		   НаборЗаписей.Записать()//обновляем значение
		  
		  Исключение
			     Сообщить(ОписаниеОшибки());
		 КонецПопытки;
		КонецЦикла;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ягг 497 07.02.12 07:09 Сейчас в теме
Потому что произошло наложение переменных.
В даном случае индикатор - это реквизит формы типа число. А ты его приравниваешь к элементу формы индикатор. Но при этом реквизит формы имеет приоритет и не переопределяется. Вобщем нужно вместо

Индикатор = ЭлементыФормы.Индикатор;
Индикатор.МаксимальноеЗначение =Число( ВыборкаНом.Количество());
...

написать к примеру

ИндикаторЭЛ = ЭлементыФормы.Индикатор;
ИндикаторЭЛ.МаксимальноеЗначение =Число( ВыборкаНом.Количество());
...

т.е. ввести новую переменную ИндикаторЭЛ и с ней работать
3. Manticor 66 07.02.12 08:22 Сейчас в теме
(2) Ягг, ОК, спасибо, понял ошибку))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот