Создание настроек компоновки данных из встроенного языка
В данной статье показаны примеры того, каким образом можно добавлять некоторые элементы настроек компоновки данных при помощи встроенного языка.
Добавление выбранного поля
Пример добавления выбранного поля:
// Добавим выбранное поле для вывода в отчет. ВыбранноеПоле = Настройки . Выбор . Элементы . Добавить ( Тип ( «ВыбранноеПолеКомпоновкиДанных» ) ) ; ВыбранноеПоле . Поле = Новый ПолеКомпоновкиДанных ( «КоличествоОстаток» ) ;
В данном примере в список выбранных полей было добавлено поле КоличествоОстаток .
Для указания взаимного расположения полей в список выбранных полей можно добавить группу выбранных полей и поместить выбранные поля в нее.
В данном примере создана группа выбранных полей, в нее помещено два поля. Группе указано, каким образом располагать поля, вложенные в нее. Для поля Склад.Код установлен заголовок.
Добавление отбора
Пример добавления элемента отбора:
В данном примере в отчет добавлен элемент отбора с видом сравнения «В Группе».
В отбор можно добавлять сложные условия. Делается это при помощи групп элементов отбора.
Пример добавления группового условия:
В данном примере добавлено условие КоличествоОстаток >= 100 И КоличествоОстаток
Добавление упорядочивания
Пример добавления упорядочивания:
В данном примере показано добавление упорядочивания по полю КоличествоОстаток в убывающем порядке.
Установка параметров вывода
Пример установки параметров вывода:
В данном примере отчету установлен макет оформления и указано, что выводить отбор в результат отчета не нужно.
Добавление условного оформления
Пример добавления условного оформления:
В данном примере добавлено оформление на поле КоличествоОстаток . Поле будет отображаться красным цветом, в случае если его значение больше или равно 100 и меньше или равно 200.
Добавление группировки
Пример добавление группировки:
// Добавим новую группировку в структуру отчета. Группировка = Настройки . Структура . Добавить ( Тип ( «ГруппировкаКомпоновкиДанных» ) ) ;
// Укажем, по каким полям нужно группировать. ПолеГруппировки = Группировка . ПоляГруппировки . Элементы . Добавить ( Тип ( «ПолеГруппировкиКомпоновкиДанных» ) ) ; ПолеГруппировки . Поле = Новый ПолеКомпоновкиДанных ( «Номенклатура» ) ;
В данном примере добавлена группировка по полю Номенклатура с иерархией.
Заметим, что группировке нужно указать, какие поля в ней нужно выводить, как упорядочивать группировку. Если нужно, чтобы состав выводимых полей и полей упорядочивания определялся системой самостоятельно на основании полей группировки и вышестоящих группировок и отчета, то нужно добавить в выбранные поля и поля упорядочивания авто поля.
Пример добавления автополей в порядок и выбранные поля.
// Укажем, что поля, которые нужно выводить в группировке, система должна определять самостоятельно. Группировка . Выбор . Элементы . Добавить ( Тип ( «АвтоВыбранноеПолеКомпоновкиДанных» ) ) ;
// Укажем, что системе необходимо самостоятельно определять порядок, в котором выводить группировку. Группировка . Порядок . Элементы . Добавить ( Тип ( «АвтоЭлементПорядкаКомпоновкиДанных» ) ) ;
Добавление детальных записей
Детальные записи являются группировкой, в которой отсутствуют поля группировки.
Пример добавления детальных записей, вложенных в группировку:
// Добавим в отчет детальные записи, вложенные в группировку. ДетальныеЗаписи = Группировка . Структура . Добавить ( Тип ( «ГруппировкаКомпоновкиДанных» ) ) ;
// Укажем, что поля, которые нужно выводить в детальных записях, система должна определять самостоятельно. ДетальныеЗаписи . Выбор . Элементы . Добавить ( Тип ( «АвтоВыбранноеПолеКомпоновкиДанных» ) ) ;
// Укажем, что системе необходимо самостоятельно определять порядок, в котором выводить детальные записи. ДетальныеЗаписи . Порядок . Элементы . Добавить ( Тип ( «АвтоЭлементПорядкаКомпоновкиДанных» ) ) ;
В данном примере детальные записи добавлены в группировку, в детальные записи добавлены автополя выбора и порядка, указано условное оформление, которое будет действовать в этих детальных записях.
Добавление диаграммы
Пример добавления диаграммы:
В данном примере в отчет добавлена диаграмма, в диаграмму добавлена серия, в серии указано, каким образом ее нужно упорядочивать.
Добавление таблицы
Пример добавления таблицы:
В данном примере в отчет добавлена таблица, в таблице в строках выводится группировка по полю Номенклатура , а в колонках выводится группировка по полю Склад .
Пример
Приведенный в данной статье пример можно посмотреть во внешнем отчете ПримерПрограммнойРаботыСНастройкамиКомпоновкиДанных, который можно найти в каталоге C:\Its\EXE\ExtReps\Samples8\
Вы можете установить их на компьютер прямо сейчас
Данный внешний отчет работает на конфигурации «Примеры 8.1».
Источник
Как программно Установить значения Параметров для отчета СКД?
Например у отчет есть следующие параметры:
Программно их задать можно следующим образом: Код 1C v 8.х
Есть параметр, предопределенное при открытии отчета каждый раз. Как его правильно указать в СКД? Можно делать так: Код 1C v 8.х или Код 1C v 8.х
Для УП Код 1C v 8.2 УП
Похожие FAQ
Еще в этой же категории
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
madmonk
27.05.2016 12:48
Комментарий: 3
Спасибо за СтандартнаяОбработка = Ложь; для УП! Целый час бился, не мог понять почему настройки слетают.
prodines
28.01.2014 14:22
Комментарий: 2
Это ещё не всё. Если параметр — массив, то в СКД его надо вводить списком значений, а не массивом:
При этом нужно на вкладке «Параметры» для параметра «СписокВидовНачисления» установить флажок «Доступен список значений» — иначе список не присвоится параметру. Если же нужно не программно ввести параметр в виде массива, то надо на вкладке «Настройка» — «Параметры» включить флажок «Отображать недоступные параметры», появится наш параметр-массив, и его можно будет вручную там заполнить списком значений.
Efiop
04.04.2011 14:45
Комментарий: 1
Все верно, только я предпочитаю искать по названию (лучше код потом читается, особенно если отчет сложный и много параметров:
Источник
Подсказки «1с»
Примеры по программированию в 1с 7.7, 8.1, 8.2
пятница, 14 февраля 2014 г.
Пример: Програмная установка параметров СКД
Этот пример обработки, «КомпоновщикНастроек» — это реквизит обработки — Тип «КомпоновщикНастроекКомпоновкиДанных» Функция Сформировать(МассивОбъектов) Ссылка = МассивОбъектов[0]; ТабДок = Новый ТабличныйДокумент; Схема = ПолучитьМакет(«Схема»);
Нашли = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(«НаДату»)); Если Нашли<>Неопределено Тогда Нашли.Использование=Истина; Нашли.Значение = Ссылка.Дата; КонецЕсли;
Нашли = КомпоновщикНастроек.Настройки.Отбор.Элементы[0]; Если Нашли<>Неопределено Тогда Нашли.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно; Нашли.Использование=Истина; Нашли.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Ссылка»); Нашли.ПравоеЗначение = Ссылка; КонецЕсли;
Компановщик = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпановки = Компановщик.Выполнить(Схема,Настройки);
Процессор = Новый ПроцессорКомпоновкиДанных; Процессор.Инициализировать(МакетКомпановки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(Процессор);
Если Не ПараметрПользовНастройки = Неопределено Тогда
ПараметрПользовНастройки . Значение = ПериодОтчета ;
Еще один пример (Важно, пользовательская настройка доступна только в ПриОткрытии):
ПриОткрытии — это клиентское событие.
&НаСервере Процедура СписокПриЗагрузкеПользовательскихНастроекНаСервере ( Элемент , Настройки )
ПользовательскийОтбор = Список . КомпоновщикНастроек . ПользовательскиеНастройки . Элементы . Найти ( Список . КомпоновщикНастроек . Настройки . Отбор . ИдентификаторПользовательскойНастройки ); ПользовательскийОтбор . Элементы . Очистить ();
ЭлементОтбора = ПользовательскийОтбор . Элементы . Добавить ( Тип ( «ЭлементОтбораКомпоновкиДанных» )); ЭлементОтбора . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( «Наименование» ); ЭлементОтбора . ВидСравнения = ВидСравненияКомпоновкиДанных . Содержит ; ЭлементОтбора . Использование = Истина; ЭлементОтбора . ПравоеЗначение = ТекущаяСтрокаПоиска ; ЭлементОтбора . ИдентификаторПользовательскойНастройки = ерпИдентификаторПользовательскойНастройки ; ЭлементОтбора . ПредставлениеПользовательскойНастройки = «По части наименования» ;