Имя: Пароль:
1C
1С v8
Подскажите с запросом
0 mirrr
 
16.11.11
14:45
Объединение 2-х таблиц:

ВЫБРАТЬ
   Таб1.Договор КАК Договор,
   Таб1.Поставка КАК Поставка,
   Таб1.Оплата КАК Оплата,
   СУММА(Таб1.СуммаДока) КАК СуммаДока
ИЗ
   (ВЫБРАТЬ
       Покупка.Договор КАК Договор,
       Покупка.Ссылка КАК Поставка,
       0 КАК Оплата,
       Покупка.СуммаДокумента КАК СуммаДока
   ИЗ
       Документ.Покупка КАК Покупка
   ГДЕ
       Покупка.Договор В ИЕРАРХИИ(&ВыбДог)
   
   ОБЪЕДИНИТЬ
   
   ВЫБРАТЬ
       Оплата.Договор,
       0,
       Оплата.Ссылка,
       Оплата.СуммаДокумента
   ИЗ
       Документ.Оплата КАК Оплата
   ГДЕ
       Оплата.Договор В ИЕРАРХИИ(&ВыбДог)) КАК Таб1

СГРУППИРОВАТЬ ПО
   Таб1.Договор,
   Таб1.Поставка,
   Таб1.Оплата

УПОРЯДОЧИТЬ ПО
   Договор


выводит данные в виде:
-------- --------      -------  ----------
Договор  Поставка      Оплата   СуммаДока
-------- --------      -------  ----------
1                      ДокОплаты1 1000
1                      ДокОплаты2 2000  
1                      ДокОплаты3 3000    
1        ДокПоставки1             1200
1        ДокПоставки2             2500
1        ДокПоставки3             3000

Можно как-то сделать, чтобы на одной строке были и документ поставки, и оплаты, а не на отдельных строках? Сумму можно сделать для них отдельно.
1 shuhard
 
16.11.11
14:45
(0) используй группировку Люк
2 Рэйв
 
16.11.11
14:47
(0)Присоединяй оплату левым соединением к постакам по договору.Если я правильно понял
3 aleks-id
 
16.11.11
14:48
(2) там договор то один...
4 Рэйв
 
16.11.11
14:50
(3)Так я по нему и предлагаю соединять
5 mirrr
 
16.11.11
14:51
(1) чего?
6 mirrr
 
16.11.11
14:58
(2) тогда в моем случае получится, что для каждого документа поставки будет присоединено 3 дока оплаты. А нужно чтоб в результате получилось всего 3 строки:
-------- --------      -------  -------------  -----------
Договор  Поставка      Оплата   СуммаПоставки  СуммаОплаты
-------- --------      -------  -------------  -----------
1        ДокПоставки1  ДокОплаты1 ХХХ              ХХХ    
1        ДокПоставки2  ДокОплаты2 ХХХ              ХХХ
1        ДокПоставки3  ДокОплаты3 ХХХ              ХХХ

Как в таком виде сделать?
7 Рэйв
 
16.11.11
15:01
(6)Да. что-то вроде.
8 mirrr
 
16.11.11
15:10
(7) как в 6 можно сделать?
9 mirrr
 
16.11.11
15:10
(7) как в (6) можно сделать?
10 mirrr
 
16.11.11
15:20
?
11 НЕА123
 
16.11.11
15:21
ИТОГИ ПО
12 mirrr
 
16.11.11
15:26
(11) пробовал, все равно поставка и оплата на разных строках
13 el-gamberro
 
16.11.11
15:27
Номера строк проставь и по ним тоже сгруппируй.
14 mirrr
 
16.11.11
15:29
хорошая мысль, попробую
15 aleks-id
 
16.11.11
15:31
(13) ждем вопрос "как пронумеровать строки в запросе" )
16 aleks-id
 
16.11.11
15:33
кстати, а почему именно так
ДокПоставки1  ДокОплаты1
ДокПоставки2  ДокОплаты2
ДокПоставки3  ДокОплаты3

а не
ДокПоставки1  ДокОплаты3
ДокПоставки2  ДокОплаты1
ДокПоставки3  ДокОплаты2
17 mirrr
 
16.11.11
15:34
(15) угадал))
18 aleks-id
 
16.11.11
15:34
(17) сначала на (16) ответь
19 mirrr
 
16.11.11
15:35
(16) надо в хронологической последовательности.
А с нумерацией у меня туго..
20 aleks-id
 
16.11.11
15:37
ну тогда пакет запросов тебя должон спасти
21 mirrr
 
16.11.11
15:38
т.е. документов поставок может быть меньше, равно или больше документов оплат - все варианты.
22 mirrr
 
16.11.11
15:44
(20) подробнее можно?
23 ilya_i
 
16.11.11
15:56
Есть подозрение, что запрос должен выдавать таблицу аля распределение оплат по поставкам, и метод вероятно ФИФО, так тогда нет такого запроса, это только при обходе можно сделать.