Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Заполнение полей таблицы отчета.

Заполнение полей таблицы отчета.
Я
   prilforreal
 
23.04.18 - 15:49
Доброго дня! В отчет нужно добавить группировку по транспорту(Авто-ЭлементСпр), Уже мучаюсь весь день, то ячейки в макете пустые, то вообще кавардак какой-то вываливается, подскажите что не так делаю и как сделать так?

http://vfl.ru/fotos/578bdbc421480208.html
http://vfl.ru/fotos/6993aa0a21480271.html

Процедура ОсновныеДействияФормыПоКатегориям(Кнопка)
    ТабДок=Новый ТабличныйДокумент;  
    ТабДок.ИмяПараметровПечати="ОстаткиВКассах_ПоКатегориям";
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    // Данный фрагмент построен конструктором.

    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    
    Макет = ЭтотОбъект.ПолучитьМакет("ПоКатегориям");
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ВложенныйЗапрос.Ссылка КАК РасходСредств,
        |    ВложенныйЗапрос.НомерСтроки,
        |    ВложенныйЗапрос.Направление КАК Направление,
        |    ВложенныйЗапрос.Дата,
        |    ВложенныйЗапрос.Касса,
        |    ВложенныйЗапрос.СтатьяРасхода КАК СтатьяРасхода,
        |    ВложенныйЗапрос.Комментарий КАК Комментарий,
        |    ВложенныйЗапрос.Автор КАК Автор,
        |    СУММА(ВложенныйЗапрос.Сумма) КАК Сумма,
        |    ВложенныйЗапрос.Транспорт
        |ИЗ
        |    (ВЫБРАТЬ
        |        РасходСредствТабличнаяЧасть1.Ссылка КАК Ссылка,
        |        РасходСредствТабличнаяЧасть1.НомерСтроки КАК НомерСтроки,
        |        РасходСредствТабличнаяЧасть1.Ссылка.Направление КАК Направление,
        |        РасходСредствТабличнаяЧасть1.Ссылка.Дата КАК Дата,
        |        РасходСредствТабличнаяЧасть1.Ссылка.Касса КАК Касса,
        |        РасходСредствТабличнаяЧасть1.СтатьяРасхода КАК СтатьяРасхода,
        |        РасходСредствТабличнаяЧасть1.Комментарий КАК Комментарий,
        |        РасходСредствТабличнаяЧасть1.Ссылка.Автор КАК Автор,
        |        РасходСредствТабличнаяЧасть1.Сумма КАК Сумма,
        |        NULL КАК Транспорт
        |    ИЗ
        |        Документ.РасходСредств.ТабличнаяЧасть1 КАК РасходСредствТабличнаяЧасть1
        |    ГДЕ
        |        РасходСредствТабличнаяЧасть1.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода
        |        И (РасходСредствТабличнаяЧасть1.Ссылка.Направление В (&ВыбНаправление)
        |                ИЛИ &ВыбНаправление = ЗНАЧЕНИЕ(Перечисление.Направление.ПустаяСсылка))
        |        И (РасходСредствТабличнаяЧасть1.Ссылка.Касса В (&ВыбКасса)
        |                ИЛИ &ВыбКасса = ЗНАЧЕНИЕ(Справочник.Кассы.ПустаяСсылка))
        |        И (РасходСредствТабличнаяЧасть1.СтатьяРасхода В ИЕРАРХИИ (&ВыбСтРасх)
        |                ИЛИ &ВыбСтРасх = ЗНАЧЕНИЕ(Справочник.СтатьиРасхода.ПустаяСсылка))
        |        И НЕ РасходСредствТабличнаяЧасть1.Ссылка.ПометкаУдаления
        |    
        |    ОБЪЕДИНИТЬ ВСЕ
        |    
        |    ВЫБРАТЬ
        |        ТранспортТабличнаяЧасть1.Ссылка,
        |        ТранспортТабличнаяЧасть1.НомерСтроки,
        |        ТранспортТабличнаяЧасть1.Ссылка.Направление,
        |        ТранспортТабличнаяЧасть1.Ссылка.Дата,
        |        ТранспортТабличнаяЧасть1.Ссылка.Касса,
        |        ТранспортТабличнаяЧасть1.СтатьяРасхода,
        |        ТранспортТабличнаяЧасть1.Комментарий,
        |        ТранспортТабличнаяЧасть1.Ссылка.Автор,
        |        ТранспортТабличнаяЧасть1.Сумма,
        |        ТранспортТабличнаяЧасть1.Транспорт
        |    ИЗ
        |        Документ.Транспорт.ТабличнаяЧасть1 КАК ТранспортТабличнаяЧасть1
        |    ГДЕ
        |        ТранспортТабличнаяЧасть1.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода
        |        И (ТранспортТабличнаяЧасть1.Ссылка.Направление В (&ВыбНаправление)
        |                ИЛИ &ВыбНаправление = ЗНАЧЕНИЕ(Перечисление.Направление.ПустаяСсылка))
        |        И (ТранспортТабличнаяЧасть1.Ссылка.Касса В (&ВыбКасса)
        |                ИЛИ &ВыбКасса = ЗНАЧЕНИЕ(Справочник.Кассы.ПустаяСсылка))
        |        И (ТранспортТабличнаяЧасть1.СтатьяРасхода В ИЕРАРХИИ (&ВыбСтРасх)
        |                ИЛИ &ВыбСтРасх = ЗНАЧЕНИЕ(Справочник.СтатьиРасхода.ПустаяСсылка))
        |        И НЕ ТранспортТабличнаяЧасть1.Ссылка.ПометкаУдаления) КАК ВложенныйЗапрос
        |
        |СГРУППИРОВАТЬ ПО
        |    ВложенныйЗапрос.Ссылка,
        |    ВложенныйЗапрос.НомерСтроки,
        |    ВложенныйЗапрос.Направление,
        |    ВложенныйЗапрос.Дата,
        |    ВложенныйЗапрос.Касса,
        |    ВложенныйЗапрос.СтатьяРасхода,
        |    ВложенныйЗапрос.Комментарий,
        |    ВложенныйЗапрос.Автор,
        |    ВложенныйЗапрос.Транспорт
        |ИТОГИ
        |    СУММА(Сумма)
        |ПО
        |    ОБЩИЕ,
        |    Направление,
        |    Автор,
        |    СтатьяРасхода ИЕРАРХИЯ,
        |    Комментарий,
        |    РасходСредств
        |    Транспорт";
    
    Запрос.УстановитьПараметр("КонПериода", КонПериода);
    Запрос.УстановитьПараметр("НачПериода", НачПериода);
    Запрос.УстановитьПараметр("ВыбКасса", ВыбКасса);
    Запрос.УстановитьПараметр("ВыбСтРасх", ВыбСтРасх);
    Запрос.УстановитьПараметр("ВыбНаправление", ВыбНаправление);
    РезультатЗапроса = Запрос.Выполнить();
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");
    ОбластьНаправление = Макет.ПолучитьОбласть("Направление");
    ОбластьАвтор = Макет.ПолучитьОбласть("Автор");
    ОбластьСтатьяРасходаИерархия = Макет.ПолучитьОбласть("СтатьяРасходаИерархия");
    ОбластьСтатьяРасхода = Макет.ПолучитьОбласть("СтатьяРасхода");
    ОбластьТранспорт = Макет.ПолучитьОбласть("Транспорт");
    ОбластьКомментарий = Макет.ПолучитьОбласть("Комментарий");
    ОбластьРасходСредств = Макет.ПолучитьОбласть("РасходСредств");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    
    ТабДок.Очистить();
    ОбластьЗаголовок.Параметры.ВыбНачПериода=НачПериода;
    ОбластьЗаголовок.Параметры.ВыбКонПериода=КонПериода;
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    
    ВыборкаОбщийИтог = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    ВыборкаОбщийИтог.Следующий();        // Общий итог

    ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
    
    ВыборкаНаправление = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Пока ВыборкаНаправление.Следующий() Цикл
        ОбластьНаправление.Параметры.Заполнить(ВыборкаНаправление);
        ТабДок.Вывести(ОбластьНаправление, ВыборкаНаправление.Уровень());
    
        ВыборкаАвтор = ВыборкаНаправление.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
        Пока ВыборкаАвтор.Следующий() Цикл
            ОбластьАвтор.Параметры.Заполнить(ВыборкаАвтор);
            ТабДок.Вывести(ОбластьАвтор, ВыборкаАвтор.Уровень());
    
            ВыборкаСтатьяРасхода = ВыборкаАвтор.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
            Пока ВыборкаСтатьяРасхода.Следующий() Цикл
                Если ВыборкаСтатьяРасхода.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
                    Область = ОбластьСтатьяРасходаИерархия;
                Иначе
                    Область = ОбластьСтатьяРасхода;
                КонецЕсли;
    
                Область.Параметры.Заполнить(ВыборкаСтатьяРасхода);
                ТабДок.Вывести(Область, ВыборкаСтатьяРасхода.Уровень());
                
                ВыборкаТранспорт = ВыборкаСтатьяРасхода.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
                Пока ВыборкаТранспорт.Следующий() Цикл
                    ОбластьТранспорт.Параметры.Заполнить(ВыборкаТранспорт);
                    ТабДок.Вывести(ОбластьТранспорт, ВыборкаТранспорт.Уровень());

    
                ВыборкаКомментарий = ВыборкаСтатьяРасхода.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
                Пока ВыборкаКомментарий.Следующий() Цикл
                    ОбластьКомментарий.Параметры.Заполнить(ВыборкаКомментарий);
                    ТабДок.Вывести(ОбластьКомментарий, ВыборкаКомментарий.Уровень());
    
                    ВыборкаРасходСредств = ВыборкаКомментарий.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
                    Пока ВыборкаРасходСредств.Следующий() Цикл
                        ОбластьРасходСредств.Параметры.Заполнить(ВыборкаРасходСредств);
                        ТабДок.Вывести(ОбластьРасходСредств, ВыборкаРасходСредств.Уровень());
    
                        ВыборкаДетальныеЗаписи = ВыборкаРасходСредств.Выбрать();
    
                        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
                            ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
                            //ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());

                            КонецЦикла;
                        КонецЦикла;
                    КонецЦикла;
                КонецЦикла;
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
    
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА


    ТабДок.ТолькоПросмотр=Истина;
    ТабДок.Показать("По категориям");
КонецПроцедуры


Насколько я понимаю может помочь условие:
Если документ расход средств, тогда группировка по комментарию, ИначеЕсли транспорт, тогда по Транспорту.
 
 

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