8.х Не отображаются поля универсальный отчет.

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем ViCC, 25 фев 2016.

  1. TopicStarter Overlay
    ViCC
    Offline

    ViCC

    Регистрация:
    23 янв 2015
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Добрый день. 1С 8.2, УПП 1.3, обычное приложение.
    Почему-то не отображаются поля, добавленные в УниверсальныйОтчет.мСтруктураПредставлениеПолей, по этим полям нельзя сделать группировку, хотя если их в настройках отчета добавить в дополнительные поля, они отобразятся нормально. Подскажите, кто знает, а чем может быть дело?
    Код:
    Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
        УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
        УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
        УниверсальныйОтчет.ИмяРегистра = "";
        УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
        УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;
        УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Ложь;
        УниверсальныйОтчет.мРежимФормыНастройкиБезГруппировокКолонок = Истина;
       
        ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                       |    ЕСТЬNULL(ТабПриход.Склад, ТабРасход.Склад) КАК Склад,
                       |    ЕСТЬNULL(ТабПриход.Номенклатура, ТабРасход.Номенклатура) КАК Номенклатура,
                       |    ЕСТЬNULL(ТабПриход.ХарактеристикаНоменклатуры, ТабРасход.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатуры,
                       |    ЕСТЬNULL(ТабПриход.Качество, ТабРасход.Качество) КАК Качество,
                       |    ЦеныНоменклатурыСрезПоследних.Цена,
                       |    СУММА(ЕСТЬNULL(ТабПриход.Количество, 0)) КАК Приход,
                       |    СУММА(ЕСТЬNULL(ТабПриход.Количество, 0) * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)) КАК СуммаПриход,
                       |    СУММА(ЕСТЬNULL(ТабРасход.Количество, 0)) КАК Расход,
                       |    СУММА(ЕСТЬNULL(ТабРасход.Количество, 0) * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)) КАК СуммаРасход
                       |{ВЫБРАТЬ
                       |    Склад.*,
                       |    Номенклатура.*,
                       |    ХарактеристикаНоменклатуры.*,
                       |    Качество.*,
                       |    Цена,
                       |    Приход,
                       |    СуммаПриход,
                       |    Расход,
                       |    СуммаРасход}
                       |ИЗ
                       |    (ВЫБРАТЬ
                       |        ТоварыНаСкладах.Склад КАК Склад,
                       |        ТоварыНаСкладах.Номенклатура КАК Номенклатура,
                       |        ТоварыНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                       |        ТоварыНаСкладах.Качество КАК Качество,
                       |        СУММА(ТоварыНаСкладах.Количество) КАК Количество
                       |    ИЗ
                       |        РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
                       |    ГДЕ
                       |        ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПриходныйОрдерНаТовары
                       |        И ТоварыНаСкладах.ВидДвижения = &ВидДвиженияПриход
                       |        И ТоварыНаСкладах.Период >= &ДатаНачала
                       |        И ТоварыНаСкладах.Период <= &ДатаКонца
                       |   
                       |    СГРУППИРОВАТЬ ПО
                       |        ТоварыНаСкладах.Склад,
                       |        ТоварыНаСкладах.Номенклатура,
                       |        ТоварыНаСкладах.ХарактеристикаНоменклатуры,
                       |        ТоварыНаСкладах.Качество) КАК ТабПриход
                       |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                       |            ТоварыНаСкладах.Склад КАК Склад,
                       |            ТоварыНаСкладах.Номенклатура КАК Номенклатура,
                       |            ТоварыНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                       |            ТоварыНаСкладах.Качество КАК Качество,
                       |            СУММА(ТоварыНаСкладах.Количество) КАК Количество
                       |        ИЗ
                       |            РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
                       |        ГДЕ
                       |            ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ТребованиеНакладная
                       |            И ТоварыНаСкладах.ВидДвижения = &ВидДвиженияРасход
                       |            И ТоварыНаСкладах.Период >= &ДатаНачала
                       |            И ТоварыНаСкладах.Период <= &ДатаКонца
                       |       
                       |        СГРУППИРОВАТЬ ПО
                       |            ТоварыНаСкладах.Склад,
                       |            ТоварыНаСкладах.Номенклатура,
                       |            ТоварыНаСкладах.ХарактеристикаНоменклатуры,
                       |            ТоварыНаСкладах.Качество) КАК ТабРасход
                       |        ПО ТабПриход.Склад = ТабРасход.Склад
                       |            И ТабПриход.Номенклатура = ТабРасход.Номенклатура
                       |            И ТабПриход.ХарактеристикаНоменклатуры = ТабРасход.ХарактеристикаНоменклатуры
                       |            И ТабПриход.Качество = ТабРасход.Качество
                       |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
                       |        ПО (ЕСТЬNULL(ТабПриход.Номенклатура, ТабРасход.Номенклатура) = ЦеныНоменклатурыСрезПоследних.Номенклатура)
                       |            И (ЕСТЬNULL(ТабПриход.ХарактеристикаНоменклатуры, ТабРасход.ХарактеристикаНоменклатуры) = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры)
                       |{ГДЕ
                       |    (ЕСТЬNULL(ТабПриход.Склад, ТабРасход.Склад)).* КАК Склад,
                       |    (ЕСТЬNULL(ТабПриход.Номенклатура, ТабРасход.Номенклатура)).* КАК Номенклатура,
                       |    (ЕСТЬNULL(ТабПриход.ХарактеристикаНоменклатуры, ТабРасход.ХарактеристикаНоменклатуры)).* КАК ХарактеристикаНоменклатуры}
                       |
                       |СГРУППИРОВАТЬ ПО
                       |    ЦеныНоменклатурыСрезПоследних.Цена,
                       |    ЕСТЬNULL(ТабПриход.Номенклатура, ТабРасход.Номенклатура),
                       |    ЕСТЬNULL(ТабПриход.ХарактеристикаНоменклатуры, ТабРасход.ХарактеристикаНоменклатуры),
                       |    ЕСТЬNULL(ТабПриход.Качество, ТабРасход.Качество),
                       |    ЕСТЬNULL(ТабПриход.Склад, ТабРасход.Склад)
                       |
                       |УПОРЯДОЧИТЬ ПО
                       |    Склад,
                       |    Номенклатура,
                       |    ХарактеристикаНоменклатуры
                       |{УПОРЯДОЧИТЬ ПО
                       |    Склад.*,
                       |    Номенклатура.*,
                       |    ХарактеристикаНоменклатуры.*}
                       |ИТОГИ
                       |    СУММА(Приход),
                       |    СУММА(СуммаПриход),
                       |    СУММА(Расход),
                       |    СУММА(СуммаРасход)
                       |ПО
                       |    ОБЩИЕ
                       |{ИТОГИ ПО
                       |    Приход,
                       |    СуммаПриход,
                       |    Расход,
                       |    СуммаРасход}
                       |АВТОУПОРЯДОЧИВАНИЕ";
                      
           
       
        УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;
       
        // Представления полей отчета.
        // Необходимо вызывать для каждого поля запроса.
        // УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>);
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Склад",                       "Склад");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Номенклатура",                  "Номенклатура");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ХарактеристикаНоменклатуры",     "Характеристика номенклатуры");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Цена",                           "Цена");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Качество",                       "Качество");
       
        // Добавление показателей
        // Необходимо вызывать для каждого добавляемого показателя.
        // УниверсальныйОтчет.ДобавитьПоказатель(<ИмяПоказателя>, <ПредставлениеПоказателя>, <ВключенПоУмолчанию>, <Формат>, <ИмяГруппы>, <ПредставлениеГруппы>);
       
        УниверсальныйОтчет.ДобавитьПоказатель("Приход", "Количество", Истина, "ЧЦ=15; ЧДЦ=3", "Приход", "Приход");
        УниверсальныйОтчет.ДобавитьПоказатель("Расход", "Количество", Истина, "ЧЦ=15; ЧДЦ=3", "Расход", "Расход");
        УниверсальныйОтчет.ДобавитьПоказатель("СуммаПриход", "Цена", Истина, "ЧЦ=15; ЧДЦ=2", "Приход", "Приход");
        УниверсальныйОтчет.ДобавитьПоказатель("СуммаРасход", "Цена", Истина, "ЧЦ=15; ЧДЦ=2", "Расход", "Расход");
       
       
        // Добавление предопределенных группировок строк отчета.
        // Необходимо вызывать для каждой добавляемой группировки строки.
        // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
        //УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Склад");
       
        // Добавление предопределенных отборов отчета.
        // Необходимо вызывать для каждого добавляемого отбора.
        // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>);
        УниверсальныйОтчет.ДобавитьОтбор("Склад");
        УниверсальныйОтчет.ДобавитьОтбор("Номенклатура");
       
        // Установка связи подчиненных и родительских полей
        // УниверсальныйОтчет.УстановитьСвязьПолей(<ПутьКДанным>, <ПутьКДанным>);
       
        // Установка представлений полей
        // УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета);
        УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета);
       
        // Установка типов значений свойств в отборах отчета
        УниверсальныйОтчет.УстановитьТипыЗначенийСвойствДляОтбора();
       
        // Заполнение начальных настроек универсального отчета
        УниверсальныйОтчет.УстановитьНачальныеНастройки(Ложь);
       
        // Добавление дополнительных полей
        // Необходимо вызывать для каждого добавляемого дополнительного поля.
        // УниверсальныйОтчет.ДобавитьДополнительноеПоле(<ПутьКДанным>);
       
    КонецПроцедуры // УстановитьНачальныеНастройки()

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