Как в универсальном отчете отключить вывод итогов по некоторым полям? В универсальном отчете понадобилось отключить вывод итого по некоторым полям, но в универсальном отчете, созданном через построитель, к сожалению это невозможно
Многие скажут - что давно пора использовать СКД и там все есть! - согласен на все 100% но есть клиенты у которых стоит программа УТ с 2012 года, их все устраивает и ничего не хотят менять, кроме отчетов. Вот один мой знакомы попросил отключить итоги в универсальном отчете - сделал это добавив следующий код в процедуру формирования отчета:
Код 1C v 8.х
Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт
Если НЕ ЗначениеЗаполнено( УниверсальныйОтчет. ДатаКон) Тогда
УниверсальныйОтчет. ДатаКон = ТекущаяДата( ) ;
КонецЕсли ;
УниверсальныйОтчет. ПостроительОтчета. Параметры. Вставить( "ДатаОтчета" , КонецДня( УниверсальныйОтчет. ДатаКон) ) ;
УниверсальныйОтчет. ПостроительОтчета. Параметры. Вставить( "ДатаНеделяНазад" , УниверсальныйОтчет. ДатаКон- ( 86400 * 7 ) ) ;
УниверсальныйОтчет. СформироватьОтчет( ТабличныйДокумент) ;
Для а = 11 по ТабличныйДокумент. ВысотаТаблицы Цикл
текстЯчейка = ТабличныйДокумент. Область( "R" + а+ "C2" ) . Текст;
Если Строка( ТабличныйДокумент. Область( "R" + а+ "C2" ) . ЦветФона) = "стиль: Фон кнопки" Тогда
ТабличныйДокумент. Область( "R" + а+ "C7" ) . Текст= "" ;
ТабличныйДокумент. Область( "R" + а+ "C11" ) . Текст= "" ;
ТабличныйДокумент. Область( "R" + а+ "C8" ) . Текст= "" ;
ТабличныйДокумент. Область( "R" + а+ "C9" ) . Текст= "" ;
ТабличныйДокумент. Область( "R" + а+ "C10" ) . Текст= "" ;
КонецЕсли ;
КонецЦикла ;
КонецПроцедуры
Для наглядности покажу на примере:
в выделенных полях добавленным кодом были стерты итоги
Категория:
Прочие вопросы Как получить остаток по счету? Код 1C v 8.х Запрос = Новый Запрос;
Запрос. Текст = "
|ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1,
| ХозрасчетныйОстатки.Организация,
| ХозрасчетныйОстатки.СуммаОстаток,
| ХозрасчетныйОстатки.КоличествоОстаток
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , ) КАК ХозрасчетныйОстатки" ;
Запрос. УстановитьПараметр( "Период" , КонецДня( ДатаОтчета) ) ;
Запрос. УстановитьПараметр( "Счет" , ПланыСчетов. Хозрасчетный. ТоварыНаСкладах) ;
РезультатЗапроса = Запрос. Выполнить( ) ;
Категория:
Регистры бухгалтерии Как программно Установить значения Параметров для отчета СКД? Например у отчет есть следующие параметры:
Программно их задать можно следующим образом:
Код 1C v 8.х
КомпоновщикНастроек. Настройки. ПараметрыДанных. Элементы[0 ]. Значение = НачПериода;
КомпоновщикНастроек. Настройки. ПараметрыДанных. Элементы[1 ]. Значение = КонПериода;
КомпоновщикНастроек. Настройки. ПараметрыДанных. Элементы[2 ]. Значение = ВыбНалог;
Есть параметр, предопределенное при открытии отчета каждый раз. Как его правильно указать в СКД?
Можно делать так:
Код 1C v 8.х Процедура ПриОткрытии()
ПараметрДанных= КомпоновщикНастроек. Настройки. ПараметрыДанных. Элементы. Найти( "Товар" ) ;
ПараметрДанных. Значение = Справочники. Номенклатура. НайтиПоНаименованию( "Гвозди" ) ;
ПараметрДанных. Использование= Истина ;
КонецПроцедуры
или
Код 1C v 8.х
СписТочек = Новый СписокЗначений;
СписТочек. Добавить( БизнесПроцессы. м_Документооборот. ТочкиМаршрута. ОПФПД) ;
СписТочек. Добавить( БизнесПроцессы. м_Документооборот. ТочкиМаршрута. ОСФПД) ;
ПараметрСКД = КомпоновщикНастроек. Настройки. ПараметрыДанных. Элементы. Найти( "ТочкаМаршрута" ) ;
ПараметрСКД. Значение = СписТочек;
ПараметрСКД. Использование = ИСТИНА ;
Для УП
Код 1C v 8.2 УП &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьПривилегированныйРежим( Истина ) ;
СтандартнаяОбработка = Ложь ;
ДатаОтчета = ТекушаяДата( ) ;
3 начениеПараметра = Отчет. КомпоновщикНастроек. Настройки. ПараметрыДанных. Найти3 начениеПараметра( Новый ПараметрКомпоновкиДанных( "ДатаНач" ) ) ;
Если НЕ ЗначениеПараметра = Неопределено Тогда
ЗначениеПараметра. Использование = Истина ;
ЗначениеПараметра. Значение = КонецДня( ДатаОтчета) - ( 7 * 86400 ) ;
КонецЕсли ;
3 начениеПараметра = Отчет. КомпоновщикНастроек. Настройки. ПараметрыДанных. Найти3 начениеПараметра( Новый ПараметрКомпоновкиДанных( "Свойство1" ) ) ;
Если НЕ ЗначениеПараметра = Неопределено Тогда
ЗначениеПараметра. Использование = Истина ;
3 начениеПараметра = Справочники. 3 наченияСвойствОбъектов. НайтиПоКоду( "000000004" ) ;
КонецЕсли ;
КонецПроцедуры
Категория:
Схема Компоновки Данных Как заполнить диаграмму данными? Код 1C v 8.х Диаграмма = ЭлементыФормы. Диаграмма;
Диаграмма. КоличествоСерий = 0 ;
Диаграмма. КоличествоТочек = 0 ;
Диаграмма. МаксимумСерий = МаксимумСерий. Ограничено;
Диаграмма. МаксимумСерийКоличество = 7 ;
Диаграмма. ВидПодписей = ВидПодписейКДиаграмме. Процент;
Диаграмма. ОбластьЗаголовка. Текст = "Обороты номенклатуры" ;
Запрос = Новый Запрос; Запрос. Текст = "ВЫБРАТЬ
| ПродажиКомпанииОбороты.Номенклатура,
| СУММА(ПродажиКомпанииОбороты.КоличествоОборот) КАК КоличествоОборот
|ИЗ
| РегистрНакопления.Продажи.Обороты(, , , ) КАК ПродажиКомпанииОбороты
|СГРУППИРОВАТЬ ПО
| ПродажиКомпанииОбороты.Номенклатура" ;
Результат = Запрос. Выполнить( ) ;
Диаграмма. Обновление = Ложь ;
Диаграмма. КоличествоТочек = 1 ;
Диаграмма. Точки[0 ]. Текст = "Количество" ;
Выборка = Результат. Выбрать( ) ;
Пока Выборка. Следующий( ) Цикл
КоличествоСерий = Диаграмма. Серии. Количество( ) ;
Диаграмма. КоличествоСерий = КоличествоСерий + 1 ;
Диаграмма. Серии[КоличествоСерий]. Текст = Выборка. Номенклатура;
Диаграмма. УстановитьЗначение( 0 , КоличествоСерий, Выборка. КоличествоОборот) ;
КонецЦикла ;
Диаграмма. Обновление = Истина ;
Код 1C v 7.x
Процедура ПостроитьДиаграмму(Диагр)
КолСерий= 0 ;
Спр. ВыбратьЭлементы( ) ;
Пока Спр. ПолучитьЭлемент( ) = 1 Цикл
Если Спр. ЭтоГруппа( ) = 0 Тогда
КолСерий= КолСерий+ 1 ;
КонецЕсли ;
КонецЦикла ;
Диагр. КоличествоСерий( КолСерий) ;
Диагр. КоличествоТочек( 1 ) ;
БИ= СоздатьОбъект( "БухгалтерскиеИтоги" ) ;
БИ. Рассчитать( ДатаОтчета, ДатаОтчета) ;
номер= 1 ;
Спр. ВыбратьЭлементы( ) ;
Пока Спр. ПолучитьЭлемент( ) = 1 Цикл
Если Спр. ЭтоГруппа( ) = 0 Тогда
Диагр. УстановитьИмяСерии( Номер, Спр. Наименование) ;
Диагр. УстановитьЗначение( 1 , номер, БИ. СКД( "10" , "К" , , Спр. ТекущийЭлемент( ) ) ) ;
номер= номер+ 1 ;
КонецЕсли ;
КонецЦикла ;
КонецПроцедуры
Код 1C v 7.x
Процедура СформироватьДиаграмму(Диаграмма1)
Диаграмма1 . Обновление( 0 ) ;
Диаграмма1 . Заголовок = "Поступления от покупателей" ;
Диаграмма1 . УстановитьИмяСерии( 1 , "Рубли" ) ;
Диаграмма1 . АвтоУстановкаИменТочек( 1 ) ;
БухИт = СоздатьОбъект( "БухгалтерскиеИтоги" ) ;
Бухит. ВыполнитьЗапрос( НачКвартала( РабочаяДата( ) ) ,
КонКвартала( РабочаяДата( ) ) , "60.1" , , , 1 , "Неделя" , "С" ) ;
БухИт. ВыбратьПериоды( ) ;
А = 1 ;
Пока БухИт. ПолучитьПериод( ) = 1 Цикл
Диаграмма1 . УстановитьЗначение( А, 1 , БухИт. ДО( ) ) ;
А = А + 1 ;
КонецЦикла ;
Диаграмма1 . Обновление( 1 ) ;
КонецПроцедуры
Категория:
Диаграмма