Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Отчёт Зарплата: сумма и группировка.  (Прочитано 6949 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Will
Интересующийся

ru
Offline Offline

« : 01-05-2011 11:23 » 

Здравствуйте.
У меня есть такая проблема:
В отчете выводится список сотрудников и рядом сумма с каждого выписанного ими товарного чека.
Сейчас отчёт выглядит так, как на рисунке выше, а надо было чтоб он выглядел так, как нижняя таблица.
Т.е. чтоб один и тот же сотрудник не выводился много раз, а группировался и напротив была сумма всех выписанных им чеков.



Код:
Процедура КнопкаСформироватьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
    |ТоварныйЧек.Менеджер КАК Менеджер,
    |ТоварныйЧек.СуммаДокумента КАК Сумма,
    |ТоварныйЧек.СуммаДокумента*0.05 КАК СуммаДокумента,
|ТоварныйЧек.Номер КАК Номер,
|ТоварныйЧек.Номер КАК Надпись
    |ИЗ
    |Документ.ТоварныйЧек КАК ТоварныйЧек
|ГДЕ
|ТоварныйЧек.Дата МЕЖДУ &ДатаНач И &ДатаКон
    |СГРУППИРОВАТЬ ПО
    |ТоварныйЧек.Менеджер,
    |ТоварныйЧек.Ссылка";
Запрос.УстановитьПараметр("ДатаНач",ДатаНач);
Запрос.УстановитьПараметр("ДатаКон",ДатаКон);
Выборка = Запрос.Выполнить().Выбрать();
ТабДок = Новый ТабличныйДокумент;
Макет = Отчеты.НачислениеЗарплаты.ПолучитьМакет("Макет");
Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.Дата_Нач=ДатаНач;
Область.Параметры.Дата_Кон=ДатаКон;
ТабДок.Вывести(Область);
Область = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(Область);
Н=0;
Пока Выборка.Следующий() Цикл
Область = Макет.ПолучитьОбласть("Строка");
Н = Н+1;
Область.Параметры.Номер = Н;
Область.Параметры.Сотрудник = Выборка.Менеджер;
Область.Параметры.Сумма = Выборка.СуммаДокумента;
Область.Параметры.Надпись = Выборка.Номер;
ТабДок.Вывести(Область);
КонецЦикла;
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
  ТабДок.Показать()
 КонецПроцедуры

Помогите, что надо исправить? Очень нужно!

Или может быть отчёт по начислению з/п из Товарных чеков нужно делать через Регистр накопления?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 10-05-2011 05:25 » 

Вот для этой строки
Код:
Выборка = Запрос.Выполнить().Выбрать();
посмотри какой параметр есть у метода Выбрать().
Кроме того - посмотри методы группировки для типа ТабличныйДокумент
И еще: часто полезно пользоваться помощниками чтобы потом анализировать код. В твоем случае это "Конструктор запроса с обработкой результата"

* sc-20110510082406.png (15.32 Кб - загружено 1471 раз.)
Записан
Will
Интересующийся

ru
Offline Offline

« Ответ #2 : 10-05-2011 06:54 » 

Спасибо Улыбаюсь)
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines