Каталог решений - Заполнение отбора СКД программно и запуск отчета на СКД программно

Заполнение отбора СКД программно и запуск отчета на СКД программно

Заполнение отбора СКД программно и запуск отчета на СКД программно

В наличии

Нужно было из справочника «Номенклатура» запустить отчет на СКД с отбором по элементу справочника. В интернете много решений, часть не работает (нужно бродить по веткам форума и читать как в итоге все заработало), часть слишком заумные (для спец. задач). Нужно было быстрое решение… Сделал сам. Если есть что то проще — пишите.

Категория:

Описание

Итак, есть в конфигурации отчет на СКД (у меня это ОтчетПоЦенамИНаценкам)

В нужном месте добавляем кнопку вызова отчета, где пишем:

 

тОтчет = Отчеты.ОтчетПоЦенамИНаценкам.Создать();

НастройкиКД = тОтчет.КомпоновщикНастроек.ПолучитьНастройки();

ПолеНоменклатура = тОтчет.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Номенклатура"); //поле отбора присутствует в СКД
ПолеНоменклатураСкидка = тОтчет.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("НоменклатураСкидка"); //поле отбора присутствует в СКД

НовыйОтбор = НастройкиКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйОтбор.ЛевоеЗначение = ПолеНоменклатура.Поле;
НовыйОтбор.ПравоеЗначение = ЭлементыФормы.Список.ТекущаяСтрока;
НовыйОтбор.Использование = Истина;

НовыйОтбор = НастройкиКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйОтбор.ЛевоеЗначение = ПолеНоменклатураСкидка.Поле;
НовыйОтбор.ПравоеЗначение = ЭлементыФормы.Список.ТекущаяСтрока;
НовыйОтбор.Использование = Истина;

тОтчет.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКД);
тФорма = тОтчет.ПолучитьФорму("ФормаОтчета");
тОтчет.СкомпоноватьРезультат(тФорма.ЭлементыФормы.Результат); //таб док на форме
тФорма.Открыть();

 

has been added to your cart:
Оформление заказа