#0
by ignorant
Хочу ПРИ а м.б. правильнее ПЕРЕД компоновкой результата программно анализировать текущие настройки отчета, как-то: список группировок по строкам и колонкам,выводится ли при текущих настройках детальные записи... Камрады, подскажите куда рыть?
#1
by Maxus43
Настройки (Settings) Использование: Только чтение. Описание: Тип: НастройкиКомпоновкиДанных. Содержит настройки компоновки данных. не то?
#2
by ignorant
КомпоновщикНастроек.Настройки.ДоступныеПоляГруппировок показывает ВСЕ Доступные Поля Группировок, а меня интересуют только выбранные пользователем.
#3
by Maxus43
а кто сказал про Досутпные? НастройкиКомпоновкиДанных (DataCompositionSettings) Структура (Structure) Использование: Только чтение. Описание: Тип: КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных. Коллекция элементов структуры.
#5
by ignorant
м.б. не туда смотрю :( ЭтотОБъект.КомпоновщикНастроек.Настройки.Структура тип КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных спасибо, для общего образования будет полезно. НО мне нужно _програмно_ проаназировать структуру отчета, а не визуально посмотреть, где что лежит
#6
by Maxus43
у меня написано в СП: Элементы коллекции: ГруппировкаКомпоновкиДанных, ТаблицаКомпоновкиДанных, ДиаграммаКомпоновкиДанных, НастройкиВложенногоОбъектаКомпоновкиДанных Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются группировки. Возможно обращение к группировке посредством оператора [.
#7
by GANR
программно... КомпоновщикНастрое.Настройки.Структура - вот здесь она и лежит. Она представляет собой коллекцию, некое дерево, возможен обход циклом в сочетании с рекурсией Для Каждого ЭлементСтруктуры Из КомпоновщикНастрое.Настройки.Структура Цикл ... КонецЦикла Подробнее - отладчик
#8
by ignorant
я же и показываю что говорит отладчик. КомпоновщикНастрое.Настройки МОЖЕТ содержать ГруппировкаКомпоновкиДанных, ТаблицаКомпоновкиДанных и все, что процитировал Maxus43 в , но у меня он реально ПУСТ. м.б., проблема в том, что в отладчике я смотрю в событии ПриКомпоновкеРезультата а нужно смотреть в другом месте?
#10
by ignorant
НЕ читать! я плохо смотрел! Есть в D:/Настройки.xml и таблица отчета item xsi:type="StructureItemTable" и правильные поля группировок item xsi:type="GroupItemField"
#11
by GANR
КомпоновщикНастроек.Настройки.Структура[0] содержит что-то ? Просто КомпоновщикНастроек.Настройки.Структура в отладчике ничего не покажет, либо КомпоновщикНастроек.Настройки.Структура[0], либо "показать в отдельном окне".
#12
by GANR
>проблема в том, что в отладчике я смотрю в событии ПриКомпоновкеРезультата тоже возможно
#14
by ignorant
вряд ли. D:/Настройки.xml я вывожу в этом же месте, таблица и группировки там ЕСТЬ. уже ТЕПЛЕЕ КомпоновщикНастроек.Настройки.Структура[0] содержит КомпоновщикНастроек.Настройки.Структура[0] ТаблицаКомпоновкиДанных
#16
by GANR
Далее нужно что-то вроде Процедура Команда1 ОбойтиСтруктуру(КомпоновщикНастроек.Настройки.Структура) КонецПроцедуры
#18
by ignorant
Спасибо, круто! что-то начинаю понимать в этом зверьке КомпоновщикНастроек.Настройки.Структура[0].Строки[0] содержит верхний уровень групировки строк КомпоновщикНастроек.Настройки.Структура[0].Строки[0].Структура[0] второй сверху уровень КомпоновщикНастроек.Настройки.Структура[0].Строки[0].Структура[0].Структура[0] третий уровень и т.д. рекурсия
#19
by ignorant
в ОБЩЕМ случае много нужно предусмотреть, но для моего ЧАСТНОГО - достаточно. Спасибо! Остался последний вопрос: как оценить глубину рекурсии? Как понять: это _самый_ нижний уровень группировки и ЧТО он содежит: детальные данные или группу ТОЛЬКО? В продолжение темы, раз уж ты, GANR, хорошо знаешь СКД ;) То, что порешали - это часть задачи В принципе, нужно на основе анализа пользовательских настроек отчета подменить СКД и вывести _немного_ другой отчет. Думаешь, это решаемо за конечное время? Что ещё в свойствах отчетов / СКД посмотреть на эту тему?
#20
by GANR
> Как оценить глубину рекурсии? Не вижу необходимости. Если коллекция КомпоновщикНастроек.Структура[0].Структура[0]...Структура[0] не содержит элементов, то цикл не сделает ни одного повтора. Как следствие, рекурсия не пойдет вглубь и, в конце-концов, вернется. > Что ещё в свойствах отчетов / СКД посмотреть на эту тему? В 1С:Предприятие в настройках варианта отчета видно, что пользователь может настраивать. В отладчике это отображается одноименно. Вот например: 1. Отборы - также возможна рекурсия, поскольку СКД поддерживает группы условий. 2. Условное оформление, пользовательские поля - также могут содержать п.1 => может понадобится рекурсия. 3. Поля могут быть свернуты в группы, опять рекурсия. Слова "рекурсия" бояться не стоит. Не припоминаю, чтобы с СКД на моем веку был связан рекурсивный алгоритм, требующий от меня сильного навыка работы со спуском/возвратом.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- СКД: СКД: как настроить программно различные варианты группировок в отчете?
- СКД: Как программно задать поля-ресурсы в СКД?
- СКД: СКД. Понимает ли СКД ссылки на МенеджерВременныхТаблиц?
- СКД: как в СКД значеняи параметров по умолчанию заполнять?
- СКД: Диаграмма в СКД
- СКД: СКД. Как задать устанавливать параметры вложенных схем СКД?
- СКД: Объединение в СКД
- СКД: СКД - можно ди получить промежуточные итоги по колонкам
- СКД: Как общий результат отчета СКД, можно использовать в каждой строке этого же отчета?
- СКД: Настройки СКД
- СКД: СКД: Программное обращение к полям группировки СКД
- СКД: СКД: как программно или в схеме компоновки передать значение параметра для запроса?
В этой группе 1С
- Не ломая типовую конфу отправить печатную форму дока по почте
- Если сеанс завершен в терминале, то фоновые программы
- 1C v.8.2: как запустить поиск в Google из 1С?
- Как "ПолучитьМакет("Макет")" для внешней обработки?
- не редактируется константа
- УФ. Пользовательские настройки СКД в ОБРАБОТКЕ
- Удаление записей регистра расчета
- Отличия синтаксиса 8.1 и 8.2
- v7: Как программно создать подчиненный документ?
- ЗУП для Казахстана. Способ расчета отпускных
- Веб сервис на 1С 8.2 и пакеты XDTO. Передача на сайт Битрикс
- учетная политика при импорте
- Хочу индикатор выполнения обработки на управляемых формах в клиенте-сервере
- При изменении Флажка
- Можно ли выполнить vba скрипт из C++/Delphi?
- Обмен данными УТ 11 -> БП 2 (Базовая)
- Переход на ФИФО по кассе УТ 10.3
- Как достать изображения в УНФ 1.4
- ЗУП. Не начисляет РК и СН уволенному сотруднику
- Корректный перезапуск консоли 1С (ragent.exe)