8.х Итоги

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем slaay, 15 ноя 2010.

  1. TopicStarter Overlay
    slaay
    Offline

    slaay Опытный в 1С

    Регистрация:
    27 мар 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    копаюсь копаюсь решил попросить помощи у вас...

    как вывести итоги под строкой то а не над...у меня выводит итоги итоги вначале а мне надо в конце...

    то есть как надо:

    Дата Исполнитель параметр
    01012010 Иванов 100
    01012010 Петров 100
    01012010 200
    02012010 Иванов 100

    а получается так
    Дата Исполнитель параметр
    200
    01012010 Иванов 100
    01012010 Петров 100


    Собственно сам текст:

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

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    В выборке из результата запроса первая строка - это общий итог, а потом идут детали, поэтому можно сделать примерно так:
    Код:
    ОблСтрока = Макет.ПолучитьОбласть("Строка");
    Итог = Макет.ПолучитьОбласть("Итог");
    
    Если Выборка.Следующий() Тогда
    // есть какие-то записи в выборке, мы получили первую - это итог
    Итог.Параметры.Заполнить(Выборка);
    ТабДок.Вывести(Итог);
    КонецЕсли;
    
    Пока Выборка.Следующий() Цикл
    // остальные записи - строки, перебираем их в цикле
    ОблСтрока.Параметры.Заполнить(Выборка);
    ТабДок.Вывести(ОблСтрока);
    КонецЦикла;
    
    
    А учитывая, что у вас есть еще и итоги по датам (помимо общих итогов), то лучше Выборку делать по группировкам..
  3. TopicStarter Overlay
    slaay
    Offline

    slaay Опытный в 1С

    Регистрация:
    27 мар 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26

    почему то не получается...область итогов вообще не выводит а выводит все также с Итогами в начале...
  4. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Прошу прощения :)
    Код:
    ОблСтрока = Макет.ПолучитьОбласть("Строка");
    Итог = Макет.ПолучитьОбласть("Итог");
    
    Если Выборка.Следующий() Тогда
    // есть какие-то записи в выборке, мы получили первую - это итог
    Итог.Параметры.Заполнить(Выборка);
    //ТабДок.Вывести(Итог); - тут выводить не будем
    КонецЕсли;
    
    Пока Выборка.Следующий() Цикл
    // остальные записи - строки, перебираем их в цикле
    ОблСтрока.Параметры.Заполнить(Выборка);
    ТабДок.Вывести(ОблСтрока);
    КонецЦикла;
    
    // после всех строк выведем итоги
    ТабДок.Вывести(Итог);
    
    
    
Похожие темы
  1. qwertyu
    Ответов:
    1
    Просмотров:
    268
  2. qwertyu
    Ответов:
    3
    Просмотров:
    643
Загрузка...

Поделиться этой страницей