Имя: Пароль:
1C
1С v8
Порядок строк в печатной форме
0 MarvelProg
 
21.07.19
10:23
Здравствуйте, недавно начал ознакамливаться с 1С.
Вывожу разных клиентов по отдельности, но не получается вывести после каждого списка с одним и тем же клиентом итоговую область с общим временем и разделителем страницы, подскажите пожалуйста, как это сделать?


Процедура Печать(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    
    
    
    Макет = ПолучитьМакет("Печать");
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьСписокКонцультацийШапка = Макет.ПолучитьОбласть("СписокКонцультацийШапка");
    ОбластьСписокКонцультаций = Макет.ПолучитьОбласть("СписокКонцультаций");
    ИтоговаяСтрока = Макет.ПолучитьОбласть("ИтоговаяСтрока");
    Подвал = Макет.ПолучитьОбласть("Подвал");
    
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.Клиент КАК Клиент,
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.ОписаниеРабот КАК ОписаниеРабот,
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.ДатаОбращения КАК ДатаОбращения,
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.ЗатраченноеВремя КАК ЗатраченноеВремя,
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.КонтактноеЛицоКлиента КАК КонтактноеЛицоКлиента,
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.Исполнитель КАК Исполнитель,
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.Ссылка.Номер КАК Номер,
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.Ссылка.Дата КАК Дата,
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.Ссылка.Организация КАК Организация,
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.Ссылка.Ответственный КАК Ответственный,
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.НомерСтроки КАК НомерСтроки
    |ИЗ
    |    Документ.Progress_ФиксацияКонсультацииКлиента.СписокКонцультаций КАК Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций
    |ГДЕ
    |    Progress_ФиксацияКонсультацииКлиентаСписокКонцультаций.Ссылка.Ссылка В(&Ссылка)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Клиент";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    ТЗ = Запрос.Выполнить().Выгрузить();
    Клиент1 = "";
    ВыводитьОбласть = ЛОЖЬ;
    Для Каждого Выборка ИЗ ТЗ Цикл
    Если Клиент1 <> Выборка.Клиент ТОГДА
    СчМин = 0;
    КонецЕСЛИ;
    Если Клиент1 <> Выборка.Клиент ТОГДА
    ВыводитьОбласть = ЛОЖЬ;
    ИНАЧЕ ВыводитьОбласть = ИСТИНА
    КонецЕсли;
    ОбластьЗаголовок.Параметры.Дата = Формат(ТЗ[0].Дата, "ДЛФ=DD");
    СчМин = СчМин+Выборка.ЗатраченноеВремя;
    ИтоговаяСтрока.Параметры.Всего = СчМин/60;
    Если Клиент1 <> Выборка.Клиент ТОГДА
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьСписокКонцультацийШапка);    
    КонецЕсли;
    ОбластьСписокКонцультаций.Параметры.Заполнить(Выборка);
    ТабДок.Вывести(ОбластьСписокКонцультаций);    
    Клиент1 = Выборка.Клиент;
    Если ВыводитьОбласть = ИСТИНА ТОГДА    
    ТабДок.Вывести(ИтоговаяСтрока);
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    
    КонецЕсли;
    КонецЦикла;
       ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
  
КонецПроцедуры
1 MarvelProg
 
21.07.19
19:47
Вопрос еще актуален)
2 MarvelProg
 
22.07.19
11:20
Неужели никто не знает как такое сделать?
3 olegves
 
22.07.19
11:26
(2) в запросе добавь Итоги по Клиенту с информацией по итоговой строке.
Обход запроса по группировке + вложенный обход