Вывод в печатную форму по дням

Тема в разделе "1C и всё что с ней связано", создана пользователем 4xter, 3 ноя 2009.

  1. 4xter

    4xter Гость

    Доброго времени суток всем. Конфигурация типовая ТиС 7.7. Возникла следующая проблемка в написании отчёта. Существует документ, из которого вытягиваются только 2 реквизита: Имя, сыр1,сыр2. В запросе требуется выводить имя человека и цифры по каждому из сырья. Но делать это надо за каждый день в заданном периоде. У меня вроде бы всё получилось, но проблема возникает тогда когда в документе за предыдущий день человека, который есть в документе за следующий день. Тогда данные по нему ставятся за предыдущий день.
    У меня предположения что я напутал в выводом секций. Но вот где не могу понять. Надеюсь на Вашу помощь.
    Вот текст запроса:
    Запрос=СоздатьОбъект("Запрос");
    ТекстЗапроса="
    |Период с ДатаНачала по ДатаКонца;
    |ОбрабатыватьДокументы Проведенные;
    |Док= Документ.Обв.ТекущийДокумент;
    |ДатаДок= Документ.Обв.ДатаДок;
    |НомерДок= Документ.Обв.НомерДок;
    |Имя= Документ.Обв.Имя;
    |Сыр1= Документ.Обв.Сыр1;
    |Сыр2= Документ.Обв.Сыр2;
    |Группировка Имя;
    |Группировка ДатаДок;
    |Группировка НомерДок;
    |";
    Дальше организую цикл по выборке и вывожу колонки:
    Пока Запрос.Группировка("Имя")=1 Цикл

    ТабНаименование=" "+Запрос.Имя.Наименование;
    Имя=ТабНаименование;
    Таб.ВывестиСекцию("Всего|Колонки");
    Пока Запрос.Группировка("ДатаДок")=1 Цикл

    Пока Запрос.Группировка("НомерДок")=1 Цикл
    Док=Запрос.Док;
    ТабДатаДок=Запрос.ДатаДок;
    ТабНомерДок=Запрос.НомерДок;
    КолС1=Запрос.Сыр1;
    КолС2=Запрос.Сыр2;
    ТабКолС1=ТабКолС1+Колс1;
    ТабКолС2=ТабКолС2+Колс2;
    КонецЦикла;
    Таб.ПрисоединитьСекцию("Всего|Данные");
    КонецЦикла;

    ТабКолС1=0;
    ТабКолС2=0;
    КолС1=0;
    КолС2=0;
    КонецЦикла;
    Таблица должна иметь следующий вид: В шапке-имя, дата. При этом колонка дата включает в себя ещё 2 колонки сыр1 и сыр2. Шапку вывожу следующим образом:
    Запрос.ВНачалоВыборки();
    Пока Запрос.Группировка("Обвал")=1 Цикл
    Пока Запрос.Группировка("ДатаДок")=1 Цикл
    Если Список.НайтиЗначение(Запрос.ДатаДок)=0 тогда
    Список.ДобавитьЗначение(Запрос.ДатаДок);
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    Список.Сортировать(0);
    Для сч=1 по Список.РазмерСписка() Цикл
    ТабДатаДок=Список.ПолучитьЗначение(Сч,);
    Таб.ПрисоединитьСекцию("Шапка2|Данные");
    КонецЦикла;

    А дальше вывожу секции Вывод. Может я вообще не правильно что делаю, подскажите пожалуйста. Заранее благодарен.
     
Загрузка...

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