Гость
Форумы / [игнор отключен] [закрыт для гостей] / (УТ 10.3) как пройти по таблице значений результата запроса в обратном порядке? / 7 сообщений из 7, страница 1 из 1
26.01.2015, 08:49
    #38862877
однобитный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(УТ 10.3) как пройти по таблице значений результата запроса в обратном порядке?
Здраствуйте!

Нужно обработать результат запроса в обратном порядке, как это правильно прописать?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
	Запрос.Текст = "ВЫБРАТЬ
	|	ЗаказыПокупателейОстатки.Номенклатура,
	|	ЗаказыПокупателейОстатки.Номенклатура.СтавкаНДС       КАК СтавкаНДС,
	
	
	|	ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры,
	|	ЗаказыПокупателейОстатки.ЗаказПокупателя,
	|	ЗаказыПокупателейОстатки.ЕдиницаИзмерения             КАК ЕдиницаИзмерения,
	|	ЗаказыПокупателейОстатки.ЕдиницаИзмерения.Коэффициент КАК Коэффициент,
	|	ЗаказыПокупателейОстатки.СуммаУпрОстаток              КАК Сумма,
	|	ЗаказыПокупателейОстатки.КоличествоОстаток            КАК Заказано,
	|	ЗаказыПоставщикамОстатки.КоличествоОстаток            КАК ЗаказаноПоставщику,
	|	ТоварыВРезервеНаСкладах.КоличествоОстаток             КАК Зарезервировано
	|ИЗ
	|	РегистрНакопления.ЗаказыПокупателей.Остатки(&ДатаОстатков, ЗаказПокупателя = &ЗаказПокупателя
	|		                И СтатусПартии = &СтатусПартии) КАК ЗаказыПокупателейОстатки
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки(&ДатаОстатков, ЗаказПокупателя = &ЗаказПокупателя
	|		                И ЗаказПоставщику <> &Ссылка
	|		                И ТоварТара = &ТоварТара) КАК ЗаказыПоставщикамОстатки
	|		ПО ЗаказыПокупателейОстатки.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура 
	|		 И ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры = ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры 
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаОстатков, ДокументРезерва = &ЗаказПокупателя) КАК ТоварыВРезервеНаСкладах
	|		ПО ЗаказыПокупателейОстатки.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура 
	|		 И ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
	|
	|ГДЕ 
	|	НЕ ЗаказыПокупателейОстатки.Номенклатура.Услуга
	|";
	
	
        Выборка = Запрос.Выполнить().Выбрать();

	Пока Выборка.Следующий() Цикл

		Количество = ?(Выборка.Заказано = NULL, 0, Выборка.Заказано);
...
...
Рейтинг: 0 / 0
26.01.2015, 09:01
    #38862881
однобитный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(УТ 10.3) как пройти по таблице значений результата запроса в обратном порядке?
Делаю так, он пишет, что
"Значение индекса выходит за границы диапазона"

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
	Выборка = Запрос.Выполнить().Выгрузить();

	Сч = Выборка.Количество();
	
	Пока Сч > 0 Цикл
		
		Строка = Выборка.Получить(Сч);
	 
		Количество = ?(Строка.Заказано = NULL, 0, Строка.Заказано)
				   - ?(Строка.Зарезервировано = NULL, 0, Строка.Зарезервировано)
				   - ?(Строка.ЗаказаноПоставщику = NULL, 0, Строка.ЗаказаноПоставщику);
		Если Количество > 0 Тогда
			СтрокаТабличнойЧасти = ТабличнаяЧасть.Добавить();
			СтрокаТабличнойЧасти.Номенклатура    = Строка.Номенклатура;
			СтрокаТабличнойЧасти.Заказ			 = Строка.ЗаказПокупателя;

			Если ЭтоТовары Тогда
				СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = Строка.ХарактеристикаНоменклатуры;
				СтрокаТабличнойЧасти.ЕдиницаИзмерения           = Строка.ЕдиницаИзмерения;
				СтрокаТабличнойЧасти.СтавкаНДС                  = Строка.СтавкаНДС;
				СтрокаТабличнойЧасти.Коэффициент                = Строка.Коэффициент;
				
				СтрокаТабличнойЧасти.Количество = Количество * Строка.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
														/ Строка.Коэффициент;
			Иначе
				СтрокаТабличнойЧасти.Количество = Количество;														
			КонецЕсли;
		КонецЕсли;
	 	 
		Сч = Сч - 1;
		
	КонецЦикла;
...
Рейтинг: 0 / 0
26.01.2015, 11:16
    #38863031
Титов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(УТ 10.3) как пройти по таблице значений результата запроса в обратном порядке?
однобитный,

наверное ругается на этой строке
...
Рейтинг: 0 / 0
26.01.2015, 11:18
    #38863035
Титов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(УТ 10.3) как пройти по таблице значений результата запроса в обратном порядке?
Титов,

Строка = Выборка.Получить(Сч);

ну т.к. и правильно ругается ты, передаешь номер строки а он хочет от тебя индекс строки, тебе вот сдес надо сделать примерно так

Сч = Выборка.Количество() - 1;

но тогда и цикл поменять вот так

Пока Сч <> 0 Цикл
...
Рейтинг: 0 / 0
26.01.2015, 16:20
    #38863439
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(УТ 10.3) как пройти по таблице значений результата запроса в обратном порядке?
Титов,

Наверное всё таки ПОКА Сч > -1 Цикл
...
Рейтинг: 0 / 0
28.01.2015, 21:59
    #38865991
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(УТ 10.3) как пройти по таблице значений результата запроса в обратном порядке?
однобитный, Нужно обработать результат запроса в обратном порядке, как это правильно прописать? Интересно с чего вы взяли что у вас в запросе есть хоть какой-то порядок, чтобы сделать из него обратный.
...
Рейтинг: 0 / 0
29.01.2015, 07:13
    #38866170
Zerro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(УТ 10.3) как пройти по таблице значений результата запроса в обратном порядке?
javapeckerоднобитный, Нужно обработать результат запроса в обратном порядке, как это правильно прописать? Интересно с чего вы взяли что у вас в запросе есть хоть какой-то порядок, чтобы сделать из него обратный.
+500.. сортировка в запросе вам на что?
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / (УТ 10.3) как пройти по таблице значений результата запроса в обратном порядке? / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]