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 со справочником товары, но ТЗ выбирается строкой, как объединить?
Пните в нужном направлении пож-та.
|
|
2
Ёпрст
гуру
05.10.11
✎
10:52
|
1. типизируй колонку в ТЗ перед УложитьТЗ
2. для полной иерархии нужно, либо куча left join к справочнику = количеству уровней в справочнике, либо в индексированной ТЗ сгруппировать потом, либо джоин к заранее подготовленной табличке с родителями.
|
|