СКД программно - АвтоЗаполнениеДоступныхПолей = Ложь

1. sys1c 16.08.24 09:41 Сейчас в теме
Всем привет.

Программно генерирую СКД.

Проблема в том, что результат запроса отличается от результат в СКД.

Помогало бы только, если в макете СКД снять галку АвтоЗаполнениеДоступныхПолей и самому прописать поля в закладке Компоновка данных - Поля.

Но, у меня программная генерация СКД.

Я программно добавляю
ПолеНабораДанныхСхемыКомпоновкиДанных = НаборДанныхОбъектСхемыКомпоновкиДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));

и

Выбор = Схема.НастройкиПоУмолчанию.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));


какой куда еще тип надо прописать, который делает галка АвтоЗаполнениеДоступныхПолей ?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. SlavaKron 16.08.24 10:31 Сейчас в теме
(1)
НаборДанныхОбъектСхемыКомпоновкиДанных
Название переменной соответствует ее типу?
2. truba 16.08.24 10:28 Сейчас в теме
Смотри
1) Автозаполнение зло на сложных отчетах.
2) Даже без Автозаполнения происходит переформатирование текста запроса исходя из представлений движка СКД какие поля вошли в результирующую выборку и этот движек скипит частично промежуточные таблицы, которые в логике необходимы, но отсутствуют в рез. выборке

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

Галка автозаполнение делает на самом деле очень много, когда вопрос касается регистров и виртуальных таблиц.
4. truba 16.08.24 10:36 Сейчас в теме
Вообще обычно в типовых в общих модулях должны быть агретатные функции по настройке СКД программно. Что то типа: РаботаСОтчетами.УстановитьОтборКомпоновщика, УстановитьГруппировку и т.д. Можно глянуть в модулях отчетов из типовой там этого добра обычно валом.

Вроде БСП ОбщийМодуль.ОтчетыКлиентСервер
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот