Компоновщик настроек в 1С
-

Компоновщик настроек в 1С

0
12941
06.09.2021 Айдар Фархутдинов

Содержание:

1.       Инструмент Компоновщик данных

2.       Пример работы с компоновщиком данных в 1С  

 

1.    Инструмент Компоновщик данных


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


2.    Пример работы с компоновщиком данных в 1С


Создадим и рассмотрим следующий пример: пусть существуют два справочника – это «Склады» и «Товары». В справочнике с товарами находится таблица «Перечень складов», где прописываются товары по складам, а также максимальное количество заданного товара на том или ином складе.


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


Чтобы реализовать данный отбор – нужно будет воспользоваться формами с управлением. Итоговая обработка для 1С:Предприятие будет выглядеть как показано на скриншоте ниже:



Рис. 1 Обработка для 1С:Предприятие


Далее надо решить, как будет проходить реализация. Так как нам нужно оперировать отборами, то первое – это настройка схемы по компоновке данных. Для этого делаем обработку с добавлением макета «Схема компоновки данных», а также формы, как показано на скриншоте ниже:



Рис. 2 Обработка с добавлением макета Схема компоновки данных


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



Рис. 3 Запрос в Схеме компоновки данных


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



Рис. 4 Настройка схемы компоновки данных


Далее нужно будет спроектировать форму. Для этого делаем отбор: добавляем реквизит в форму и выбираем типы, которые можно к нему применить. Получаем, что в списке находится лишь один тип – «КомпоновщикНастроекКомпоновкиДанных». Он как раз подходит для необходимой обработки по отбору.



Рис. 5 Обработка по отбору с типом КомпоновщикНастроекКомпоновкиДанных


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



Рис. 6 Столбцы схемы компоновки данных

 


Рис. 7 Использование реквизита ДеревоЗначений


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



Рис. 8 Код после отбора по настройкам



Рис. 9 Код для работы схемы компоновки данных



Рис. 10 Код с заполнением ДеревоЗначений


По коду выше – в процедуре «ПриСозданииНаСервере()» реализуем отбор по компоновщику настроек. При похождении инициализации в компоновщике настроек в схеме по компоновке данных получаем, что схему по компоновке данных необходимо сначала переместить в хранилище временного типа, при помощи «ПоместитьВоВременноеХранилище()», а далее – как только все отборы были установлены – можно приступить к заполнению таблицы и древа значений.


Рассмотрим подробнее формировку макета, которая прописана в этом месте:



Рис. 11 Формировка макеты схемы компоновки данных


Формирование макета конструктором схемы компоновки данных происходит на основании схемы компоновки данных, а также согласно настройкам по компоновке данных. Так как в рассматриваемом примере отбор по форме относится не к схеме компоновки, а к компоновщику по настройкам, оттуда и берём настройки. Также стоит отметить, что внутри метода «Выполнить()» во время генерирования макета нужно в виде параметра добавить Тип(«ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений»).


Специалист компании «Кодерлайн»

Айдар Фархутдинов

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.