Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 июн 2024, 17:41

Как написать условия в запросе без разбиения и конструкции если тогда

Автор drago404, 22 мар 2018, 06:54

0 Пользователей и 1 гость просматривают эту тему.

drago404

Здравствуйте!

каким образом можно заменить данный код без условных операторов и разбиения, чтобы он через конструктор открывался?

Буду благодарен за скорую помощь.





Зап2 = Новый Запрос;
Зап2.Текст =

"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура,
| СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот,
|   ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков,
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура1,
| ЕСТЬNULL(СРЕДНЕЕ(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)),0) КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.Продажи.Обороты(&ПродажиС, &ПродажиПо, ,
|   ";
Если (Номенклатура1 <> Справочники.Номенклатура.ПустаяСсылка()) И НЕ (Номенклатура1.ЭтоГруппа) Тогда

        Зап2.Текст = Зап2.Текст + "
|   Номенклатура = &Номенклатура";

    //| Номенклатура.Ссылка В ИЕРАРХИИ(&Номенклатура)";
КонецЕсли;

Если (Номенклатура1 <> Справочники.Номенклатура.ПустаяСсылка()) И (Номенклатура1.ЭтоГруппа) Тогда
        Зап2.Текст = Зап2.Текст + "
    | Номенклатура.Ссылка В ИЕРАРХИИ(&Номенклатура)";
КонецЕсли;

Зап2.Текст = Зап2.Текст + "
| )
|КАК ПродажиОбороты
|ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&ПродажиПо, ) КАК ТоварыНаСкладахОстатки
|ПО
| ПродажиОбороты.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
|
|СГРУППИРОВАТЬ ПО
| ТоварыНаСкладахОстатки.Номенклатура,
| ПродажиОбороты.Номенклатура";
   
    Зап2.УстановитьПараметр("ПродажиС",  ПродажиС);
Зап2.УстановитьПараметр("ПродажиПо", ПродажиПо);
//Зап2.УстановитьПараметр("", ПроверкаНоменклатуры)
       
Зап2.УстановитьПараметр("Номенклатура", Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура1.Наименование));

РезультатЗапроса2 = Зап2.Выполнить();


sertak

Попробуйте оставить единственное условие

Номенклатура.Ссылка В ИЕРАРХИИ(&Номенклатура)

Должна отработать и номенклатура, и группа, а при пустой ссылке система посчитает, что это корень справочника, и возьмет все элементы.

Т.е.
РегистрНакопления.Продажи.Обороты(&ПродажиС, &ПродажиПо, Номенклатура В ИЕРАРХИИ(&Номенклатура))

П.С. .Ссылка не нужно к слову.

drago404

Огромное спасибо, очень помогли!!!
Ура!
:zebzdr:

Цитата: sertak от 22 мар 2018, 08:04
Попробуйте оставить единственное условие

Номенклатура.Ссылка В ИЕРАРХИИ(&Номенклатура)

Должна отработать и номенклатура, и группа, а при пустой ссылке система посчитает, что это корень справочника, и возьмет все элементы.

Т.е.
РегистрНакопления.Продажи.Обороты(&ПродажиС, &ПродажиПо, Номенклатура В ИЕРАРХИИ(&Номенклатура))

П.С. .Ссылка не нужно к слову.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск