Имя: Пароль:
1C
1С v8
Помогите с выводом в макет по условию
,
0 dft2014
 
18.01.19
14:09
Есть запрос, в котором данные выгрузились в виде:

Ведомость1    Иванов    100
Ведомость2    Петров    200
Ведомость1    Сидоров   300


При выводе в макет, мне надо получить данные в виде:

Список:
1. Иванов    100
2. Сидоров   300

Список:
1. Петров    200


Но у меня выводится так:

Список:
1. Иванов    100

Список:
2. Сидоров   300

Список:
3. Петров    200


Где ошибка, как указать условие, если одна и таже ведомость, то сотрудники выводятся в одном списке:


НПП = 0;
Пока ВыборкаВедомостиВБанк.Следующий() Цикл
    
    НПП = НПП + 1;
    Ведомость = ВыборкаВедомостиВБанк.Ссылка;
    
    ОбластьМакетаШапкаДокумента = Макет.ПолучитьОбласть("ШапкаДокумента");
    ОбластьМакетаСтрока         = Макет.ПолучитьОбласть("Строка");
    
    ОбластьМакетаШапкаДокумента.Параметры.ПериодРегистрации = "Список за " + Формат(ВыборкаВедомостиВБанк.Ссылка.Дата,"ДФ='MMMM yyyy'");                 
    ТабДок.Вывести(ОбластьМакетаШапкаДокумента);
    
    ОбластьМакетаСтрока.Параметры.НПП                = НПП;
    ОбластьМакетаСтрока.Параметры.Физлицо            = ВыборкаВедомостиВБанк.ФизическоеЛицо;
    ОбластьМакетаСтрока.Параметры.КВыплате           = ВыборкаВедомостиВБанк.КВыплате;
    
    ТабДок.Вывести(ОбластьМакетаСтрока);
    
КонецЦикла;
1 dft2014
 
18.01.19
16:04
HELP!
2 Saval1986
 
18.01.19
16:08
(1) Ничего не понял...Напишите пример результата? Нужно чтобы сначала были сотрудники одной ведомости, потом другой или как?
3 Saval1986
 
18.01.19
16:09
(1) Если да, тогда просто упорядочите данные по ведомости и фамилии
4 runoff_runoff
 
18.01.19
16:16
переделать запрос на "Итоги По Ведомость"
и выбирать с обходом по группировкам
5 Доминошник
 
18.01.19
16:54
(0) При изменении номера ведомости - выводить новую шапку. Если номер ведомости не поменялся - не выводить новую шапку.
6 dft2014
 
19.01.19
12:48
(2) Да, все именно так: нужно чтобы сначала были сотрудники одной ведомости, потом другой.

(4), (5) Каким образом?!
7 Chameleon1980
 
19.01.19
12:53
(6) Запоминать и сравнивать
8 dft2014
 
19.01.19
12:54
(7) пример, плиз!
9 Chameleon1980
 
19.01.19
12:54
(7) текст запроса покажи - тебе подскажут как запрос переделать и выборку
10 Chameleon1980
 
19.01.19
12:55
(8)

СтароеЗначение="";

цикл
Если СтароеЗначеие<>Значение Тогда
    ВывестиШапку();
    СтароеЗначение=Значение;
КонецЕсли
КонеццИкла
11 dft2014
 
19.01.19
21:58
(10) Ниже код, но он выводит теперь только по одному сотруднику из каждой ведомости:


СтароеЗначение = "";
ТекущееЗначение = "";

Пока ВыборкаВедомостиВБанк.Следующий() Цикл
    
    ТекущееЗначение = ВыборкаВедомостиВБанк.Ссылка.Номер;
    
    Если СтароеЗначение <> ТекущееЗначение Тогда
        
        ОбластьМакетаШапкаДокумента = Макет.ПолучитьОбласть("ШапкаДокумента");
        ОбластьМакетаСтрока         = Макет.ПолучитьОбласть("Строка");
        
        ВедБанкФЛ                 = ВыборкаВедомостиВБанк.Сотрудник.ФизическоеЛицо;
        ВедБанкКВыплате           = ВыборкаВедомостиВБанк.КВыплате;
        
        ОбластьМакетаШапкаДокумента.Параметры.ПериодРегистрации = "Список за " + Формат(ВедБанкДата,"ДФ='MMMM yyyy'");                 
        ТабДок.Вывести(ОбластьМакетаШапкаДокумента);
        
        ОбластьМакетаСтрока.Параметры.Физлицо            = ВедБанкФЛ;
        ОбластьМакетаСтрока.Параметры.КВыплате           = ВедБанкКВыплате;
        
        ТабДок.Вывести(ОбластьМакетаСтрока);
        
        СтароеЗначение = ТекущееЗначение;
        
    КонецЕсли;
    
КонецЦикла;
12 dft2014
 
19.01.19
22:23
Разобралась, не хватало строчек в алгоритме. Сейчас вроде все выводит как надо:

СтароеЗначение = "";
ТекущееЗначение = "";

Пока ВыборкаВедомостиВБанк.Следующий() Цикл
    
    ТекущееЗначение = ВыборкаВедомостиВБанк.Ссылка.Номер;
    
    Если СтароеЗначение <> ТекущееЗначение Тогда
        
        ОбластьМакетаШапкаДокумента = Макет.ПолучитьОбласть("ШапкаДокумента");
        ОбластьМакетаСтрока         = Макет.ПолучитьОбласть("Строка");
        
        ВедБанкФЛ                 = ВыборкаВедомостиВБанк.Сотрудник.ФизическоеЛицо;
        ВедБанкКВыплате           = ВыборкаВедомостиВБанк.КВыплате;
        
        ОбластьМакетаШапкаДокумента.Параметры.ПериодРегистрации = "Список за " + Формат(ВедБанкДата,"ДФ='MMMM yyyy'");                 
        ТабДок.Вывести(ОбластьМакетаШапкаДокумента);
        
        ОбластьМакетаСтрока.Параметры.Физлицо            = ВедБанкФЛ;
        ОбластьМакетаСтрока.Параметры.КВыплате           = ВедБанкКВыплате;
        
        ТабДок.Вывести(ОбластьМакетаСтрока);
        
        СтароеЗначение = ТекущееЗначение;
        
        //вот эти строчки добавила(
    Иначе
        
        бластьМакетаСтрока.Параметры.Физлицо            = ВедБанкФЛ;
        ОбластьМакетаСтрока.Параметры.КВыплате           = ВедБанкКВыплате;
        
        ТабДок.Вывести(ОбластьМакетаСтрока);
        //вот эти строчки добавила)
        
    КонецЕсли;
    
КонецЦикла;
13 dft2014
 
19.01.19
22:24
(10) Спасибо за идею!