Я делаю запрос по регистру (товар, склад, остаток) и одновременно в запросе хочу выбрать и родителя товара. Справочник Номенклатуры трёхуровневый. Как мне сделать, чтобы в запросе РодительВ всегда был родителем верхнего уровня, Родитель - подуровнем, РодительН - родителем нижнего уровня (если он есть). Запрос сам (он работает) пока такой: [code] ТекстЗапроса=" |SELECT | Товар as [Товар $Справочник.Номенклатура], | Склад as [Склад $Справочник.МестаХранения], | ОстатокТовараОстаток as [КолОстаток], | СтоимостьОстаток as [СумОстаток], | $СпрСкл2.Подразделение as [Подр $Справочник.Подразделения], | СпрТов.PARENTID as [РодительН $Справочник.Номенклатура], | СпрТовРод.PARENTID as [Родитель $Справочник.Номенклатура], | СпрТовРодПервый.PARENTID as [РодительВ $Справочник.Номенклатура] | FROM $РегистрОстатки.ТоварыПоСкладам(:ДатаКон, INNER JOIN $Справочник.МестаХранения СпрСкл ON СпрСкл.ID=Склад AND $СпрСкл.ТипСклада<>:ВыбТип | AND $СпрСкл.ТипСклада<>:ВыбТип2 AND $СпрСкл.ТипСклада<>:ВыбТип3, , (Товар,Склад),(ОстатокТовара,Стоимость)) as Рег INNER JOIN | $Справочник.МестаХранения СпрСкл2 ON СпрСкл2.ID=Склад INNER JOIN | $Справочник.Номенклатура СпрТов ON СпрТов.ID=Товар INNER JOIN | $Справочник.Номенклатура СпрТовРод ON СпрТов.PARENTID= СпрТовРод.ID INNER JOIN | $Справочник.Номенклатура СпрТовРодПервый ON СпрТовРод.PARENTID= СпрТовРодПервый.ID |"; ВыбТип=Перечисление.ТипыСкладов.Виртуальный; ВыбТип2=Перечисление.ТипыСкладов.Витрина; ВыбТип3=Перечисление.ТипыСкладов.Розница; Запрос.УстановитьТекстовыйПараметр("ДатаКон",ДатаКон); Запрос.УстановитьТекстовыйПараметр("ВыбТип",ВыбТип); Запрос.УстановитьТекстовыйПараметр("ВыбТип2",ВыбТип2); Запрос.УстановитьТекстовыйПараметр("ВыбТип3",ВыбТип3); [/code]
|