8.х Отбор в универсальном отчете

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

  1. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Добрый день!у меня есть отчет, созданный на основе универсального отчета. Я хочу добавить туда еще одно поля отбора. для этого в коде добавила строку

    УниверсальныйОтчет.ДобавитьОтбор("ВидТехники");

    Но когда смотрю какие поля попали в построитель отчета, там моего отбора нету(((
  2. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    покажи код
  3. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Код запроса выложить? у меня не получается. могу сказать что поле ВидТехники имеет тип строковой, и когда построитель отчета пытается добавить его к себе в отбор, то выводи ошибку - неверно зада параметр №1

    ДобавляемыйЭлементОтбора = ПостроительОтчета.Отбор.Добавить(ПутьКДанным);
  4. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    А в измерениях самого запроса есть "ВидТехники"?
  5. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Вид техники это реквизит? Если да, то отбор должен добавляться так:
    Код:
    УниверсальныйОтчет.ДобауитьОтбор("Номенклатура.ВидТехники")
    
  6. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Вид техники - это реквизит документа. Отчет по документу как раз таки,у которого может быть 2 разных значения Вида техники, в запросе Вид техники не измерение, это реквизит
  7. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    покажи код построителя
  8. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Код:
    
    ТекстЗапроса = 
    "ВЫБРАТЬ
    |	СобытияРемонтовИзделий.РемонтИзделий КАК РемонтИзделий,
    |	СобытияРемонтовИзделий.РемонтИзделий.ИзделиеНаРемонте КАК ИзделиеНаРемонте,
    |	СобытияРемонтовИзделий.Событие КАК ТекущееСостояние,
    |	СобытияРемонтовИзделий.РемонтИзделий.Дата КАК ДатаСобытия,
    |	СобытияРемонтовИзделий.РемонтИзделий.ИзделиеНаРемонте КАК Количество,
    |	РемонтИзделийРабота.Сумма КАК СуммаРаботы,
    |	РемонтИзделияЗапчасти.Сумма КАК СуммаЗапчасти,
    |	РемонтИзделийРабота.Сумма + РемонтИзделияЗапчасти.Сумма КАК ОбщаяСумма,
    |	СобытияРемонтовИзделий.РемонтИзделий.ВидТехники КАК ВидТехники
    |{ВЫБРАТЬ
    |	РемонтИзделий.*,
    |	ИзделиеНаРемонте.*,
    |	ТекущееСостояние.*,
    |	ДатаСобытия,
    |	Количество,
    |	СуммаРаботы,
    |	СуммаЗапчасти,
    |	ОбщаяСумма,
    |	ВидТехники}
    |ИЗ
    |	РегистрСведений.СобытияРемонтовИзделий КАК СобытияРемонтовИзделий
    |		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |			СУММА(РемонтИзделийЗапчасти.Сумма) КАК Сумма,
    |			РемонтИзделийЗапчасти.Ссылка КАК Ссылка,
    |			ПРЕДСТАВЛЕНИЕ(РемонтИзделийЗапчасти.Ссылка) КАК СсылкаПредставление
    |		ИЗ
    |			Документ.РемонтИзделий.Запчасти КАК РемонтИзделийЗапчасти
    |		
    |		СГРУППИРОВАТЬ ПО
    |			РемонтИзделийЗапчасти.Ссылка) КАК РемонтИзделияЗапчасти
    |		ПО СобытияРемонтовИзделий.РемонтИзделий.Ссылка = РемонтИзделияЗапчасти.Ссылка
    |		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |			СУММА(РемонтИзделийРабота.Сумма) КАК Сумма,
    |			РемонтИзделийРабота.Ссылка КАК Ссылка,
    |			ПРЕДСТАВЛЕНИЕ(РемонтИзделийРабота.Ссылка) КАК СсылкаПредставление
    |		ИЗ
    |			Документ.РемонтИзделий.Работа КАК РемонтИзделийРабота
    |		
    |		СГРУППИРОВАТЬ ПО
    |			РемонтИзделийРабота.Ссылка) КАК РемонтИзделийРабота
    |		ПО СобытияРемонтовИзделий.РемонтИзделий.Ссылка = РемонтИзделийРабота.Ссылка
    |ГДЕ
    |	СобытияРемонтовИзделий.Период МЕЖДУ &ДатаНачала И &ДатаКонца
    |{ГДЕ
    |	СобытияРемонтовИзделий.РемонтИзделий.*,
    |	СобытияРемонтовИзделий.РемонтИзделий.ИзделиеНаРемонте.*,
    |	СобытияРемонтовИзделий.Событие.* КАК ТекущееСостояние,
    |	СобытияРемонтовИзделий.РемонтИзделий.ВидТехники}
    |{УПОРЯДОЧИТЬ ПО
    |	РемонтИзделий.*,
    |	ИзделиеНаРемонте.*,
    |	ТекущееСостояние.*,
    |	ДатаСобытия,
    |	ВидТехники}
    |ИТОГИ
    |	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Количество),
    |	СУММА(СуммаРаботы),
    |	СУММА(СуммаЗапчасти)
    |ПО
    |	ОБЩИЕ,
    |	ВидТехники
    |{ИТОГИ ПО
    |	ВидТехники,
    |	РемонтИзделий.*,
    |	ИзделиеНаРемонте.*,
    |	ТекущееСостояние.*,
    |	ДатаСобытия}";
    
    // Инициализация текста запроса построителя отчета
    УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;
    
    // Представления полей отчета.
    // Необходимо вызывать для каждого поля запроса.
    // УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>);
    //УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ВидТехники", "Вид техники");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("РемонтИзделий", "Ремонт изделий");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ИзделиеНаРемонте", "Изделие на ремонте");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ТекущееСостояние", "Текущее состояние");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ДатаСобытия", "Дата события");
    
    
    // Добавление показателей
    // Необходимо вызывать для каждого добавляемого показателя.
    // УниверсальныйОтчет.ДобавитьПоказатель(<ИмяПоказателя>, <ПредставлениеПоказателя>, <ВключенПоУмолчанию>, <Формат>, <ИмяГруппы>, <ПредставлениеГруппы>);
    //УниверсальныйОтчет.ДобавитьПоказатель("Установлено", "Установлено", Истина, "ЧЦ=15; ЧДЦ=2", , );
    УниверсальныйОтчет.ДобавитьПоказатель("Количество", "Количество", Истина, "ЧЦ=15; ЧДЦ=2", , );
    УниверсальныйОтчет.ДобавитьПоказатель("СуммаЗапчасти", "Сумма запчастей", Истина, "ЧЦ=15; ЧДЦ=2", , );
    УниверсальныйОтчет.ДобавитьПоказатель("СуммаРаботы", "Сумма работ", Истина, "ЧЦ=15; ЧДЦ=2", , );
    УниверсальныйОтчет.ДобавитьПоказатель("ОбщаяСумма", "Общая сумма", Истина, "ЧЦ=15; ЧДЦ=2", , );
    
    // Добавление предопределенных группировок строк отчета.
    // Необходимо вызывать для каждой добавляемой группировки строки.
    // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
    //УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ВидТехники");
    УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ТекущееСостояние");
    УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ИзделиеНаРемонте");
    
    // Добавление предопределенных группировок колонок отчета.
    // Необходимо вызывать для каждой добавляемой группировки колонки.
    // УниверсальныйОтчет.ДобавитьИзмерениеКолонки(<ПутьКДанным>);
    
    // Добавление предопределенных отборов отчета.
    // Необходимо вызывать для каждого добавляемого отбора.
    // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>);
    УниверсальныйОтчет.ДобавитьОтбор("ВидТехники");
    УниверсальныйОтчет.ДобавитьОтбор("РемонтИзделий");
    УниверсальныйОтчет.ДобавитьОтбор("ИзделиеНаРемонте");
    УниверсальныйОтчет.ДобавитьОтбор("ТекущееСостояние");
    УниверсальныйОтчет.ДобавитьОтбор("ДатаСобытия");
    
    
  9. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    Так видТехники это реквизит "РемонтИзделий", не получиться в отбор добавить
  10. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Почему?
  11. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    а в отборе ремонт изделий нельзя раскрыть и выбрать видТехники
  12. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Ой, точно же))))вот вечно я нерациональные пути решения ищу....тогда у меня еще вопрос один назрел. у меня этот реквизит строкой. соответственно в отборе не будет никакого списка, из которого я смогу выбрать нужное мне значение для отбора. вот можно ли как-то добавить в построитель отчета таб.значений, по которой и будет производиться отбор?

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