Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема И снова вопрос по индексированной таблице (число прочтений - 1585 )
kentavr27
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 40
Зарегистрирован: 04. Июня 2008
И снова вопрос по индексированной таблице
25. Октября 2010 :: 13:28
Печать  
Кто может прояснить следующую ситуацию.
Возникла необходимость переделать существующий отчет на работу с ИТЗ.

Я сформированный запрос выгрузил в ИТЗ, построил индексы по группировкам запроса.
Далее хотелось бы полученные данные обходить аналогично обходу запроса, т.е.

[code]ИТЗ.ВыбратьСтроки(); // по основному индексу

Пока ИТЗ.ПолучитьСтроку("Индекс1")=1 Цикл
     //например склад
     //...
     Пока ИТЗ.ПолучитьСтроку("Индекс2")=1 Цикл
           //например товар
           //...
           Пока ИТЗ.ПолучитьСтроку("Индекс3")=1 Цикл
                 //например партия
                 //...
           КонецЦикла
     КонецЦикла
КонецЦикла[/code]
Но к сожалению в индексированной таблице такая конструкция не работает.
ИТЗ.ПолучитьСтроку("Индекс1") возвращает 0
А в каждом цикле создавать выборку строк по интересующему индексу во-первых не хотелось бы, во-вторых, в таком случае каждый следующий индес должен в себя включать предыдущий индекс (если не ошибаюсь).

Как правильно поступить в данной ситуации с минимальными исправлениями существующего отчета?
Может кто может показать какой-нить несложный пример работы с ИТЗ, имеющей множество индексов? На формах походящего примера найти не смог.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: И снова вопрос по индексированной таблице
Ответ #1 - 25. Октября 2010 :: 13:37
Печать  
Все работает.
Код
Выбрать все
//...
ИтТз.ВыбратьСтроки("Индекс2");
	Пока ИТЗ.ПолучитьСтроку("Индекс2")=1 Цикл 

  
Наверх
IP записан
 
kentavr27
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 40
Зарегистрирован: 04. Июня 2008
Re: И снова вопрос по индексированной таблице
Ответ #2 - 25. Октября 2010 :: 14:03
Печать  
leshik писал(а) 25. Октября 2010 :: 13:37:
Все работает.
Код
Выбрать все
//...
ИтТз.ВыбратьСтроки("Индекс2");
	Пока ИТЗ.ПолучитьСтроку("Индекс2")=1 Цикл 



В этом случе результат не тот. Не учитывется фильтр по предыдущей группировке.
Результат выборки получает следующий:
Товар1
Товар1 - Партия1
Товар1 - Партия2
Товар2 - Партия3
Товар2
Товар1 - Партия1
Товар1 - Партия2
Товар2 - Партия3

Нужен:
Товар1
Товар1 - Партия1
Товар1 - Партия2
Товар2
Товар2 - Партия3
Товар3
Товар3 - Партия4
Товар3 - Партия5
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: И снова вопрос по индексированной таблице
Ответ #3 - 25. Октября 2010 :: 14:07
Печать  
если хочется именно ИТЗ, то тебе надо смотреть в сторону метода "Группировать" с разворотом последнего уровня
  
Наверх
 
IP записан
 
kentavr27
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 40
Зарегистрирован: 04. Июня 2008
Re: И снова вопрос по индексированной таблице
Ответ #4 - 25. Октября 2010 :: 15:30
Печать  
JohnyDeath писал(а) 25. Октября 2010 :: 14:07:
если хочется именно ИТЗ, то тебе надо смотреть в сторону метода "Группировать" с разворотом последнего уровня


спасибо. уже поглядывал в ту сторону, но все же надеялся что все это можно решить с помощью индексов (что в общем-то вполне логично)...
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать