Вход | Регистрация
 

ПОмогите упростить запрос

ПОмогите упростить запрос
Я
   Nemirov
 
28.01.20 - 11:34
Запрос=Новый Запрос();
    Запрос.Текст="ВЫБРАТЬ
    |    РасходнаяНакладнаяСостав.Ссылка КАК ДокументРасходная,
    |    ПриходнаяНакладнаяСостав.Ссылка КАК ДокументПриходная,
    |    ПриходнаяНакладнаяСостав.Номенклатура КАК НоменклатураСоставПриход,
     //Можно это условие упростить как нибудь? Хотелось бы одним условием Которое ниже.
        |РасходнаяНакладнаяСостав.Количество * РасходнаяНакладнаяСостав.Коэффициент - ПриходнаяНакладнаяСостав.Количество * ПриходнаяНакладнаяСостав.Коэффициент КАК Количество,
     ///////
        |    ВЫБОР         //
    |        КОГДА РасходнаяНакладнаяСостав.Ссылка.ДокОснование = ПриходнаяНакладнаяСостав.Ссылка
    |            ТОГДА РасходнаяНакладнаяСостав.Номенклатура = НЕОПРЕДЕЛЕНО
    |        ИНАЧЕ РасходнаяНакладнаяСостав.Номенклатура
    |    КОНЕЦ КАК Номенклатура
    |ИЗ
     |    Документ.РасходнаяНакладная.Состав КАК РасходнаяНакладнаяСостав,
    |    Документ.ПриходнаяНакладная.Состав КАК ПриходнаяНакладнаяСостав
    |ГДЕ
    |    РасходнаяНакладнаяСостав.Номенклатура = ПриходнаяНакладнаяСостав.Номенклатура
    |    И РасходнаяНакладнаяСостав.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон";
    
    
    //Запрос.УстановитьПараметр("МоментВремени",ТекущаяДатаСеанса());
    Запрос.УстановитьПараметр("ДатаНач",НачалоДня(ДатаНач));
    Запрос.УстановитьПараметр("ДатаКон",КонецДня(ДатаКон));
    //Запрос.УстановитьПараметр("Контрагент",Контрагент);
    Документы=Запрос.Выполнить().Выгрузить();
    ЭлементыФормы.Документы.СоздатьКолонки();
 
 
   Nemirov
 
1 - 28.01.20 - 11:34
/////Можно это условие упростить как нибудь? Хотелось бы одним условием Которое ниже.

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.