8.х Как правильно вывести отчет

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Amfiaray, 26 окт 2010.

  1. TopicStarter Overlay
    Amfiaray
    Offline

    Amfiaray

    Регистрация:
    15 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Добрый день!
    Помогите пожалуйста, делаю отчет по Анализу продаж, вот запрос
    Код:
    ВЫБРАТЬ
    ВЫБОР
    КОГДА РеализацияТоваровУслуг.Грузополучатель.Ссылка = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
    ТОГДА РеализацияТоваровУслуг.Контрагент.Регион.Родитель
    ИНАЧЕ РеализацияТоваровУслуг.Грузополучатель.Регион.Родитель КОНЕЦ КАК Регион,
    ВЫБОР
    КОГДА РеализацияТоваровУслуг.Грузополучатель.Ссылка = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
    ТОГДА РеализацияТоваровУслуг.Контрагент.Регион
    ИНАЧЕ РеализацияТоваровУслуг.Грузополучатель.Регион   КОНЕЦ КАК Филиал,
    ВЫБОР
    КОГДА РеализацияТоваровУслуг.Грузополучатель.Ссылка = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
    ТОГДА РеализацияТоваровУслуг.Контрагент
    ИНАЧЕ РеализацияТоваровУслуг.Грузополучатель КОНЕЦ КАК Контрагент,
    ЗначенияСвойствОбъектов.Значение КАК Агент,
    РеализацияТоваровУслуг.Ссылка КАК Ссылка,
    НачалоПериода(РеализацияТоваровУслуг.Дата,Неделя) КАК Неделя,
    РеализацияТоваровУслуг.СуммаДокумента КАК СуммаДокумента,
    ВложенныйЗапрос.НомерСтроки КАК КоличествоСтрок,
    ВложенныйЗапрос.Вес КАК Вес
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    ПО (ВЫБОР
    КОГДА РеализацияТоваровУслуг.Грузополучатель.Ссылка = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
    ТОГДА ЗначенияСвойствОбъектов.Объект = РеализацияТоваровУслуг.Контрагент.Ссылка
    ИНАЧЕ ЗначенияСвойствОбъектов.Объект = РеализацияТоваровУслуг.Грузополучатель.Ссылка КОНЕЦ)
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    МАКСИМУМ(РеализацияТоваровУслугТовары.НомерСтроки) КАК НомерСтроки,
    РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
    СУММА(РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Вес) КАК Вес
    ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслугТовары.Ссылка) КАК ВложенныйЗапрос
    ПО
    РеализацияТоваровУслуг.Ссылка = ВложенныйЗапрос.Ссылка
    ГДЕ
    РеализацияТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2
    И ЗначенияСвойствОбъектов.Свойство = &Свойство
    ИТОГИ
    СУММА(СуммаДокумента),
    СРЕДНЕЕ(КоличествоСтрок),
    СУММА(Вес)
    ПО
    Неделя,
    Регион,
    Филиал,
    Агент,
    Контрагент,
    Ссылка
    
    Как сделать что бы результат получался в виде
    [​IMG]

    Сейчас выходит вот так

    [​IMG]
  2. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    а где процедура вывода?
  3. TopicStarter Overlay
    Amfiaray
    Offline

    Amfiaray

    Регистрация:
    15 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Таб = ЭлементыФормы.ПолеТабличногоДокумента1;
    Таб.Очистить();
    Макет = ПолучитьМакет("Макет");
    ОбщаяШапка = Макет.ПолучитьОбласть("Шапка|ШапкаВ");
    ДекадаШапка = Макет.ПолучитьОбласть("Шапка|Декада");
    РегионОбщий = Макет.ПолучитьОбласть("Регион|ШапкаВ");
    РегионДекада = Макет.ПолучитьОбласть("Регион|Декада");
    ФилиалОбщий = Макет.ПолучитьОбласть("Филиал|ШапкаВ");
    ФилиалДекада = Макет.ПолучитьОбласть("Филиал|Декада");
    ТоргПрОбщий = Макет.ПолучитьОбласть("ТоргПред|ШапкаВ");
    ТоргПрДекада = Макет.ПолучитьОбласть("ТоргПред|Декада");
    КонтрОбщий = Макет.ПолучитьОбласть("Контрагент|ШапкаВ");
    КонтрДекада = Макет.ПолучитьОбласть("Контрагент|Декада");
    ДокумОбщий = Макет.ПолучитьОбласть("Документ|ШапкаВ");
    ДокумДекада = Макет.ПолучитьОбласть("Документ|Декада");
    Таб.Вывести(ОбщаяШапка);
    СтрокаНедель = ТаблицаОбщая.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока СтрокаНедель.Следующий() Цикл
    ДекадаШапка.Параметры.Декада = Формат(СтрокаНедель.Неделя, "ДЛФ=ДД");
    Таб.Присоединить(ДекадаШапка);
    СтрокаРег = СтрокаНедель.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока СтрокаРег.Следующий() Цикл
    РегионОбщий.Параметры.Параметр = СтрокаРег.Регион;
    РегионОбщий.Параметры.ПараметрРасшифровка = СтрокаРег.Регион;
    Таб.Вывести(РегионОбщий);
    РегионДекада.Параметры.КолПоз = Формат(СтрокаРег.КоличествоСтрок, "ЧЦ=10; ЧЦД=1");
    РегионДекада.Параметры.Кол = СтрокаРег.Вес;
    РегионДекада.Параметры.Сумма = СтрокаРег.СуммаДокумента;
    Таб.Присоединить(РегионДекада);
    Таб.НачатьГруппуСтрок();
    СтрокаФилиала = СтрокаРег.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока СтрокаФилиала.Следующий() Цикл
    ФилиалОбщий.Параметры.Параметр = СтрокаФилиала.Филиал;
    ФилиалОбщий.Параметры.ПараметрРасшифровка = СтрокаФилиала.Филиал;
    Таб.Вывести(ФилиалОбщий);
    ФилиалДекада.Параметры.КолПоз = Формат(СтрокаФилиала.КоличествоСтрок, "ЧЦ=10; ЧЦД=1");
    ФилиалДекада.Параметры.Кол = СтрокаФилиала.Вес;
    ФилиалДекада.Параметры.Сумма = СтрокаФилиала.СуммаДокумента;
    Таб.Присоединить(ФилиалДекада);
    Таб.НачатьГруппуСтрок();
    СтрокаТоргПреда = СтрокаФилиала.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока СтрокаТоргПреда.Следующий() Цикл
    ТоргПрОбщий.Параметры.Параметр = СтрокаТоргПреда.Агент;
    ТоргПрОбщий.Параметры.ПараметрРасшифровка = СтрокаТоргПреда.Агент;
    Таб.Вывести(ТоргПрОбщий);
    ТоргПрДекада.Параметры.КолПоз = Формат(СтрокаТоргПреда.КоличествоСтрок, "ЧЦ=10; ЧЦД=1");
    ТоргПрДекада.Параметры.Кол = СтрокаТоргПреда.Вес;
    ТоргПрДекада.Параметры.Сумма = СтрокаТоргПреда.СуммаДокумента;
    Таб.Присоединить(ТоргПрДекада);
    Таб.НачатьГруппуСтрок();
    СтрокаКонтр = СтрокаТоргПреда.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока СтрокаКонтр.Следующий() Цикл
    КонтрОбщий.Параметры.Параметр = СтрокаКонтр.Контрагент;
    КонтрОбщий.Параметры.ПараметрРасшифровка = СтрокаКонтр.Контрагент;
    Таб.Вывести(КонтрОбщий);
    КонтрДекада.Параметры.КолПоз = Формат(СтрокаКонтр.КоличествоСтрок, "ЧЦ=10; ЧЦД=1");
    КонтрДекада.Параметры.Кол = СтрокаКонтр.Вес;
    КонтрДекада.Параметры.Сумма = СтрокаКонтр.СуммаДокумента;
    Таб.Присоединить(КонтрДекада);
    Таб.НачатьГруппуСтрок();
    СтрокаДоков = СтрокаКонтр.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока СтрокаДоков.Следующий()Цикл
    ДокумОбщий.Параметры.Параметр = СтрокаДоков.Ссылка;
    ДокумОбщий.Параметры.ПараметрРасшифровка = СтрокаДоков.Ссылка;
    Таб.Вывести(ДокумОбщий);
    ДокумДекада.Параметры.КолПоз = Формат(СтрокаДоков.КоличествоСтрок, "ЧЦ=10; ЧЦД=1");
    ДокумДекада.Параметры.Кол = СтрокаДоков.Вес;
    ДокумДекада.Параметры.Сумма = СтрокаДоков.СуммаДокумента;
    Таб.Присоединить(ДокумДекада);
    КонецЦикла;
    Таб.ЗакончитьГруппуСтрок();
    КонецЦикла;
    Таб.ЗакончитьГруппуСтрок();
    КонецЦикла;
    Таб.ЗакончитьГруппуСтрок();
    КонецЦикла;
    Таб.ЗакончитьГруппуСтрок();
    КонецЦикла;
    КонецЦикла;
    Таб.Показать();
  4. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Дайте скрин макета, ну и оформите процедуру вывода с тегом код, по нормальному. Ато не читабельно

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