Имя: Пароль:
1C
1С v8
Как в отчете из построителя убрать итоги по некоторым измерениям?
,
0 vasmedv
 
24.09.12
07:34
Мне нужно, чтобы можно было группировать (в настройках детализации) по измерениям Улица, дом, норматив, услуга, поставщик. Но итоги ним не отображались. А только общие итоги.
запрос:
"ВЫБРАТЬ
   |    НачисленияИПоступленияОбороты.Строение КАК Строение,
   |    НачисленияИПоступленияОбороты.Строение.Код КАК КодСтроения,
   |    НачисленияИПоступленияОбороты.УК,
   |    НачисленияИПоступленияОбороты.Услуга КАК Услуга,
   |    НачисленияИПоступленияОбороты.Строение.Округ КАК Округ,
   |    НачисленияИПоступленияОбороты.Строение.Улица КАК Улица,
   |    НачисленияИПоступленияОбороты.Строение.НомерСтроения КАК Дом,
   |    НачисленияИПоступленияОбороты.Строение.Благоустроенность КАК ГруппаКачестваЖилья,
   |    НачисленияИПоступленияОбороты.Норматив КАК Норматив,
   |    СУММА(ВЫБОР
   |            КОГДА КОНЕЦПЕРИОДА(НачисленияИПоступленияОбороты.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(&КонПериода, МЕСЯЦ)
   |                ТОГДА НачисленияИПоступленияОбороты.ОбщаяПлощадьПриход
   |        КОНЕЦ) КАК ЗанятаяОбщаяПлощадь,
   |    СУММА(ВЫБОР
   |            КОГДА КОНЕЦПЕРИОДА(НачисленияИПоступленияОбороты.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(&КонПериода, МЕСЯЦ)
   |                ТОГДА НачисленияИПоступленияОбороты.КоличествоЛицевыхПриход
   |        КОНЕЦ) КАК КоличествоЛицевых,
   |    СУММА(ВЫБОР
   |            КОГДА КОНЕЦПЕРИОДА(НачисленияИПоступленияОбороты.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(&КонПериода, МЕСЯЦ)
   |                ТОГДА НачисленияИПоступленияОбороты.КоличествоПроживающихПриход
   |        КОНЕЦ) КАК КоличествоПроживающих,
   |    НачисленияИПоступленияОбороты.Контрагент КАК Поставщик,
   |    СУММА(ВЫБОР
   |            КОГДА НАЧАЛОПЕРИОДА(НачисленияИПоступленияОбороты.Период, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&НачПериода, МЕСЯЦ)
   |                ТОГДА НачисленияИПоступленияОбороты.ВходящееСальдоПриход
   |        КОНЕЦ) КАК ВходящееСальдо,
   |    СУММА(НачисленияИПоступленияОбороты.НачисленоПриход) КАК Начислено,
   |    СУММА(НачисленияИПоступленияОбороты.НачисленоПриход - НачисленияИПоступленияОбороты.СуммаПриход) КАК Перерасчеты,
   |    СУММА(НачисленияИПоступленияОбороты.СуммаПриход) КАК СуммаНачисленийЗаПериод,
   |    СУММА(ВЫБОР
   |            КОГДА НАЧАЛОПЕРИОДА(НачисленияИПоступленияОбороты.Период, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&НачПериода, МЕСЯЦ)
   |                ТОГДА НачисленияИПоступленияОбороты.ВходящееСальдоПриход + НачисленияИПоступленияОбороты.НачисленоПриход
   |            ИНАЧЕ НачисленияИПоступленияОбороты.НачисленоПриход
   |        КОНЕЦ) КАК ИтогоКоплате,
   |    СУММА(ВЫБОР
   |            КОГДА ПоступленияИРасходыОбороты.КассыИПКПриход + ПоступленияИРасходыОбороты.БанкиПриход = 0
   |                    И ПоступленияИРасходыОбороты.СуммаПриход > 0
   |                ТОГДА ПоступленияИРасходыОбороты.СуммаПриход
   |            ИНАЧЕ ПоступленияИРасходыОбороты.КассыИПКПриход + ПоступленияИРасходыОбороты.БанкиПриход
   |        КОНЕЦ) КАК ОплатыВсего,
   |    СУММА(ПоступленияИРасходыОбороты.КассыИПКПриход) КАК КассыИПК,
   |    СУММА(ПоступленияИРасходыОбороты.БанкиПриход) КАК Банки
   |ИЗ
   |    РегистрНакопления.НачисленияИПоступления.Обороты(&начпериода, &конпериода, Регистратор, УК = &УК) КАК НачисленияИПоступленияОбороты
   |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ПоступленияИРасходы.Обороты(&начпериода, &конпериода, Регистратор, УК = &УК) КАК ПоступленияИРасходыОбороты
   |        ПО НачисленияИПоступленияОбороты.ДатаНачала = ПоступленияИРасходыОбороты.НачПериода
   |            И НачисленияИПоступленияОбороты.Строение = ПоступленияИРасходыОбороты.Строение
   |            И НачисленияИПоступленияОбороты.Услуга = ПоступленияИРасходыОбороты.Услуга
   |ГДЕ
   |    (НЕ ВЫРАЗИТЬ(ПоступленияИРасходыОбороты.Регистратор КАК Документ.ПоступленияОтНаселения) ЕСТЬ NULL )
   |    И НачисленияИПоступленияОбороты.Регистратор ССЫЛКА Документ.НачисленияНаселению
   |
   |СГРУППИРОВАТЬ ПО
   |    НачисленияИПоступленияОбороты.Строение,
   |    НачисленияИПоступленияОбороты.Строение.Код,
   |    НачисленияИПоступленияОбороты.Услуга,
   |    НачисленияИПоступленияОбороты.УК,
   |    НачисленияИПоступленияОбороты.Строение.Округ,
   |    НачисленияИПоступленияОбороты.Строение.Улица,
   |    НачисленияИПоступленияОбороты.Строение.НомерСтроения,
   |    НачисленияИПоступленияОбороты.Строение.Благоустроенность,
   |    НачисленияИПоступленияОбороты.Контрагент,
   |    НачисленияИПоступленияОбороты.Норматив
   |ИТОГИ
   |    ВЫБОР
   |        КОГДА Услуга ЕСТЬ NULL
   |                И КодСтроения ЕСТЬ NULL
   |            ТОГДА 0
   |        ИНАЧЕ МАКСИМУМ(ЗанятаяОбщаяПлощадь)
   |    КОНЕЦ КАК ЗанятаяОбщаяПлощадь,
   |    ВЫБОР
   |        КОГДА Услуга ЕСТЬ NULL
   |                И КодСтроения ЕСТЬ NULL
   |            ТОГДА 0
   |        ИНАЧЕ МАКСИМУМ(КоличествоЛицевых)
   |    КОНЕЦ КАК КоличествоЛицевых,
   |    ВЫБОР
   |        КОГДА Услуга ЕСТЬ NULL
   |                И КодСтроения ЕСТЬ NULL
   |            ТОГДА 0
   |        ИНАЧЕ МАКСИМУМ(КоличествоПроживающих)
   |    КОНЕЦ КАК КоличествоПроживающих,
   |    СУММА(ВходящееСальдо),
   |    СУММА(Начислено),
   |    СУММА(Перерасчеты),
   |    СУММА(СуммаНачисленийЗаПериод),
   |    СУММА(ИтогоКоплате),
   |    СУММА(ОплатыВсего),
   |    СУММА(КассыИПК),
   |    СУММА(Банки)
   |ПО
   |    ОБЩИЕ,
   |    Улица,
   |    Дом,
   |    ГруппаКачестваЖилья,
   |    Норматив,
   |    Строение,
   |    Услуга,
   |    Поставщик,
   |    КодСтроения";
1 1Сергей
 
24.09.12
07:39
Это не в запросе настраивается
2 Ненавижу 1С
 
гуру
24.09.12
07:41
А где построитель?
3 vasmedv
 
24.09.12
07:44
я делал ПостроительОтчетаНачисленияИоплаты.РазмещениеИтоговВСтроках=ТипРазмещенияИтогов.ТолькоПодвал;

подходит, но там в подвале есть итог, а надо чтоб его не было совсем.

например 3 строки
Подпитка ГВС    ООО "ИГТСК"    18401102    Свердловский    113033,67        122,47    -122,47
   ООО "ИГТСК": Итог            113033,67        122,47    -122,47
Подпитка ГВС: Итог                113033,67        122,47    -122,47

а надо - одна
4 vasmedv
 
24.09.12
07:45
ПостроительОтчетаНачисленияИоплаты.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;
   Настройка = ВосстановитьЗначение("НастройкаОтчетыНачисленияИоплатыНачисленияИоплаты_0c2602cf-9159-4732-89b5-f97d28eb0dd3");
   Если Настройка <> Неопределено Тогда
       ПостроительОтчетаНачисленияИоплаты.УстановитьНастройки(Настройка);
   КонецЕсли;
   ПостроительОтчетаНачисленияИоплаты.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Отдельно;
   ПостроительОтчетаНачисленияИоплаты.РазмещениеИзмеренийВКолонках=ТипРазмещенияИзмерений.Вместе;
   
   
   ПостроительОтчетаНачисленияИоплаты.РазмещениеИтоговВСтроках=ТипРазмещенияИтогов.ТолькоПодвал;
   ЭлементыФормы.Результат.Очистить();
   ПостроительОтчетаНачисленияИоплаты.Параметры.Вставить("конпериода", конпериода);
   ПостроительОтчетаНачисленияИоплаты.Параметры.Вставить("начпериода", начпериода);
   ПостроительОтчетаНачисленияИоплаты.Параметры.Вставить("УК", УК);
   ПостроительОтчетаНачисленияИоплаты.Выполнить();
   
//    достПоле1=ПостроительОтчетаНачисленияИоплаты.ДоступныеПоля.Найти("Улица");
//    достПоле1.измерение=Истина;
   //ПостроительОтчетаНачисленияИоплаты.ИсточникДанных.Колонки("Улица").измерение=истина;
   
   // ПостроительОтчетаНачисленияИоплаты.ИзмеренияСтроки.Вставить("Улица",достПоле1,,,,1);

   //ПостроительОтчетаНачисленияИоплаты.ИзмеренияСтроки.Добавить(достПоле1,"Улица");
    // ПостроительОтчета.ИсточникДанных
   //    ПостроительОтчетаНачисленияИоплаты.ИзмеренияСтроки.Добавить(
//        ПостроительОтчетаНачисленияИоплаты.ДоступныеПоля.Найти("Дом"));

   ПостроительОтчетаНачисленияИоплаты.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);
   ПостроительОтчетаНачисленияИоплаты.Вывести(ЭлементыФормы.Результат);
5 vasmedv
 
24.09.12
07:50
(1) А где это настраивается?
6 vasmedv
 
24.09.12
08:56
кто-нибудь может помочь? *HELP*
7 Ненавижу 1С
 
гуру
24.09.12
08:57
я в тексте запроса запаха построителя не улавливаю
8 Simpson
 
24.09.12
09:20
(0) В построителе никак. Используй силу, т.е. СКД - там можно
9 Simpson
 
24.09.12
09:22
+8 А хотя не уверен, что можно будет только общие вывести.
10 vasmedv
 
24.09.12
09:25
спасибо попробую. :)
11 х86
 
24.09.12
09:41
(8)всё как, уметь нада
(0)макет правь
12 vasmedv
 
24.09.12
11:14
(11)Может вопрос глупый, а где в построителе макет?
13 vasmedv
 
24.09.12
11:49
а что в макете править?
14 х86
 
24.09.12
17:30
Процедура РихтоватьМакет() Экспорт

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

КонецПроцедуры
15 Simpson
 
24.09.12
22:51
(14)  зашибись отчет в 1000 строк так обходить. Раньше в Кросс-таблице так делали, потом откзались
16 х86
 
25.09.12
09:27
(15)макет правится один раз перед выполнить
о каком обходе 100500 строк ты говоришь я не понимаю
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн