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

1С:Предприятие :: 1С:Предприятие 8 общая

Запрос

Запрос
Я
   FR95
 
10.07.18 - 19:19
Как в результат запроса вывести колонку - сумму или разность предыдущих двух колонок?
 
 
   breezee
 
1 - 10.07.18 - 19:23
(0) колонка2-колонка1.
Вы вообще пытались?
   mastodont
 
2 - 10.07.18 - 19:25
(1) +1
(0) для суммы: колонка1+колонка2...
   mastodont
 
3 - 10.07.18 - 19:26
(0) а если серьезно, сформулируй проблему. Что не понятно?
   FR95
 
4 - 10.07.18 - 19:29
для суммы: колонка1+колонка2...
так если делать какую-то бредятину выводит, и даже меняет значения в этих двух колонках
   Джинн
 
5 - 10.07.18 - 19:30
(4) Так не бывает.
   mastodont
 
6 - 10.07.18 - 19:32
(4) запрос в студию!
   FR95
 
7 - 10.07.18 - 19:34
в общем есть колонки "сумма продаж" и "сумма возвратов", вывожу третьей колонкой их разность
ВЫБРАТЬ
    Контрагенты.Ссылка КАК Контрагент,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТоваров.Ссылка) КАК КоличествоПокупок,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТоваров.Контрагент) КАК КоличествоКлиентов,
    ВложенныйЗапрос.КоличествоВозвратов КАК КоличествоВозвратов,
    СУММА(РеализацияТоваров.СуммаДокумента) КАК СуммаПродаж,
    ВложенныйЗапрос.СуммаВозвратов КАК СуммаВозвратов,
    РеализацияТоваров.СуммаДокумента - ВложенныйЗапрос.СуммаВозвратов КАК Поле1
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров КАК РеализацияТоваров
        ПО (РеализацияТоваров.Контрагент = Контрагенты.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВозвратТоваровОтПокупателя.Ссылка) КАК КоличествоВозвратов,
            ВозвратТоваровОтПокупателя.Контрагент КАК ВозвратКонтрагент,
            СУММА(ВозвратТоваровОтПокупателя.СуммаДокумента) КАК СуммаВозвратов
        ИЗ
            Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя
        ГДЕ
            ВозвратТоваровОтПокупателя.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
            И ВозвратТоваровОтПокупателя.ПометкаУдаления = ЛОЖЬ
            И ВозвратТоваровОтПокупателя.Проведен = ИСТИНА
        
        СГРУППИРОВАТЬ ПО
            ВозвратТоваровОтПокупателя.Контрагент) КАК ВложенныйЗапрос
        ПО Контрагенты.Ссылка = ВложенныйЗапрос.ВозвратКонтрагент
ГДЕ
    РеализацияТоваров.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
    И РеализацияТоваров.ПометкаУдаления = ЛОЖЬ
    И РеализацияТоваров.Проведен = ИСТИНА

СГРУППИРОВАТЬ ПО
    Контрагенты.Ссылка,
    ВложенныйЗапрос.КоличествоВозвратов,
    ВложенныйЗапрос.СуммаВозвратов,
    РеализацияТоваров.СуммаДокумента - ВложенныйЗапрос.СуммаВозвратов

Пока эту колонку не добавлю все идеально, но она все рушит
   mastodont
 
8 - 10.07.18 - 19:40
(7) 1. РеализацияТоваров.СуммаДокумента или ВложенныйЗапрос.СуммаВозвратов может быть Null
2. Ты зачем-то в конце группируешь по этой колонке...

А вообще вопрос должен быть почему у меня не работает отчет, а не как посчитать сумму/разницу.
   FR95
 
9 - 10.07.18 - 19:45
так его из группировки не получается вытащить, он автоматически добавляется туда
   mastodont
 
10 - 10.07.18 - 19:46
вообще к запросу много вопросов. например, зачем связывание со справочником контрагентов.
 
 Рекламное место пустует
   mastodont
 
11 - 10.07.18 - 19:47
используй естьnull(   , 0) для суммы документы и суммы возврата.
   FR95
 
12 - 10.07.18 - 19:48
чтобы видеть цифры в разрезе контрагентов
   FR95
 
13 - 10.07.18 - 19:49
(11) добавил естьnull, ничего не изменилось
   youalex
 
14 - 10.07.18 - 20:03
так тебе надо разность сумм, похоже.
и вообще, есть смысл посмотреть в сторону какого-нибудь регистра, типа Продажи
   vicof
 
15 - 10.07.18 - 20:13
мои глаза...
Смотри в сторону ОБЪЕДИНИТЬ ВСЕ
   Sserj
 
16 - 10.07.18 - 20:13
(13) Вообще у тебя должно быть что-то подобное:

ВЫБРАТЬ
    Контрагенты.Ссылка КАК Контрагент,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТоваров.Ссылка) КАК КоличествоПокупок,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТоваров.Контрагент) КАК КоличествоКлиентов,
    ВложенныйЗапрос.КоличествоВозвратов КАК КоличествоВозвратов,
    СУММА(РеализацияТоваров.СуммаДокумента) КАК СуммаПродаж,
    СУММА(ВложенныйЗапрос.СуммаВозвратов) КАК СуммаВозвратов,
    СУММА(РеализацияТоваров.СуммаДокумента - ВложенныйЗапрос.СуммаВозвратов) КАК Поле1

...

СГРУППИРОВАТЬ ПО
    Контрагенты.Ссылка
   Sserj
 
17 - 10.07.18 - 20:14
+(16) И Количество возвратов тоже должно быть в агрегатной функции

...
СУММА(ВложенныйЗапрос.КоличествоВозвратов) КАК КоличествоВозвратов
...
   FR95
 
18 - 12.07.18 - 09:41
Вопрос решен. Создал временную таблицу с этим запросом, создал второй пакет запроса и вывел все нужные поля из временной таблицы.

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