Имя: Пароль:
1C
1C 7.7
v7: 1с++ Запрос к таблице значений
0 Alexor
 
05.10.11
10:34
Всем привет.

Только разбираюсь с 1с++
имеем 1с 7.7.27
файловая.

Использую SQLiteBase

Есть таблица значений.
В ней колонка с элементами номенклатуры.
Возможно ли сделать запрос к этой таблице что бы вывести итоги с иерархией? т.е. мне надо сгруппировать по родителю и получить итог по числовым колонкам. Уровень иерархии естественно может быть разным.

Пока у меня запрос из таблицы выбирает номенклаутру, но он ее считает строкой.

   БД = СоздатьОбъект("SQLiteBase");
   БД.Открыть(":memory:");
   Запрос = БД.НовыйЗапрос();
   БД.УложитьТЗ(ТЗ,"ТЗ",0);
   ТекстЗапроса="SELECT
   |Товар AS Тов,
   |SUM(Сумма) AS Итог
   |FROM ТЗ
   |GROUP BY Тов";
   
   
   
   чИтог=Запрос.ВыполнитьЗапрос(ТекстЗапроса);
   чИтог.ВыбратьСтроки();
   Пока чИтог.ПОлучитьСтроку()=1 Цикл
       Сообщить(типЗначения(чИтог.Тов));
   КонецЦикла;

Или это в принципе не возможно?
Пока вижу 2 варианта.
1. в таблицу добавить 5 колонок по уровням иерахии и по ним выбирать.
2. Сделать JOIN со справочником товары, но ТЗ выбирается строкой, как объединить?

Пните в нужном направлении пож-та.
1 Alexor
 
05.10.11
10:48
Подниму
2 Ёпрст
 
гуру
05.10.11
10:52
1. типизируй колонку в ТЗ перед УложитьТЗ
2. для полной иерархии нужно, либо куча left join к справочнику = количеству уровней в справочнике, либо в индексированной ТЗ сгруппировать потом, либо джоин к заранее подготовленной табличке с родителями.
3 Ёпрст
 
гуру
05.10.11
10:53
+2 для твоего случая, запрос вообще не нужен, всё можно в индексированной тз слепить
4 Alexor
 
05.10.11
10:57
(3) Да спасибо. Сейчас разбираюсь с Индексированной таблицей