Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Помогите с выводом в макет по условию

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

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

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

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


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

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

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

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

    Иначе
        
        бластьМакетаСтрока.Параметры.Физлицо            = ВедБанкФЛ;
        ОбластьМакетаСтрока.Параметры.КВыплате           = ВедБанкКВыплате;
        
        ТабДок.Вывести(ОбластьМакетаСтрока);
        //вот эти строчки добавила)

        
    КонецЕсли;
    
КонецЦикла;
   dft2014
 
13 - 19.01.19 - 22:24
(10) Спасибо за идею!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует