Имя: Пароль:
1C
 
ПОмогите упростить запрос
0 Nemirov
 
28.01.20
11:34
Запрос=Новый Запрос();
    Запрос.Текст="ВЫБРАТЬ
    |    РасходнаяНакладнаяСостав.Ссылка КАК ДокументРасходная,
    |    ПриходнаяНакладнаяСостав.Ссылка КАК ДокументПриходная,
    |    ПриходнаяНакладнаяСостав.Номенклатура КАК НоменклатураСоставПриход,
     //Можно это условие упростить как нибудь? Хотелось бы одним условием Которое ниже.
        |РасходнаяНакладнаяСостав.Количество * РасходнаяНакладнаяСостав.Коэффициент - ПриходнаяНакладнаяСостав.Количество * ПриходнаяНакладнаяСостав.Коэффициент КАК Количество,
     ///////
        |    ВЫБОР         //
    |        КОГДА РасходнаяНакладнаяСостав.Ссылка.ДокОснование = ПриходнаяНакладнаяСостав.Ссылка
    |            ТОГДА РасходнаяНакладнаяСостав.Номенклатура = НЕОПРЕДЕЛЕНО
    |        ИНАЧЕ РасходнаяНакладнаяСостав.Номенклатура
    |    КОНЕЦ КАК Номенклатура
    |ИЗ
     |    Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав,
    |    Документ.ПриходнаяНакладная.Состав КАК ПриходнаяНакладнаяСостав
    |ГДЕ
    |    РасходнаяНакладнаяСостав.Номенклатура = ПриходнаяНакладнаяСостав.Номенклатура
    |    И РасходнаяНакладнаяСостав.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон";
    
    
    //Запрос.УстановитьПараметр("МоментВремени",ТекущаяДатаСеанса());
    Запрос.УстановитьПараметр("ДатаНач",НачалоДня(ДатаНач));
    Запрос.УстановитьПараметр("ДатаКон",КонецДня(ДатаКон));
    //Запрос.УстановитьПараметр("Контрагент",Контрагент);
    Документы=Запрос.Выполнить().Выгрузить();
    ЭлементыФормы.Документы.СоздатьКолонки();
1 Nemirov
 
28.01.20
11:34
/////Можно это условие упростить как нибудь? Хотелось бы одним условием Которое ниже.
        |РасходнаяНакладнаяСостав.Количество * РасходнаяНакладнаяСостав.Коэффициент - ПриходнаяНакладнаяСостав.Количество * ПриходнаяНакладнаяСостав.Коэффициент КАК Количество,
     ///////
2 ДенисЧ
 
28.01.20
11:35
А что _тебе_ не нравится в этом запросе?
3 Nemirov
 
28.01.20
11:38
Да я хочу  сделать условие там где количество = 0 не выводить эти строки
4 Greeen
 
28.01.20
11:39
(0) Нужно логику запроса переписать
Например, сначала отобрать РасходнаяНакладная состав.
Потом соединить приходные накладные по номенклатуре и/или документу основания
5 Волшебник
 
модератор
28.01.20
11:40
ГДЕ РасходнаяНакладнаяСостав.Количество*К1 = ПриходнаяНакладнаяСостав.Количество*К2
6 Йохохо
 
28.01.20
11:49
база ляжет на
    |    Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав,
    |    Документ.ПриходнаяНакладная.Состав КАК ПриходнаяНакладнаяСостав
а если долетит, то ляжет на
РасходнаяНакладнаяСостав.Ссылка.Дата
"где" будет наложен на результирующую таблицу, которая будет огромна. При проверке такого будет "мы вам не перезвоним"
надо переписать с нуля задачу даже, а не запрос
7 unregistered
 
28.01.20
12:00
(0) Для начала опишите соединение таблиц-источников и его условия.

А вообще сам запрос - дичь и ересь несусветнейшая. Пригласите специалиста, который ясно и четко сформулирует задачу.