Имя: Пароль:
1C
1С v8
1С запрос. Соединение с условием.
0 Юзер123
 
naïve
14.05.19
08:54
Добрый день.

Подскажите как  решить задачку.  В Отчете получаю оплату по заказам поставщикам. Оплата  в Платежных поручениях.   Но в ПП заказ может быть либо в реквизите "Заказ" или в табличной части "ОснованиеПлатежа".  Место заказа зависит от некого признака "МнгСтр".  как  мне  соединить заказы с ПП  в зависимости от этого признака?..

    "ВЫБРАТЬ
    |    ЗаказПоставщику.Ссылка КАК Документ,
    |    СУММА(ВЫБОР
    |            КОГДА ПлатежноеПоручениеИсходящееОснованиеПлатежа.Ссылка.МнгСтр
    |                ТОГДА ЕСТЬNULL(ПлатежноеПоручениеИсходящееОснованиеПлатежа.СуммаЗаказа, 0)
    |            ИНАЧЕ ЕСТЬNULL(ПлатежноеПоручениеИсходящееОснованиеПлатежа.Ссылка.СуммаДокумента, 0)
    |        КОНЕЦ) КАК СуммаПлатежки
    |ПОМЕСТИТЬ ВТ
    |ИЗ
    |    Документ.ЗаказПоставщику КАК ЗаказПоставщику
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее.ОснованиеПлатежа КАК ПлатежноеПоручениеИсходящееОснованиеПлатежа
    |        ПО (ПлатежноеПоручениеИсходящееОснованиеПлатежа.Заказ = ЗаказПоставщику.Ссылка)
    |ГДЕ
    |    ЗаказПоставщику.Утвержден = &Утвержден
    |    И ЗаказПоставщику.Оплачено В(&Оплачено)
    |    И ЗаказПоставщику.Дата МЕЖДУ &НачПериода И &КонПериода
    |    И ЗаказПоставщику.ПометкаУдаления = ЛОЖЬ
    |    И ЗаказПоставщику.Организация В ИЕРАРХИИ(&Организация)
    |
    |СГРУППИРОВАТЬ ПО
    |    ЗаказПоставщику.Ссылка
    |;
1 Юзер123
 
naïve
14.05.19
08:55
Меня интересует кусок после "   ИЗ   .....
2 FIXXXL
 
14.05.19
08:56
(0) разбей на два запроса по своему признаку и ОБЪЕДИНИТЬ
но архитектурка так себе...
3 Юзер123
 
naïve
14.05.19
08:56
Или проще через объединить сделать?)
4 Юзер123
 
naïve
14.05.19
08:57
(2)  Да) спасибо
5 Nuobu
 
14.05.19
08:59
(0)  Но в ПП заказ может быть либо в реквизите "Заказ" или в табличной части "ОснованиеПлатежа"
Это типовая?
Если "да", то, скорее всего - заказ всегда находится в табличной части.
6 Юзер123
 
naïve
14.05.19
09:01
(5)  нет. не типовая.  Таб часть  с заказами добавлялась
7 RomanYS
 
14.05.19
09:21
(6) пиши в регистр, соединяй с регистром
8 Юзер123
 
naïve
14.05.19
09:26
(2) а как потом данные 2-х запросов свернуть по Заказу?.    т.е. если есть заказ и в 1 и в 2   что бы в итоге был 1 заказ и общая сумма.
9 Юзер123
 
naïve
14.05.19
09:57
"ВЫБРАТЬ
    |    ЗаказПоставщику.Ссылка КАК Документ,
    |    СУММА(ЕСТЬNULL(ПлатежноеПоручениеИсходящееОснованиеПлатежа.СуммаЗаказа, 0)) КАК СуммаПлатежки
    |ПОМЕСТИТЬ ВТ
    |ИЗ
    |    Документ.ЗаказПоставщику КАК ЗаказПоставщику
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее.ОснованиеПлатежа КАК ПлатежноеПоручениеИсходящееОснованиеПлатежа
    |        ПО (ПлатежноеПоручениеИсходящееОснованиеПлатежа.Заказ = ЗаказПоставщику.Ссылка)
    |ГДЕ
    |    ЗаказПоставщику.Утвержден = &Утвержден
    |    И ЗаказПоставщику.Оплачено В(&Оплачено)
    |    И ЗаказПоставщику.Дата МЕЖДУ &НачПериода И &КонПериода
    |    И ЗаказПоставщику.ПометкаУдаления = ЛОЖЬ
    |    И ЗаказПоставщику.Организация В ИЕРАРХИИ(&Организация)
    |
    |СГРУППИРОВАТЬ ПО
    |    ЗаказПоставщику.Ссылка
    |
    |ОБЪЕДИНИТЬ
    |
    |ВЫБРАТЬ
    |    ЗаказПоставщику.Ссылка,
    |    СУММА(ЕСТЬNULL(ПлатежноеПоручениеИсходящее.СуммаДокумента, 0))
    |ИЗ
    |    Документ.ЗаказПоставщику КАК ЗаказПоставщику
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее КАК ПлатежноеПоручениеИсходящее
    |        ПО (ПлатежноеПоручениеИсходящее.ДокументЗаказПоставщику = ЗаказПоставщику.Ссылка)
    |ГДЕ
    |    ЗаказПоставщику.Утвержден = &Утвержден
    |    И ЗаказПоставщику.Оплачено В(&Оплачено)
    |    И ЗаказПоставщику.Дата МЕЖДУ &НачПериода И &КонПериода
    |    И ЗаказПоставщику.ПометкаУдаления = ЛОЖЬ
    |    И ЗаказПоставщику.Организация В ИЕРАРХИИ(&Организация)
    |
    |СГРУППИРОВАТЬ ПО
    |    ЗаказПоставщику.Ссылка
    |;


Отдельно таблицы сгруппированы.  А после помещения в ВТ из как свернуть?
10 Юзер123
 
naïve
14.05.19
10:20
хельп
11 hhhh
 
14.05.19
10:28
(10) СГРУППИРОВАТЬ ПО
    |    ЗаказПоставщику.Ссылка
12 Юзер123
 
naïve
14.05.19
10:29
(11)  после чего это вставить?
13 hhhh
 
14.05.19
10:40
(12) после всего. а, можно еще одну вт
14 Юзер123
 
naïve
14.05.19
10:42
(13) можно пример  в кратце?)
15 hhhh
 
14.05.19
10:46
ВЫБРАТЬ
    |    Документ,
    |    СУММА(СуммаПлатежки)
    |ПОМЕСТИТЬ ВТ2
    |ИЗ
    |    ВТ
    |
    |СГРУППИРОВАТЬ ПО
    |    Документ
    |;
16 Юзер123
 
naïve
14.05.19
10:47
(15) а..  это что касается второй ВТ.  Спасибо)