Имя: Пароль:
1C
 
Задваиваются итоги
0 Альбатрос
 
10.03.16
17:56
В результате работы запроса количественные показатели задваиваются. Как нужно правильно?

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
                   |    КодыОКПДВходящиеАГ.АГ,
                   |    КодыОКПДВходящиеАГ.Ссылка
                   |ПОМЕСТИТЬ ТаблицаКодовОКПД
                   |ИЗ
                   |    Справочник.КодыОКПД.ВходящиеАГ КАК КодыОКПДВходящиеАГ
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ТаблицаДвижений.АГ,
                   |    ТаблицаДвижений.Импорт,
                   |    ТаблицаДвижений.Продажи,
                   |    ТаблицаДвижений.КонОстаток
                   |ПОМЕСТИТЬ ТаблицаДвижений
                   |ИЗ
                   |    &ТаблицаДвижений КАК ТаблицаДвижений
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ТаблицаКодовОКПД.Ссылка КАК КодПоОКПД,
                   |    ТаблицаДвижений.КонОстаток КАК КонОстаток,
                   |    ТаблицаДвижений.Продажи КАК Продажи,
                   |    ТаблицаДвижений.Импорт КАК Импорт
                   |ИЗ
                   |    ТаблицаКодовОКПД КАК ТаблицаКодовОКПД
                   |        ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаДвижений КАК ТаблицаДвижений
                   |        ПО ТаблицаКодовОКПД.АГ = ТаблицаДвижений.АГ
                   |ИТОГИ
                   |    СУММА(КонОстаток),
                   |    СУММА(Продажи),
                   |    СУММА(Импорт)
                   |ПО
                   |    КодПоОКПД";
     Запрос.УстановитьПараметр("ТаблицаДвижений",ТЗВР );
     Результат = Запрос.Выполнить();
     Если Результат.Пустой() тогда
         Сообщить("Ошибка конечной выборки");
     КонецЕсли;
     ВыборкаПоГруппировкам = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
     ТЗ.Очистить();
     Пока ВыборкаПоГруппировкам.Следующий() цикл

         НоваяСтрока = ТЗ.Добавить();
         НоваяСтрока.КодОКПД = ВыборкаПоГруппировкам.КодПоОкпд;
         НоваяСТрока.Импорт  = ВыборкаПоГруппировкам.Импорт;
         НоваяСТрока.Продажи = ВыборкаПоГруппировкам.Продажи;
         НоваяСТрока.КонОстаток = ВыборкаПоГруппировкам.КонОстаток;

        
     КонецЦикла;
1 Господин ПЖ
 
10.03.16
18:00
>Как нужно правильно?

как-то иначе
2 GrayT
 
10.03.16
18:04
Может задвоено уже в &ТаблицаДвижений. Или левым соединением задваешь - проверь без него цифры
3 f_vadim
 
10.03.16
18:06
предположу, что корректнее лепить коды к движениям, а не наоборот
4 Альбатрос
 
10.03.16
18:08
Все спасибо, но я затупил, все работает правильно ))) Сорри )))
5 Альбатрос
 
10.03.16
18:09
14 час работаю без отдыха, пойду спать однако.