Имя: Пароль:
1C
1C 7.7
v7: Отчет по 7ке, итоги по группировкам
0 Sova123
 
26.10.12
13:45
Добрый день, делаю вот такой простой отчетик, но почему по группировке услуга и контрагент не суммируются количество, а выводится количество из первой строки. Как сделать, чтобы количество, сумма выводилась итогом по контрагенту, услуге и общий итог? Заранее спасибо.
ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Обрабатывать НеПомеченныеНаУдаление;
   |ДополнительныеУслуги = Документ.ДополнительныеУслуги.ТекущийДокумент;
   |ДатаДопУслуг = Документ.ДополнительныеУслуги.ДатаДок;
   |Контрагент = Документ.ДополнительныеУслуги.Контрагент;
   |Услуга = Документ.ДополнительныеУслуги.Услуга;
   |Цена = Документ.ДополнительныеУслуги.Цена;
   |Количество = Документ.ДополнительныеУслуги.Количество;
   |СуммаС = Документ.ДополнительныеУслуги.Сумма;
   |Группировка Контрагент без групп;
   |Группировка Услуга без групп;
   |Группировка ДатаДопУслуг;  
   |Группировка ДополнительныеУслуги;
   |Функция КолВо = Сумма(Количество);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;

   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
       Пока Запрос.Группировка("Контрагент") = 1 Цикл
           // Заполнение полей Контрагент
           Таб.ВывестиСекцию("Контрагент");  
               Пока Запрос.Группировка("Услуга") = 1 Цикл
                   // Заполнение полей Услуга
                   Таб.ВывестиСекцию("Услуга");  
                       Пока Запрос.Группировка("ДатаДопУслуг") = 1 Цикл
                       // Заполнение полей ДатаДок
                         Таб.ВывестиСекцию("ДатаДоков");  
               КонецЦикла;
               КонецЦикла;
     КонецЦикла;
   // Вывод заполненной формы
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать", "");
1 miki
 
26.10.12
13:48
так что выводишь-то? А то не видно...
2 Sova123
 
26.10.12
13:49
Контрагент    Дата    Услуга    Цена    Количество    Сумма    Документ
Запрос.Контрагент        Запрос.Услуга        Запрос.КолВо    Запрос.СуммаС    
       Запрос.Услуга    Запрос.Цена    Запрос.КолВо    Запрос.СуммаС    
   Запрос.ДатаДопУслуг        Запрос.Цена    Запрос.КолВо    Запрос.СуммаС    Запрос.ДополнительныеУслуги
3 Надсмотрщик
 
26.10.12
13:49
......................
|Группировка ДополнительныеУслуги;
|Группировка СтрокаДокумента;
|Функция КолВо = Сумма(Количество);
4 miki
 
26.10.12
13:52
(2)Выводишь в 7 колонок 13 переменных?
5 miki
 
26.10.12
13:53
В секциях "Контрагент", "Услуга" какие переменные выводишь?
6 Sova123
 
26.10.12
13:55
В контрагент
Запрос.Контрагент        Запрос.Услуга        Запрос.КолВо    Запрос.СуммаС

В услуга

Запрос.Услуга        Запрос.КолВо    Запрос.СуммаС
7 Ёпрст
 
26.10.12
13:55
(0)

Нет функции по сумме табличной части
8 Надсмотрщик
 
26.10.12
13:57
И, самое главное, без фотки!
(5)(7) Не нарушайте традиции
9 Sova123
 
26.10.12
13:59
вот так вот получилось
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Обрабатывать НеПомеченныеНаУдаление;
   |ДополнительныеУслуги = Документ.ДополнительныеУслуги.ТекущийДокумент;
   |ДатаДопУслуг = Документ.ДополнительныеУслуги.ДатаДок;
   |Контрагент = Документ.ДополнительныеУслуги.Контрагент;
   |Услуга = Документ.ДополнительныеУслуги.Услуга;
   |Цена = Документ.ДополнительныеУслуги.Цена;
   |Количество = Документ.ДополнительныеУслуги.Количество;
   |Сумма = Документ.ДополнительныеУслуги.Сумма;
   |Группировка Контрагент без групп;
   |Группировка Услуга без групп;
   |Группировка ДатаДопУслуг;  
   |Функция КолВо = Сумма(Количество);
   |Функция СуммаС = Сумма(Сумма);
   |"//}}ЗАПРОС
10 Sova123
 
26.10.12
13:59
В контрагент
Запрос.Контрагент        Запрос.Услуга(убрать из вывода!!!)        Запрос.КолВо    Запрос.СуммаС

В услуга

Запрос.Услуга        Запрос.КолВо    Запрос.СуммаС
11 Sova123
 
26.10.12
13:59
а как вывести общий итог по сумме?
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.