Имя: Пароль:
1C
1С v8
Помогите с запросом
,
0 lanc2233
 
06.12.12
17:42
Есть две таблицы Т1 и Т2, ниже пример данных :

Т1.Код Т1.Кво1
"ААА"  10

Т2.Код Т2.Кво2 Т2.Поле3
"ААА"  4       56
"ААА"  5       78

Мне нужно получить отчет в виде :

Код  Кво1   Кво2
И потом это раскрывается на две строки с значениями Поле3


"ВЫБРАТЬ
                  |    Т1.Кво1 КАК Кво1,
                  |    Т2.Кво2 КАК Кво2,
                  |    Т2.Поле3 КАК Поле3,
                  |    Т1.Код КАК Код
                  |ИЗ
                  |    Т2 КАК Т2
                  |        ЛЕВОЕ СОЕДИНЕНИЕ Т1 КАК Т1
                  |        ПО Т1.Код = Т2.Код
                  |ИТОГИ
                  |    СУММА(Кво1),
                  |    СУММА(Кво2)
                  |ПО
                  |    Код"


       ВыбКод = Запрос.Выполнить().Выбрать(ОбходРезультатазапроса.ПоГруппировкам);
   Пока ВыбКод.Следующий() Цикл
       Область = Макет.ПолучитьОбласть("Строка");
       Область.Параметры.Заполнить(ВыбКод);
       ТабличныйДокумент.Вывести(Область,1,Ложь);
       ВыбПоле3 = ВыбКод.Выбрать(ОбходРезультатазапроса.ПоГруппировкам);
       Пока ВыбДок.Следующий() Цикл
           Область = Макет.ПолучитьОбласть("Документ");
           Область.Параметры.Заполнить(ВыбПоле3);
           ТабличныйДокумент.Вывести(Область,2,Ложь);
       КонецЦикла;    
   КонецЦикла;

Когда делаю так, значение Кво2 получается задвоенным, и в два раза больше проходит по ВыбПоле3.

Как сделать правильно?
1 zak555
 
06.12.12
17:43
объедини хоть
2 DrunkAnimal
 
06.12.12
17:44
а как у тебя итог по количеству увязывается с разными значениями поля3?
3 lanc2233
 
06.12.12
17:44
(1) в смысле? там левое соединение.
4 ДайтеДайте Сказать
 
06.12.12
17:45
Напиши ВНУТРЕННЕЕСОЕДИНЕНИЕ
5 GLazNik
 
06.12.12
17:47
(0) Кво2 задваивается или Кво1? По запросу Кво1 должно задвоиться
6 ДайтеДайте Сказать
 
06.12.12
17:48
Или напиши ПРАВОЕ СОЕДИНЕНИЕ
7 ДайтеДайте Сказать
 
06.12.12
17:48
или у тебя не запрос врет, а сам код, идущий под запросом
8 GLazNik
 
06.12.12
17:49
(4)(6) хоть внутреннее, хоть правое... с такими данными не поможет :)
9 lanc2233
 
06.12.12
17:55
При любом соединении данные получаются одинаковые.
10 GLazNik
 
06.12.12
17:58
(9) таки кво1 или кво2?
11 GLazNik
 
06.12.12
17:59
+(10) и в Т1 одна запись по коду "ААА" или несколько?
12 lanc2233
 
06.12.12
18:02
(11) В Т1 одна
13 lanc2233
 
06.12.12
18:03
(10) задваивается Кво2
14 GLazNik
 
06.12.12
18:07
(12)(13) "не верю"
Соединяем, получаем таблицу:
Код   Кво1   Кво2   Поле3
ААА   10     4      56
ААА   10     5      78
Итог по коду нам даст следующее:
ААА   20     9
15 lanc2233
 
06.12.12
18:11
Пересмотрел, вроде все так написал..
А есть идеи как мне реализовать то что нужно?
16 GLazNik
 
06.12.12
18:12
(15) ну тогда пример <> фактическим данным...
2 + 2 = 3.9999999999999999999999999999999...