СКД и параметры в запросе #712333


#0 by animatic
Подскажите можно ли сделать так, чтобы при не заполненном параметре запрос в СКД выполнялся без него, а при заполненном уже учитывался этот параметр. Или не парится и решить этот вопрос с помощью отбора? Не будет ли это потом сказываться на производительности выполнения запроса?
#1 by ViSo76
1. Отбор добавляет в запрос фильтрацию по этому не будет влиять на производительность. 2. С параметром в запросе можно решить так: ГДЕ   ( &МойПараметр = Неопределено Или ПолеТаблицы = &МойПараметр ) PS: К примеру Неопределено можно заменить на ( &МойПараметр = ЗНАЧЕНИЕ( Справочник.МойСправочник.ПустаяСсылка ) Или ...
#2 by animatic
я к тому, что например, если параметр задан, то запрос выполнится по-идее быстрее, т.к. выберет сразу по нужному параметру (там виртуальные таблицы в основном). А при отборе, получится сделает по всему что можно, а потом уже отберет по нужному. Попробую второй вариант.
#3 by catena
"А при отборе, получится сделает по всему что можно, а потом уже отберет по нужному." Он дурак чтоли?
#4 by animatic
не знаю, давно не работал, пытаюсь вспомнить, что знал) поэтому тут и спросил, если не прав поправьте.
#5 by Wobland
гляди на дурака: compile error:  syntax error: SELECT top 80 * FROM TOF_SUPPLIERS             ^ не "топ", а 80
#6 by Wobland
крыжик съехал. указует на 0
#7 by barrgand
Возьми консоль, поставь отбор и посмотри на текст запроса - сразу все станет понятно.
#8 by ViSo76
Быстрее не будет. СКД достроит запрос в зависимости от отбора, по этому лишние данные не выберутся. СКД даже лишние поля, которые не используются в отчёте не выбирает из базы, хотя в наборе данных эти поля будут присутствовать.
#9 by animatic
ну значит такое поведение было в до СКД-шную эру, откуда-то это в голове сидело же)) Если так, то не буду заморачиваться и отборами решу вопрос, спасибо за разъяснения.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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