Имя: Пароль:
1C
1С v8
Как вывести значение отдельной колонкой в Универсальном отчете
,
0 nemoxp
 
25.08.16
11:09
Платформа 8.2.19.106, УТ 10.3.2.11

Пишу свой отчет на базе универсального. Нужно чтобы каждое поле выводилось отдельной колонкой: Контрагент, Транспортная Компания, Экспедитор, Комментарий и Комментарий для склада. Почему поле Контрагент (и любое другое поле если его сделать первым в списке) выводится не в отдельной колонке а как строка группировки? Что не так? И как избавиться от пустых строк (группировок)?

Скриншот отчета (интересующее выделил красной рамочкой):
http://s017.radikal.ru/i444/1608/29/42eadf41956b.png

=================================================================
Код процедуры УстановитьНачальныеНастройки:

Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
    
    // Настройка общих параметров универсального отчета
    
    // Содержит название отчета, которое будет выводиться в шапке.
    // Тип: Строка.
    // Пример:
    // УниверсальныйОтчет.мНазваниеОтчета = "Название отчета";
    УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
    
    // Содержит признак необходимости отображения надписи и поля выбора раздела учета в форме настройки.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
    УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
    
    // Содержит имя регистра, по метаданным которого будет выполняться заполнение настроек отчета.
    // Тип: Строка.
    // Пример:
    // УниверсальныйОтчет.ИмяРегистра = "ТоварыНаСкладах";
    
    // Содержит признак необходимости вывода отрицательных значений показателей красным цветом.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
    УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
    
    // Содержит признак необходимости вывода в отчет общих итогов.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.ВыводитьОбщиеИтоги = Ложь;
    
    // Содержит признак необходимости вывода детальных записей в отчет.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;
    
    // Содержит признак необходимости отображения флага использования свойств и категорий в форме настройки.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Ложь;
    УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Истина;
    
    // Содержит признак использования свойств и категорий при заполнении настроек отчета.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ИспользоватьСвойстваИКатегории = Истина;
    
    // Содержит признак использования простой формы настроек отчета без группировок колонок.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.мРежимФормыНастройкиБезГруппировокКолонок = Истина;
    
    // Дополнительные параметры, переданные из отчета, вызвавшего расшифровку.
    // Информация, передаваемая в переменной ДополнительныеПараметры, может быть использована
    // для реализации специфичных для данного отчета параметрических настроек.
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    SV_СписокТарыБыстрогоВыбора.Тара КАК Ссылка
    |ИЗ
    |    РегистрСведений.SV_СписокТарыБыстрогоВыбора КАК SV_СписокТарыБыстрогоВыбора";
    ТаблицаТары = Запрос.Выполнить().Выгрузить();

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

        // Добавление свойств и категорий в исходный текст запроса.
        УниверсальныйОтчет.ДобавитьВТекстЗапросаСвойстваИКатегории(ТекстЗапроса);
        
    КонецЕсли;
        
    // Инициализация текста запроса построителя отчета
    УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;
        
    // Представления полей отчета.
    // Необходимо вызывать для каждого поля запроса.
    // УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>);
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Реализация", "Реализация");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ДатаПервогоПроведения",     "Дата первого проведения");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Дата",                     "Дата");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ДатаОтгрузки",            "Дата отгрузки");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Контрагент",                 "Контрагент");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ТранспортнаяКомпанния",     "Транспортная компанния");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Экспедитор",                 "Экспедитор");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоПозиций",         "Количество позиций");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КоличествоМест",             "Количество мест");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Сумма",                     "Сумма");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Вес",                     "Вес");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Объем",                     "Объем");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Комментарий",             "Комментарий");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КомментарийДляСклада",     "Комментарий для склада");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ПричинаОтклонений",         "Причина отклонений");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ОбъектЗатрат",             "Объект затрат");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("СуммаЗатрат",             "Сумма затрат");

    
    // Добавление показателей
    // Необходимо вызывать для каждого добавляемого показателя.
    // УниверсальныйОтчет.ДобавитьПоказатель(<ИмяПоказателя>, <ПредставлениеПоказателя>, <ВключенПоУмолчанию>, <Формат>, <ИмяГруппы>, <ПредставлениеГруппы>);
    УниверсальныйОтчет.ДобавитьПоказатель("КоличествоПозиций",     "Количество позиций",     Истина, "ЧЦ=15; ЧДЦ=0", , );
    УниверсальныйОтчет.ДобавитьПоказатель("КоличествоМест",     "Количество мест",         Истина, "ЧЦ=15; ЧДЦ=3", , );
    УниверсальныйОтчет.ДобавитьПоказатель("Сумма",                 "Сумма",                 Истина, "ЧЦ=15; ЧДЦ=2", , );
    УниверсальныйОтчет.ДобавитьПоказатель("Вес",                 "Вес",                     Истина, "ЧЦ=15; ЧДЦ=3", , );
    УниверсальныйОтчет.ДобавитьПоказатель("Объем",                 "Объем",                 Истина, "ЧЦ=15; ЧДЦ=4", , );
    УниверсальныйОтчет.ДобавитьПоказатель("СуммаЗатрат",         "СуммаЗатрат",             Истина, "ЧЦ=15; ЧДЦ=2", , );
    
    
    //// Создадим показатели для каждого вида тары
    н = 0;
    Для Каждого Тара Из ТаблицаТары Цикл
        н = н + 1;
        УниверсальныйОтчет.ДобавитьПоказатель("НачальныйОстатокТары"    + Строка(н), "Нач. остаток",    Истина, "ЧЦ=15; ЧДЦ=0", "Тара" + Строка(н), Тара.Ссылка.Наименование);
        УниверсальныйОтчет.ДобавитьПоказатель("ПриходТары"                + Строка(н), "Приход",             Истина, "ЧЦ=15; ЧДЦ=0", "Тара" + Строка(н), Тара.Ссылка.Наименование);
        УниверсальныйОтчет.ДобавитьПоказатель("РасходТары"                + Строка(н), "Расход",            Истина, "ЧЦ=15; ЧДЦ=0", "Тара" + Строка(н), Тара.Ссылка.Наименование);
        УниверсальныйОтчет.ДобавитьПоказатель("КонечныйОстатокТары"        + Строка(н), "Кон. остаток",     Истина, "ЧЦ=15; ЧДЦ=0", "Тара" + Строка(н), Тара.Ссылка.Наименование);
        УниверсальныйОтчет.ДобавитьПоказатель("ОборотТары"                + Строка(н), "Оборот",            Истина, "ЧЦ=15; ЧДЦ=0", "Тара" + Строка(н), Тара.Ссылка.Наименование);
    КонецЦикла;
    
    // Добавление предопределенных группировок строк отчета.
    // Необходимо вызывать для каждой добавляемой группировки строки.
    // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
    УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Реализация");
    УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ОбъектЗатрат");
    
    // Добавление предопределенных группировок колонок отчета.
    // Необходимо вызывать для каждой добавляемой группировки колонки.
    // УниверсальныйОтчет.ДобавитьИзмерениеКолонки(<ПутьКДанным>);
    
    // Добавление предоп
1 nemoxp
 
25.08.16
11:09
Запрос формируется программно, итоговый вид у него такой:
"ВЫБРАТЬ
|    РеализацияТоваровУслугТовары.Ссылка.Ссылка,
|    РеализацияТоваровУслугТовары.Ссылка.Дата,
|    РеализацияТоваровУслугТовары.Ссылка.SV_ДатаОтгрузки КАК ДатаОтгрузки,
|    РеализацияТоваровУслугТовары.Ссылка.Контрагент,
|    РеализацияТоваровУслугТовары.Ссылка.SV_ТранспортнаяКомпанния КАК ТранспортнаяКомпанния,
|    РеализацияТоваровУслугТовары.Ссылка.SV_Экспедитор КАК Экспедитор,
|    СУММА(РеализацияТоваровУслугТовары.КоличествоМест) КАК КоличествоМест,
|    СУММА(ВЫБОР
|            КОГДА РеализацияТоваровУслугТовары.Ссылка.ВалютаДокумента <> Валюты.Ссылка
|                ТОГДА РеализацияТоваровУслугТовары.Сумма * РеализацияТоваровУслугТовары.Ссылка.КурсВзаиморасчетов
|            ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
|        КОНЕЦ) КАК Сумма,
|    СУММА(РеализацияТоваровУслугТовары.Вес) КАК Вес,
|    СУММА(РеализацияТоваровУслугТовары.Объем) КАК Объем
|ПОМЕСТИТЬ тблРеализации
|ИЗ
|    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары,
|    Справочник.Валюты КАК Валюты
|ГДЕ
|    РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|    И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
|    И Валюты.Код = ""810""
|
|СГРУППИРОВАТЬ ПО
|    РеализацияТоваровУслугТовары.Ссылка.Ссылка,
|    РеализацияТоваровУслугТовары.Ссылка.Контрагент,
|    РеализацияТоваровУслугТовары.Ссылка.Дата,
|    РеализацияТоваровУслугТовары.Ссылка.SV_Экспедитор,
|    РеализацияТоваровУслугТовары.Ссылка.SV_ТранспортнаяКомпанния,
|    РеализацияТоваровУслугТовары.Ссылка.SV_ДатаОтгрузки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    SV_ДатыПервогоПроведенияДокументов.СсылкаНаДокумент,
|    SV_ДатыПервогоПроведенияДокументов.ДатаПервогоПроведения
|ПОМЕСТИТЬ тблДатыПервогоПроведения
|ИЗ
|    РегистрСведений.SV_ДатыПервогоПроведенияДокументов КАК SV_ДатыПервогоПроведенияДокументов
|ГДЕ
|    SV_ДатыПервогоПроведенияДокументов.СсылкаНаДокумент ССЫЛКА Документ.РеализацияТоваровУслуг
|    И SV_ДатыПервогоПроведенияДокументов.СсылкаНаДокумент.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    РеализацияТоваровУслугSV_ПричиныОтклонений.Ссылка,
|    РеализацияТоваровУслугSV_ПричиныОтклонений.Причина
|ПОМЕСТИТЬ тблПричиныОтклонений
|ИЗ
|    Документ.РеализацияТоваровУслуг.SV_ПричиныОтклонений КАК РеализацияТоваровУслугSV_ПричиныОтклонений
|ГДЕ
|    РеализацияТоваровУслугSV_ПричиныОтклонений.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|    И РеализацияТоваровУслугSV_ПричиныОтклонений.Ссылка.Проведен = ИСТИНА
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    РеализацияТоваровУслугТовары.Ссылка,
|    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТоваровУслугТовары.Номенклатура) КАК КоличествоПозиций
|ПОМЕСТИТЬ тблКоличествоПозиций
|ИЗ
|    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
|    РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|    И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
|    РеализацияТоваровУслугТовары.Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот) КАК КоличествоОборот
|ПОМЕСТИТЬ тблДвиженияТары1
|ИЗ
|    РегистрСведений.SV_СписокТарыБыстрогоВыбора КАК SV_СписокТарыБыстрогоВыбора
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Запись, , ) КАК ТоварыНаСкладахОстаткиИОбороты
|        ПО SV_СписокТарыБыстрогоВыбора.Тара = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
|ГДЕ
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
|    И SV_СписокТарыБыстрогоВыбора.Тара.Код = ""20100561   ""
|
|СГРУППИРОВАТЬ ПО
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор,
|    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
|    SV_СписокТарыБыстрогоВыбора.Тара
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    РеализацияТоваровУслуг.Ссылка,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот)
|ИЗ
|    РегистрСведений.SV_СписокТарыБыстрогоВыбора КАК SV_СписокТарыБыстрогоВыбора
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Запись, , ) КАК ТоварыНаСкладахОстаткиИОбороты
|            ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|            ПО ТоварыНаСкладахОстаткиИОбороты.Регистратор.Сделка = РеализацияТоваровУслуг.Сделка
|        ПО SV_СписокТарыБыстрогоВыбора.Тара = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
|ГДЕ
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
|    И ТоварыНаСкладахОстаткиИОбороты.Регистратор.Сделка ССЫЛКА Документ.ЗаказПокупателя
|    И SV_СписокТарыБыстрогоВыбора.Тара.Код = ""20100561   ""
|
|СГРУППИРОВАТЬ ПО
|    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
|    РеализацияТоваровУслуг.Ссылка,
|    SV_СписокТарыБыстрогоВыбора.Тара
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот) КАК КоличествоОборот
|ПОМЕСТИТЬ тблДвиженияТары2
|ИЗ
|    РегистрСведений.SV_СписокТарыБыстрогоВыбора КАК SV_СписокТарыБыстрогоВыбора
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Запись, , ) КАК ТоварыНаСкладахОстаткиИОбороты
|        ПО SV_СписокТарыБыстрогоВыбора.Тара = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
|ГДЕ
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
|    И SV_СписокТарыБыстрогоВыбора.Тара.Код = ""20100562   ""
|
|СГРУППИРОВАТЬ ПО
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор,
|    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
|    SV_СписокТарыБыстрогоВыбора.Тара
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    РеализацияТоваровУслуг.Ссылка,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот)
|ИЗ
|    РегистрСведений.SV_СписокТарыБыстрогоВыбора КАК SV_СписокТарыБыстрогоВыбора
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Запись, , ) КАК ТоварыНаСкладахОстаткиИОбороты
|            ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|            ПО ТоварыНаСкладахОстаткиИОбороты.Регистратор.Сделка = РеализацияТоваровУслуг.Сделка
|        ПО SV_СписокТарыБыстрогоВыбора.Тара = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
|ГДЕ
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
|    И ТоварыНаСкладахОстаткиИОбороты.Регистратор.Сделка ССЫЛКА Документ.ЗаказПокупателя
|    И SV_СписокТарыБыстрогоВыбора.Тара.Код = ""20100562   ""
|
|СГРУППИРОВАТЬ ПО
|    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
|    РеализацияТоваровУслуг.Ссылка,
|    SV_СписокТарыБыстрогоВыбора.Тара
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот) КАК КоличествоОборот
|ПОМЕСТИТЬ тблДвиженияТары3
|ИЗ
|    РегистрСведений.SV_СписокТарыБыстрогоВыбора КАК SV_СписокТарыБыстрогоВыбора
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Запись, , ) КАК ТоварыНаСкладахОстаткиИОбороты
|        ПО SV_СписокТарыБыстрогоВыбора.Тара = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
|ГДЕ
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
|    И SV_СписокТарыБыстрогоВыбора.Тара.Код = ""20100563   ""
|
|СГРУППИРОВАТЬ ПО
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор,
|    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
|    SV_СписокТарыБыстрогоВыбора.Тара
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    РеализацияТоваровУслуг.Ссылка,
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход),
|    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот)
|ИЗ
|    РегистрСведений.SV_СписокТарыБыстрогоВыбора КАК SV_СписокТарыБыстрогоВыбора
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Запись, , ) КАК ТоварыНаСкладахОстаткиИОбороты
|            ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|            ПО ТоварыНаСкладахОстаткиИОбороты.Регистратор.Сделка = РеализацияТоваровУслуг.Сделка
|        ПО SV_СписокТарыБыстрогоВыбора.Тара = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
|ГДЕ
|    ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
|    И ТоварыНаСкладахОстаткиИОбороты.Регистратор.Сделка ССЫЛКА Документ.ЗаказПокупателя
|    И SV_СписокТарыБыстрогоВыбора.Тара.Код = ""20100563   ""
|
|СГРУППИРОВАТЬ ПО
|    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
|    РеализацияТоваровУслуг.Ссылка,
|    SV_СписокТарыБыстрогоВыбора.Тара
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    тблРеализации.Ссылка КАК Реализация,
|    тблДатыПервогоПроведения.ДатаПервогоПроведения КАК ДатаПервогоПроведения,
|    тблРеализации.Дата КАК Дата,
|    тблРеализации.ДатаОтгрузки КАК ДатаОтгрузки,
|    тблРеализации.Контрагент КАК Контрагент,
|    тблРеализации.ТранспортнаяКомпанния КАК ТранспортнаяКомпанния,
|    тблРеализации.Экспедитор КАК Экспедитор,
|    тблКоличествоПозиций.КоличествоПозиций КАК КоличествоПозиций,
|    тблРеализации.КоличествоМест КАК КоличествоМест,
|    тблРеализации.Сумма КАК Сумма,
|    тблРеализации.Вес КАК Вес,
|    тблРеализации.Объем КАК Объем,
|    NULL КАК Комментарий,
|    NULL КАК КомментарийДляСклада,
|    NULL КАК ПричинаОтклонений,
|    NULL КАК ОбъектЗатрат,
|    NULL КАК СуммаЗатрат,
|    тблДвиженияТары1.КоличествоНачальныйОстаток КАК НачальныйОстатокТары1,
|    тблДвиженияТары1.КоличествоКонечныйОстаток КАК КонечныйОстатокТары1,
|    тблДвиженияТары1.КоличествоПриход КАК ПриходТары1,
|    тблДвиженияТары1.КоличествоРасход КАК РасходТары1,
|    тблДвиженияТары1.КоличествоОборот КАК ОборотТары1,
|    тблДвиженияТары2.КоличествоНачальныйОстаток КАК НачальныйОстатокТары2,
|    тблДвиженияТары2.КоличествоКонечныйОстаток КАК КонечныйОстатокТары2,
|    тблДвиженияТары2.КоличествоПриход КАК ПриходТары2,
|    тблДвиженияТары2.КоличествоРасход КАК РасходТары2,
|    тблДвиженияТары2.КоличествоОборот КАК ОборотТары2,
|    тблДвиженияТары3.КоличествоНачальныйОстаток КАК НачальныйОстатокТары3,
|    тблДвиженияТары3.КоличествоКонечныйОстаток КАК КонечныйОстатокТары3,
|    тблДвиженияТары3.КоличествоПриход КАК ПриходТары3,
|    тблДвиженияТары3.КоличествоРасход КАК РасходТары3,
|    тблДвиженияТары3.КоличествоОборот КАК ОборотТары3,
|    ПРЕДСТАВЛЕНИЕ(тблРеализации.Ссылка),
|    ПРЕДСТАВЛЕНИЕ(тблРеализации.Контрагент),
|    ПРЕДСТАВЛЕНИЕ(тблРеализации.ТранспортнаяКомпанния),
|    ПРЕДСТАВЛЕНИЕ(тблРеализации.Экспедитор)
|{ВЫБРАТЬ
|    Реализация.*,
|    ДатаПервогоПроведения,
|    Дата,
|    ДатаОтгрузки,
|    Контрагент.*,
|    ТранспортнаяКомпанния.*,
|    Экспедитор.*,
|    КоличествоПозиций,
|    КоличествоМест,
|    Сумма,
|    Вес,
|    Объем,
|    Комментарий,
|    КомментарийДляСклада,
|    ПричинаОтклонений,
|    ОбъектЗатрат,
|    СуммаЗатрат,
|    НачальныйОстатокТары1,
|    КонечныйОстатокТары1,
|    ПриходТары1,
|    РасходТары1,
|    ОборотТары1,
|    НачальныйОстатокТары2,
|    КонечныйОстатокТары2,
|    ПриходТары2,
|    РасходТары2,
|    ОборотТары2,
|    НачальныйОстатокТары3,
|    КонечныйОстатокТары3,
|    ПриходТары3,
|    РасходТары3,
|    ОборотТары3}
|ИЗ
|    тблРеализации КАК тблРеализации
|        ЛЕВОЕ СОЕДИНЕНИЕ тблДатыПервогоПроведения КАК тблДатыПервогоПроведения
|        ПО тблРеализации.Ссылка = тблДатыПервогоПроведения.СсылкаНаДокумент
|        ЛЕВОЕ СОЕДИНЕНИЕ тблКоличествоПозиций КАК тблКоличествоПозиций
|        ПО тблРеализации.Ссылка = тблКоличествоПозиций.Ссылка
|        ЛЕВОЕ СОЕДИНЕНИЕ тблДвиженияТары1 КАК тблДвиженияТары1
|        ПО тблРеализации.Ссылка = тблДвиженияТары1.Регистратор
|        ЛЕВОЕ СОЕДИНЕНИЕ тблДвиженияТары2 КАК тблДвиженияТары2
|        ПО тблРеализации.Ссылка = тблДвиженияТары2.Регистратор
|        ЛЕВОЕ СОЕДИНЕНИЕ тблДвиженияТары3 КАК тблДвиженияТары3
|        ПО тблРеализации.Ссылка = тблДвиженияТары3.Регистратор
|{ГДЕ
|    тблРеализации.Ссылка.*,
|    тблДатыПервогоПроведения.ДатаПервогоПроведения,
|    тблРеализации.Дата,
|    тблРеализации.ДатаОтгрузки,
|    тблРеализации.Контрагент.*,
|    тблРеализации.ТранспортнаяКомпанния.*,
|    тблРеализации.Экспедитор.*,
|    тблКоличествоПозиций.КоличествоПозиций,
|    тблРеализации.КоличествоМест,
|    тблРеализации.Сумма,
|    тблРеализации.Вес,
|    тблРеализации.Объем}
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    тблПричиныОтклонений.Ссылка,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    тблПричиныОтклонений.Причина,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL
|ИЗ
|    тблПричиныОтклонений КАК тблПричиныОтклонений
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    РеализацияТоваровУслуг.Ссылка,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    РеализацияТоваровУслуг.Комментарий,
|    РеализацияТоваровУслуг.КомментарийДляСклада,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL
|ИЗ
|    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
|    РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|    И РеализацияТоваровУслуг.Проведен = ИСТИНА
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    РеализацияТоваровУслугSV_СкладскиеЗатраты.Ссылка,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    РеализацияТоваровУслугSV_СкладскиеЗатраты.ОбъектЗатрат,
|    СУММА(РеализацияТоваровУслугSV_СкладскиеЗатраты.Сумма),
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL,
|    NULL
|ИЗ
|    Документ.РеализацияТоваровУслуг.SV_СкладскиеЗатраты КАК РеализацияТоваровУслугSV_СкладскиеЗатраты
|ГДЕ
|    РеализацияТоваровУслугSV_СкладскиеЗатраты.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|    И РеализацияТоваровУслугSV_СкладскиеЗатраты.Ссылка.Проведен = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
|    РеализацияТоваровУслугSV_СкладскиеЗатраты.Ссылка,
|    РеализацияТоваровУслугSV_СкладскиеЗатраты.ОбъектЗатрат
|{УПОРЯДОЧИТЬ ПО
|    Реализация.*,
|    ДатаПервогоПроведения,
|    Дата,
|    ДатаОтгрузки,
|    Контрагент.*,
|    ТранспортнаяКомпанния.*,
|    Экспедитор.*,
|    КоличествоПозиций,
|    КоличествоМест,
|    Сумма,
|    Вес,
|    Объем,
|    Комментарий,
|    КомментарийДляСклада,
|    ПричинаОтклонений,
|    ОбъектЗатрат,
|    СуммаЗатрат,
|    НачальныйОстатокТары1,
|    КонечныйОстатокТары1,
|    ПриходТары1,
|    РасходТары1,
|    ОборотТары1,
|    НачальныйОстатокТары2,
|    КонечныйОстатокТары2,
|    ПриходТары2,
|    РасходТары2,
|    ОборотТары2,
|    НачальныйОстатокТары3,
|    КонечныйОстатокТары3,
|    ПриходТары3,
|    РасходТары3,
|    ОборотТары3,
|    СсылкаПредставление}
|ИТОГИ
|    СУММА(КоличествоПозиций),
|    СУММА(КоличествоМест),
|    СУММА(Сумма),
|    СУММА(Вес),
|    СУММА(Объем),
|    СУММА(СуммаЗатрат),
|    СУММА(ПриходТары1),
|    СУММА(РасходТары1),
|    СУММА(ОборотТары1),
|    СУММА(ПриходТары2),
|    СУММА(РасходТары2),
|    СУММА(ОборотТары2),
|    СУММА(ПриходТары3),
|    СУММА(РасходТары3),
|    СУММА(ОборотТары3)
|ПО
|    ОБЩИЕ
|{ИТОГИ ПО
|    Реализация.*,
|    Контрагент.*,
|    ТранспортнаяКомпанния.*,
|    Экспедитор.*,
|    ПричинаОтклонений,
|    ОбъектЗатрат,
|    Комментарий,
|    КомментарийДляСклада}"
2 Nuobu
 
25.08.16
11:13
Пробовал играться с размещением?
3 nemoxp
 
25.08.16
11:16
И почемуто "Контрагент", "транспортная компания", "Экспедитор" - на одной строке группировки, а "Комментарий" и "Комментарий для склада" - на другой...

(2) пробовал. Если ставить "В отдельных колонках" - также. Если "С группировками" - тоже без изменений...
4 Nuobu
 
25.08.16
11:17
(3) Это положение. А я писал - размещение. Напиши туда "Контрагент.ТранспортнаяКомпания" или еще что-то в этом роде.
5 nemoxp
 
25.08.16
11:19
(4) Это ведь путь к данным? "Контрагент", "транспортная компания", "Экспедитор" - отдельно выбираются в запросе. Это разные значения.
6 nemoxp
 
25.08.16
11:20
УниверсальныйОтчет.ДобавитьДополнительноеПоле("Контрагент", "Контрагент.ТранспортнаяКомпания");

Так что ли? Второй параметр - размещение.
7 Nuobu
 
25.08.16
11:21
(6) Да, я думал так, но я ошибся.
8 nemoxp
 
25.08.16
11:33
Голову сломал - не могу понять в чем беда... Может кто-то подкинет идею? Спасибо.
9 nemoxp
 
25.08.16
12:36
АПП, хелп плиз
10 nemoxp
 
26.08.16
10:48
апп
11 nemoxp
 
26.08.16
13:42
Пустые строки и группировки удалось убрать переделав запрос: убрал в итоговой выборке объединения и переделал на левое соединение.
А вот с дополнительными полями по-прежнему беда. Не хочет первое поле в списке отображаться отдельно...
12 nemoxp
 
26.08.16
13:43
(11) Видимо для универсального отчета не вариант делать запросы, где в объедененных запросах есть NULL, он их как пустые группировки вставляет...
13 nemoxp
 
26.08.16
14:07
Кто знает, как настроить отчет, чтобы в группировках по строкам вычислялось среднее значение ресурсов, а в итогах сумма по верхнему уровню группировки?
14 John83
 
26.08.16
14:22
(13) в итогах писать через ВЫБОР КОГДА
типа
ВЫБОР КОГДА Реализация is not null тогда Среднее()
и т.д.
15 John83
 
26.08.16
14:23
(0) запрос не смотрел..
контрагента скорее всего получится вывести через Реализация товаров услуг.Контрагент и так же с остальными полями, т.е. отдельно колонку без привязки к группировке не выведет