Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Автоматическая оптимизация в компоновке
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
jonson_r
В одном из учебных видео Чистов рассказывает об особенности СКД, когда система автоматом удаляет неиспользуемое в итоговом запросе поле, оптимизируя тем самым код, И, как следствие, может возникнуть не совсем ожидаемый результат.

Если у меня есть в запросе 10 временных таблиц в которых я последовательно и по ходу консолидирую и рассчитываю нужные данные, а в итоговом (последнем) запросе я выбираю только несколько итоговых полей - как поведет себя СКД? Она во всех первых запросах что формируют виртуальные таблицы удалит поля, которые не будут в итоговом запросе?
Petre
Данные ведь рассчитываются. Другое дело, когда в запросе есть все поля таблицы, а выводится только несколько. Вот эти несколько и останутся в итоговом запросе.
jonson_r
Petre @ Сегодня, 17:46 необходимо зарегистрироваться для просмотра ссылки,
Не все поля я рассчитываю, некоторые просто информативные, как например "ссылка" на документ, которая одинакова по всем регистрам с которых я выбираю "номенклатуру", т.е. это поле просто вижу визуально что бы понимать что оно одинаково для нужных записей (когда отлаживаю запрос в консоли запросов в режиме предприятия).

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

Вот я и хочу понять, как правильно строить запросы в СКД, что бы не попасть на его "оптимизацию".
pumbaE
Протянуть поле до самого последнего запроса, а потом в СКД в полях поставить ему признак "Обязательно". Тогда группировать конечный запрос будет правильно, даже без этого служебного поля, но при этом в промежуточных ВТ это поле будет присутствовать.
jonson_r
Цитата(pumbaE @ 04.04.16, 18:47) необходимо зарегистрироваться для просмотра ссылки
Протянуть поле до самого последнего запроса, а потом в СКД в полях поставить ему признак "Обязательно"

Спасибо за совет, а признак "Обязательно" это флаг напротив поля во вкладке Настройки - Выбранные поля или настройка в ролях?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.