Меню

Добавить параметра настройки в скд



Программное добавление параметров в СКД

Встречал ветки на форуме, но решения в них нет. Может, кто набрался опыта, поделится?

//1. Необходимо получить нужный макет СКД

//2. Проинициализировать компоновщик настроек.

//КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных);
КомпоновщикНастроек.Инициализировать(ИсточникНастроек);

//3. Установить параметры компоновщика настроек

номерПериода = 1;
Для Каждого стрПериод из спПериодов Цикл
ПараметрКомпоновки = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Добавить();
ПараметрКомпоновки.Параметр = Новый ПараметрКомпоновкиДанных(«парамПериодБюджетирования» + номерПериода);
ПараметрКомпоновки.Использование = Истина;
ПараметрКомпоновки.Значение = стрПериод;

номерПериода = номерПериода + 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С

Настройка параметров отчёта, использование внешних функций СКД.

Параметры отчёта в СКД – это аргументы, которые может принимать функция. Параметры нужны для того, чтобы после обработки переданной информации, функция смогла вернуть определённое значение.

В СКД параметры задаются на вкладке «Параметры». Если пользователь желает включить свойство «Автозаполнение», то параметры виртуальных таблиц, используемые внутри системы, и параметры, которые прописываются пользователем вручную в запросе, будут автоматически переданы СКД в общий список. Эти передаваемые системой параметры называются внешними. Внутренние настройки СКД самостоятельно генерируют имена всем общедоступным параметрам.

Над параметрами системы можно производить следующие действия:

  • Редактировать имя, заголовок, тип и значение;
  • Определять доступные числовые или строковые значения;
  • Определять выражение;
  • Определить параметр как доступное в СКД поле;
  • Ограничить доступ к определённому параметру;
  • Задавать параметры редактирования.

Добавление параметров через виртуальную таблицу

Добавление и настройку параметров встроенной виртуальной таблицы «РегистрыНакопления» покажем на следующем примере.

В СКД создаём внешний отчёт. Открываем схему компоновки данных. Создаём запрос, который обращается к используемой нами таблице. Добавляем в созданный запрос набор данных. После чего в конструкторе запроса выбираем регистр накопления «ТоварыНаСкладахОстаткиИОбороты».

Далее открываем диалоговое окно «Параметры виртуальной таблицы» и настраиваем необходимые параметры.

Добавление параметров пользователем

Параметры, созданные пользователем внутри отчёта или конструктора, называются внутренними.

Настройки СКД в отчёте будем производить на вкладке «Параметры».

В списке параметров уже содержатся два внешних параметра, переданные ранее из виртуальной таблицы.

Добавляем на вкладке «Параметры» новый параметр «Период», устанавливаем тип «СтандартныйПериод». Для параметров «НачалоПериода» и «КонецПериода» определяем функциональное выражение для расчёта и поставим запрет на редактирование параметров пользователем.

Установка периода при использовании механизма стандартного периода выглядит следующим образом:

Настройки СКД предоставляют возможность скрывать или отображать параметры отчёта. Для этого на вкладках «Включать в доступные поля» и «Ограничение доступности» можно поставить или убирать флажок, чтобы активизировать данные свойства.

Внешние функции у внутренних параметров в СКД

При построении запроса в СКД внутри него можно использовать штатные функции языка запросов. Кроме того, в СКД можно определять дополнительные функции. Функции задаются формулами. Это может быть операция над числами, строками, датами. Формула может содержать булевское выражение или агрегатную функцию для выполнения некоторого действия над набором данных.

Чтобы добавить функцию, нужно на вкладке параметры выбрать колонку «Выражение». Отобразятся все функции, встроенные в систему. С помощью данных функций можно вычислять выражения, добавлять дату, месяц, год, различные периоды, рассчитывать суммы продаж, назначать формат выражению и многое другое. В СКД можно передавать в функции параметры, а можно использовать функцию без параметров.

Использование встроенных функций в конструкторе запросов и передача этим функциям параметров даёт возможность значительно упростить работу с отчётом СКД. Вызванные внешние функции позволяют рассчитать необходимое значение, не написав не единой строчки программного кода.

Источник

Создание настроек компоновки данных из встроенного языка

В данной статье показаны примеры того, каким образом можно добавлять некоторые элементы настроек компоновки данных при помощи встроенного языка.

Добавление выбранного поля

Пример добавления выбранного поля:

// Добавим выбранное поле для вывода в отчет.
ВыбранноеПоле = Настройки . Выбор . Элементы . Добавить ( Тип ( «ВыбранноеПолеКомпоновкиДанных» ) ) ;
ВыбранноеПоле . Поле = Новый ПолеКомпоновкиДанных ( «КоличествоОстаток» ) ;

В данном примере в список выбранных полей было добавлено поле КоличествоОстаток .

Для указания взаимного расположения полей в список выбранных полей можно добавить группу выбранных полей и поместить выбранные поля в нее.

В данном примере создана группа выбранных полей, в нее помещено два поля. Группе указано, каким образом располагать поля, вложенные в нее. Для поля Склад.Код установлен заголовок.

Добавление отбора

Пример добавления элемента отбора:

В данном примере в отчет добавлен элемент отбора с видом сравнения «В Группе».

В отбор можно добавлять сложные условия. Делается это при помощи групп элементов отбора.

Пример добавления группового условия:

В данном примере добавлено условие КоличествоОстаток >= 100 И КоличествоОстаток

Добавление упорядочивания

Пример добавления упорядочивания:

В данном примере показано добавление упорядочивания по полю КоличествоОстаток в убывающем порядке.

Установка параметров вывода

Пример установки параметров вывода:

В данном примере отчету установлен макет оформления и указано, что выводить отбор в результат отчета не нужно.

Добавление условного оформления

Пример добавления условного оформления:

В данном примере добавлено оформление на поле КоличествоОстаток . Поле будет отображаться красным цветом, в случае если его значение больше или равно 100 и меньше или равно 200.

Добавление группировки

Пример добавление группировки:

// Добавим новую группировку в структуру отчета.
Группировка = Настройки . Структура . Добавить ( Тип ( «ГруппировкаКомпоновкиДанных» ) ) ;

// Укажем, по каким полям нужно группировать.
ПолеГруппировки = Группировка . ПоляГруппировки . Элементы . Добавить ( Тип ( «ПолеГруппировкиКомпоновкиДанных» ) ) ;
ПолеГруппировки . Поле = Новый ПолеКомпоновкиДанных ( «Номенклатура» ) ;

// Укажем тип иерархии.
ПолеГруппировки . ТипГруппировки = ТипГруппировкиКомпоновкиДанных . Иерархия ;

В данном примере добавлена группировка по полю Номенклатура с иерархией.

Заметим, что группировке нужно указать, какие поля в ней нужно выводить, как упорядочивать группировку. Если нужно, чтобы состав выводимых полей и полей упорядочивания определялся системой самостоятельно на основании полей группировки и вышестоящих группировок и отчета, то нужно добавить в выбранные поля и поля упорядочивания авто поля.

Пример добавления автополей в порядок и выбранные поля.

// Укажем, что поля, которые нужно выводить в группировке, система должна определять самостоятельно.
Группировка . Выбор . Элементы . Добавить ( Тип ( «АвтоВыбранноеПолеКомпоновкиДанных» ) ) ;

// Укажем, что системе необходимо самостоятельно определять порядок, в котором выводить группировку.
Группировка . Порядок . Элементы . Добавить ( Тип ( «АвтоЭлементПорядкаКомпоновкиДанных» ) ) ;

Добавление детальных записей

Детальные записи являются группировкой, в которой отсутствуют поля группировки.

Пример добавления детальных записей, вложенных в группировку:

// Добавим в отчет детальные записи, вложенные в группировку.
ДетальныеЗаписи = Группировка . Структура . Добавить ( Тип ( «ГруппировкаКомпоновкиДанных» ) ) ;

// Укажем, что поля, которые нужно выводить в детальных записях, система должна определять самостоятельно.
ДетальныеЗаписи . Выбор . Элементы . Добавить ( Тип ( «АвтоВыбранноеПолеКомпоновкиДанных» ) ) ;

// Укажем, что системе необходимо самостоятельно определять порядок, в котором выводить детальные записи.
ДетальныеЗаписи . Порядок . Элементы . Добавить ( Тип ( «АвтоЭлементПорядкаКомпоновкиДанных» ) ) ;

// Добавим детальным записям оформление.
ЭлементУсловногоОформления = ДетальныеЗаписи . УсловноеОформление . Элементы . Добавить ( ) ;
// Укажем наклонный шрифт.
ЭлеменОформления = ЭлементУсловногоОформления . Оформление . НайтиЗначениеПараметра ( Новый ПараметрКомпоновкиДанных ( «Шрифт» ) ) ;
ЭлеменОформления . Использование = Истина ;
ЭлеменОформления . Значение = Новый Шрифт ( , , , Истина ) ;

В данном примере детальные записи добавлены в группировку, в детальные записи добавлены автополя выбора и порядка, указано условное оформление, которое будет действовать в этих детальных записях.

Добавление диаграммы

Пример добавления диаграммы:

В данном примере в отчет добавлена диаграмма, в диаграмму добавлена серия, в серии указано, каким образом ее нужно упорядочивать.

Добавление таблицы

Пример добавления таблицы:

В данном примере в отчет добавлена таблица, в таблице в строках выводится группировка по полю Номенклатура , а в колонках выводится группировка по полю Склад .

Пример

Приведенный в данной статье пример можно посмотреть во внешнем отчете ПримерПрограммнойРаботыСНастройкамиКомпоновкиДанных, который можно найти в каталоге C:\Its\EXE\ExtReps\Samples8\

Вы можете установить их на компьютер прямо сейчас

Данный внешний отчет работает на конфигурации «Примеры 8.1».

Источник

Читайте также:  Скайп настройка русского языка
Adblock
detector