Имя: Пароль:
1C
 
Глупый вопрос с запросом
0 Likons
 
16.03.20
13:38
Добрый день , Коллеги.
Подскажите пожалуйста , как сравнить числовые значения в запросе друг с другом. Понимаю , что это что-то очень простое , но у меня не получается добиться нужного результата ((
Есть два документа ("Приходный ордер на товары" и "Расходный ордер на товары") беру табличную часть товары из обоих документов и сравниваю их между собой.
Нужно оставить только строки , у которых Количество прихода <> количеству расхода.
Конечно , можно было бы это сделать и без запроса , но хотелось бы , все таки , уместить это все в одном месте.

Запрос :

ВЫБРАТЬ
    ТаблицыИзДокументов.Номенклатура КАК Номенклатура,
    СУММА(ТаблицыИзДокументов.КоличествоРасхода) КАК КоличествоРасхода,
    СУММА(ТаблицыИзДокументов.КоличествоПрихода) КАК КоличествоПрихода
ИЗ
    (ВЫБРАТЬ
        ПриходныйОрдерНаТоварыТовары.Номенклатура КАК Номенклатура,
        NULL КАК КоличествоРасхода,
        СУММА(ПриходныйОрдерНаТоварыТовары.Количество) КАК КоличествоПрихода
    ИЗ
        Документ.ПриходныйОрдерНаТовары.Товары КАК ПриходныйОрдерНаТоварыТовары
    ГДЕ
        ПриходныйОрдерНаТоварыТовары.Ссылка = &ПриходныйОрдер
    
    СГРУППИРОВАТЬ ПО
        ПриходныйОрдерНаТоварыТовары.Номенклатура
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        РасходныйОрдерНаТоварыТовары.Номенклатура,
        СУММА(РасходныйОрдерНаТоварыТовары.Количество),
        NULL
    ИЗ
        Документ.РасходныйОрдерНаТовары.Товары КАК РасходныйОрдерНаТоварыТовары
    ГДЕ
        РасходныйОрдерНаТоварыТовары.Ссылка = &РасходныйОрдер
    
    СГРУППИРОВАТЬ ПО
        РасходныйОрдерНаТоварыТовары.Номенклатура) КАК ТаблицыИзДокументов
ГДЕ
    ТаблицыИзДокументов.КоличествоРасхода <> ТаблицыИзДокументов.КоличествоПрихода

СГРУППИРОВАТЬ ПО
    ТаблицыИзДокументов.Номенклатура

УПОРЯДОЧИТЬ ПО
    Номенклатура

Насколько я понял , я ошибся в с этой строкой : "ТаблицыИзДокументов.КоличествоРасхода <> ТаблицыИзДокументов.КоличествоПрихода".
Буду благодарен за помощь )
1 renegade
 
16.03.20
13:40
ГДЕ
    ТаблицыИзДокументов.КоличествоРасхода <> ТаблицыИзДокументов.КоличествоПрихода

Заменить на

ИМЕЮЩИЕ
    СУММА(ТаблицыИзДокументов.КоличествоРасхода) <> СУММА(ТаблицыИзДокументов.КоличествоПрихода)
2 vicof
 
16.03.20
13:41
NULL заменить на 0
3 ejikbeznojek
 
16.03.20
13:41
+ возможно стоит null на 0 заменить,
А поля где может быть null на естьnull(ТаблицыИзДокументов.КоличествоПрихода,0)
4 vicof
 
16.03.20
13:43
(3) В этих полях в данном запросе null-а не будет
5 seevkik
 
16.03.20
13:47
Знатоки, а что лучше, так или соединением? В плане стандартов и производительности
6 Александр Б
 
16.03.20
13:48
(5) Так, т.е. объединением.
7 vicof
 
16.03.20
13:48
(5) Для начала тебе нужно ответить на вопрос, какой цели служит соединение и какой объединение
8 seevkik
 
16.03.20
13:54
(7) Цель одна - показать нужные данные)
(0) Для такой задачи я бы хватал данные с регистра
9 vicof
 
16.03.20
13:55
(8) мм...тогда лучше нужным методом
10 seevkik
 
16.03.20
13:56
(9) А еще лучше пригласить нужного человека?
11 vi0
 
16.03.20
13:58
(5) нет однозначного ответа, по ситуации
12 Likons
 
16.03.20
14:11
(1) (2) (3) Спасибо Вам , добрые человеки ) Заработало )