Имя: Пароль:
1C
 
В ИЕРАРХИИ ( _не_ &ПараметрСписок )
0 x4
 
20.10.04
17:14
пытаюсь сделать в запросе:

ИЗ Справочник.Номенклатура КАК СправочникНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПроизводителиНоменклатуры КАК ПроизводителиНоменклатуры
ПО СправочникНоменклатура.Ссылка В ИЕРАРХИИ (ПроизводителиНоменклатуры.Номенклатура)

ошибка: Неверные параметры "В ИЕРАРХИИ".
В ИЕРАРХИИ (&ПараметрСписок) в моём случае не подходит.
как правильно сформулировать запрос?
1 Волшебник
 
20.10.04
17:15
почему не подходит?
почему не хочешь поместить туда вложенный запрос?
2 x4
 
20.10.04
17:39
(1) В ИЕРАРХИИ (&ПараметрСписок) не подходит потому, что параметр запроса здесь не удастся применить: нужно, чтобы поиск производился в потомках ПроизводителиНоменклатуры.Номенклатура соответствующей ПроизводителиНоменклатуры.Производитель (который используется дальше в запросе), а не в каком-то заранее известном списке номенклатуры.

вложенный запрос
ПО СправочникНоменклатура.Ссылка В ИЕРАРХИИ
( ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура ГДЕ Справочник.Номенклатура.Ссылка = ПроизводителиНоменклатуры.Номенклатура)
наверное должен был создать списочное значение, но говорит
не найдено поле ПроизводителиНоменклатуры
3 Волшебник
 
20.10.04
17:40
Вложенный запрос сделан неправильно.
Приведи текст запроса полностью.
И опиши ЗАДАЧУ!
4 x4
 
20.10.04
18:03
УправлениеТорговлей, заполнение по ценам контрагента.
при поиске в регистре ЦеныКонтрагентов в базовой конфигурации контрагент берётся из накладной,
а ЗАДАЧА в том, чтобы всегда вместо контрагента брать производителя номенклатуры.
Производитель сопоставляется группам номенклатуры в своём регистре сведений ПроизводителиНоменклатуры.
"В ИЕРАРХИИ" нужен, чтобы не назначать производителя каждому элементу номенклатуры, а назначать только большим группам [групп] номенклатуры.

базовый запрос выглядит так:
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|    СправочникНоменклатура.Ссылка КАК Номенклатура,
|    СправочникНоменклатура.ЕдиницаХраненияОстатков,
|    СправочникНоменклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоэффициентОсновнойЕдиницы,
|    ЦеныКонтрагентаСрезПоследних.Валюта КАК ВалютаЦены,
|    ЦеныКонтрагентаСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмеренияЦены,
|    ЦеныКонтрагентаСрезПоследних.ЕдиницаИзмерения.Коэффициент КАК КоэффициентЕдиницыЦены,
|    ЦеныКонтрагентаСрезПоследних.Цена,
|    КурсыВалютСрезПоследних.Кратность КАК КратностьВалютыЦены,
|    КурсыВалютСрезПоследних.Курс КАК КурсВалютыЦены
|ИЗ
|    Справочник.Номенклатура КАК СправочникНоменклатура
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныКонтрагентов.СрезПоследних(&Дата, Номенклатура.Ссылка В (&МассивНоменклатуры) И ТипЦен = &ТипЦен И Контрагент = &Контрагент ) КАК ЦеныКонтрагентаСрезПоследних
|            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дата) КАК КурсыВалютСрезПоследних
|            ПО ЦеныКонтрагентаСрезПоследних.Валюта = КурсыВалютСрезПоследних.Валюта
|        ПО СправочникНоменклатура.Ссылка = ЦеныКонтрагентаСрезПоследних.Номенклатура
|
|ГДЕ
|    СправочникНоменклатура.Ссылка В(&МассивНоменклатуры)";
5 x4
 
20.10.04
18:58
кстати, есть ли в природе (доступной для бесплатного скачивания) справочник по ЯЗЫКУ ЗАПРОСОВ 1Cv8?
Если есть, подскажите ссылку пожалуйста!
Вроде бы в Синтакс-помощнике нету ничего про "В ИЕРАРХИИ" например.. :[
6 Волшебник
 
20.10.04
19:08
(5) На всякий случай намекаю почитать правила форума... А то мало ли что...
7 x4
 
20.10.04
19:36
(6) извиняюсь если нарушил правила.
из прочтения правил вынес, что нельзя использовать большие буквы.
из документации на сайте нашёл пару статей о языке запросов 1cv7.
а мне надо v8 - вроде как они неплохо отличаются.
если не сложно, пожалуйста, объясните что я написал не так.
8 Волшебник
 
20.10.04
20:26
(7) Я хотел обратить твое внимание на пункт 2.1. Просто на всякий случай. Ты еще ничего не нарушил.
9 x4
 
20.10.04
21:17
(8) понял, спасибо.

Ответа на сабж не прочёл и не нашёл, зато выяснил что
В ( _не_ &ПараметрСписок ) работает, в отличии от
В ИЕРАРХИИ ( _не_ &ПараметрСписок )
(к стыду разработчиков языка запросов)

в итоге заменил красивое но нереальное
ПО СправочникНоменклатура.Ссылка В ИЕРАРХИИ (ПроизводителиНоменклатуры.Номенклатура)

на менее красивое но зато реально работающее
|    ПО ПроизводителиНоменклатуры.Номенклатура В (";
ГлубинаИерархии = 10;
Для ИндексСтроки = 0 По ГлубинаИерархии Цикл
   Текст = Текст + "
|        СправочникНоменклатура.Ссылка";
   Для ИндексРодителя = 1 По ИндексСтроки Цикл
       Текст = Текст + ".Родитель";
   КонецЦикла;
   Если ИндексСтроки < ГлубинаИерархии Тогда Текст = Текст + "," КонецЕсли;
КонецЦикла;
Текст = Текст + " )

которое мне выдало очаровательную лесенку
ПО ПроизводителиНоменклатуры.Номенклатура В (
   СправочникНоменклатура.Ссылка,
   СправочникНоменклатура.Ссылка.Родитель,
   СправочникНоменклатура.Ссылка.Родитель.Родитель,
   СправочникНоменклатура.Ссылка.Родитель.Родитель.Родитель,
   СправочникНоменклатура.Ссылка.Родитель.Родитель.Родитель.Родитель,
   СправочникНоменклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель,
   СправочникНоменклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель,
   СправочникНоменклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель,
   СправочникНоменклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель,
   СправочникНоменклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель,
   СправочникНоменклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель )

но, если кто предложит что покрасивее - буду только рад.