Компоновщик настроек и построитель запроса #741733


#0 by Iakovlev
Перевожу отчет с обычной формы на управляемую. Для формирования отчета используется построитель отчета, который формирует отчет в соответствии с настройками, задающимися в таблице на форме через этот же построитель. В управляемой форме для настроек я использую схему компоновки данных и компоновщик настроек, но проблема в том, что изначально (на обычной форме) весь отчет по сути формируется программно через работу с результатом построителя отчета(тип "РезультатЗапроса"), а на управляемых формах ипользовать построитель отчета нельзя. Попробовав делать это через построитель запроса, я столкнулся с такой проблемой, что не получается передать настройки компоновщика в построитель запроса поскольку не совпадают типы данных. То есть мне нужно либо как-то передать настройки компоновщика настроек в построитель запроса, либо через формирование отчета через схему компновоки данных получить результат запроса. И я не вижу выхода ни из того, ни из другого
#1 by DmitrO
вот от этого "по сути формируется программно через работу с результатом построителя отчета(тип "РезультатЗапроса")" надо попробовать избавиться пусть отчет строится механизмами СКД.
#2 by Iakovlev
А каким образом мне тогда получить результат запроса?
#3 by Iakovlev
"надо попробовать избавиться пусть отчет строится механизмами СКД." Это не представляется возможным сделать, потому что во-первых кода очень много, во-вторых методы этого кода предназначены для типа "КоллекцияКолонокРезультатаЗапроса", который находится в результате запроса. Без этого кода впринципе ничего не формируется
#4 by DmitrO
я какраз и имел в виду: принципиально перерефакторить код, чтобы он не работал с результатом запроса вообще
#5 by DmitrO
да это много, иногда и результат (отчет) получается в несколько другом виде, но у меня пока везде получалось
#6 by Iakovlev
То есть других вариантов в принципе нет?
#7 by DmitrO
другие варианты это: - на основе настроек СКД самому программно формировать настройки построителя; - реализовать самому настройки построителя в упр. форме (на основе универсальных коллекций); - настраивать СКД, компоновать до текста запроса, но не выполнять, а забирать запрос и выполнять простым запросом тем самым получать РезультатЗапроса (в данном случае нам построитель уже не нужен, но надо будет как-то расставить значения параметров из отбора). все варианты в принципе реальны, но объем работ мне кажется сопоставим с переаботкой самого отчета; кроме того, при переработке некоторого блока, обычно он всегда получается лучше и оптимальнее.
#8 by Iakovlev
Решил проблему. Удалось найти способ передать настройки из компоновщика настроек в построитель запроса. В таблице настроек отборов отчета было 4 колонки "Использование", "Поле", "Вид сравнения" и "Значение". Главная проблема заключалась в том, что виды сравнения построителя запроса имеют тип "ВидСравнения", а виды сравнения компоновщика настроек имеют тип "ВидСравненияКомпоновщикаНастроек". Путём написания своей функции сопоставления видов сравнения я передал все отборы, но при этом не все сравнения удаётся сопоставить.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С