программно добавить поле скд
1С СКД. Программное создание СКД.
В этой статье мы рассмотрим пример программного создания схемы компоновки данных 1С (далее — СКД). Сложно придумать задачу, в которой полное программное создание СКД будет оправдано, но использованные приемы и методы помогут понять программную структуру СКД и дадут понимание каким образом программно модифицировать ранее созданные и сохраненные в базе 1С или внешнем отчете или даже типовые СКД, что дает очень широкий спектр применения.
Создание объекта СКД.
Создание Источника. Нужно создать обязательный локальный.
Создание набора данных запроса
Заполнение полей этого набора данных. По заполнению соответствует группе «Поля» набора данных в графическом интерфейсе СКД. Доступны такие же поля. Имена соответствующих полей в графическом и программном интерфейсе немного отличаются, но при вводе “ДобавленноеПоле.” подсказка покажет перечень доступных полей и в них можно узнать поля из графического интерфейса. Это относится ко всем переменным созданным через “.Добавить()”.
Создание набора данных объекта. Таблицы значений объектов должны быть переданы при инициализации ПроцессорКомпоновкиДанных во втором параметре структурой, где ключом будет ИмяОбъекта, а значением сама ТЗ.
Заполнение полей этого набора данных.
Создание набора данных объединения
так же как у других наборов заполняются “Поля”, а в реквизит “Элементы” добавляются подчиненные наборы данных.
Создание связи наборов данных. По заполнению соответствует вкладке «Связи наборов данных» СКД.
Добавление вычисляемого поля. По заполнению соответствует вкладке «Вычисляемые поля» СКД.
Добавление ресурса. По заполнению соответствует вкладке «Ресурсы» СКД.
Добавление параметра. По заполнению соответствует вкладке “Параметры” СКД.
Заполнение настроек. По заполнению соответствует вкладке “Настройки” СКД.
Сначала выбранное поле добавляется в Выбранные поля отчета.
Затем заполняется структура отчета. Для вывода полного плоского списка в отчет добавляем одну структуру Группировка компоновки данных.
Если нужна таблица то она создается следующим образом:
Если нужна группировка ресурсов по колонкам — код аналогичный, только заполняем
Дополнительно хочу пояснить: если нам нужно добавить конкретное поле в выбор — то используем тип “ВыбранноеПолеКомпоновкиДанных” и заполняем данные по нему, чтобы добавить все поля “АвтоВыбранноеПолеКомпоновкиДанных”.
На этом программное создание схемы компоновки данных завершено. Теперь мы можем проводить с ней дальнейшие манипуляции или, к примеру, вывести ее в табличный документ следующим кодом:
Создание настроек компоновки данных из встроенного языка
В данной статье показаны примеры того, каким образом можно добавлять некоторые элементы настроек компоновки данных при помощи встроенного языка.
Добавление выбранного поля
Пример добавления выбранного поля:
Для указания взаимного расположения полей в список выбранных полей можно добавить группу выбранных полей и поместить выбранные поля в нее.
В данном примере создана группа выбранных полей, в нее помещено два поля. Группе указано, каким образом располагать поля, вложенные в нее. Для поля Склад.Код установлен заголовок.
Добавление отбора
Пример добавления элемента отбора:
В данном примере в отчет добавлен элемент отбора с видом сравнения «В Группе».
В отбор можно добавлять сложные условия. Делается это при помощи групп элементов отбора.
Пример добавления группового условия:
В данном примере добавлено условие КоличествоОстаток >= 100 И КоличествоОстаток
Добавление упорядочивания
Пример добавления упорядочивания:
В данном примере показано добавление упорядочивания по полю КоличествоОстаток в убывающем порядке.
Установка параметров вывода
Пример установки параметров вывода:
В данном примере отчету установлен макет оформления и указано, что выводить отбор в результат отчета не нужно.
Добавление условного оформления
Пример добавления условного оформления:
Добавление группировки
Пример добавление группировки:
В данном примере добавлена группировка по полю Номенклатура с иерархией.
Заметим, что группировке нужно указать, какие поля в ней нужно выводить, как упорядочивать группировку. Если нужно, чтобы состав выводимых полей и полей упорядочивания определялся системой самостоятельно на основании полей группировки и вышестоящих группировок и отчета, то нужно добавить в выбранные поля и поля упорядочивания авто поля.
Пример добавления автополей в порядок и выбранные поля.
Добавление детальных записей
Детальные записи являются группировкой, в которой отсутствуют поля группировки.
Пример добавления детальных записей, вложенных в группировку:
В данном примере детальные записи добавлены в группировку, в детальные записи добавлены автополя выбора и порядка, указано условное оформление, которое будет действовать в этих детальных записях.
Добавление диаграммы
Пример добавления диаграммы:
В данном примере в отчет добавлена диаграмма, в диаграмму добавлена серия, в серии указано, каким образом ее нужно упорядочивать.
Добавление таблицы
Пример добавления таблицы:
Пример
Приведенный в данной статье пример можно посмотреть во внешнем отчете ПримерПрограммнойРаботыСНастройкамиКомпоновкиДанных, который можно найти в каталоге C:\Its\EXE\ExtReps\Samples8\
Вы можете установить их на компьютер прямо сейчас
Данный внешний отчет работает на конфигурации «Примеры 8.1».