|
Необязательные параметры в запросе | ☑ | ||
---|---|---|---|---|
0
Pasha12312
22.01.13
✎
13:58
|
Прочитал похожие темы по данному вопросу , ответа не нашел..
В запросе нужно сделать параметры не обязательными, то есть если их ввести - отбирает по ним , если не ввести - отбирает все подряд.. Подскажите вариант решения. |
|||
1
Fragster
гуру
22.01.13
✎
13:59
|
построительзапроса
|
|||
2
Fragster
гуру
22.01.13
✎
13:59
|
СКД
|
|||
3
DrShad
22.01.13
✎
13:59
|
Построитель? СКД?
|
|||
4
Fragster
гуру
22.01.13
✎
13:59
|
демонический текст запроса в конце концов...
|
|||
5
Pasha12312
22.01.13
✎
14:00
|
это не отчет... запрос заполняет табчасть в обработке
|
|||
6
Reset
22.01.13
✎
14:00
|
"похожие темы по данному вопросу , ответа не нашел"
tt |
|||
7
DrShad
22.01.13
✎
14:00
|
(4) только правильный текст должен быть с заменой подстрок, а не через ++++++
|
|||
8
Нуф-Нуф
22.01.13
✎
14:01
|
(5) какая разница. и скд и построитель умеют возвращать таблицы значений
|
|||
9
saaken
22.01.13
✎
14:01
|
Выбор
когда &Мойпараметр = "" Тогда истина Иначе МойЗапрос.Клиент = &Мойпараметр1 Конец |
|||
10
Нуф-Нуф
22.01.13
✎
14:01
|
(7) +100500
|
|||
11
DrShad
22.01.13
✎
14:01
|
(5) ну так получи результат построителя и пихай его куда угодно, в чем проблема?
|
|||
12
Нуф-Нуф
22.01.13
✎
14:01
|
(9) тоже тема, но вот в серьезных запросах это может боком выйти
|
|||
13
Fragster
гуру
22.01.13
✎
14:02
|
(9) такая конструкция зачастую убивает производительность
|
|||
14
mikecool
22.01.13
✎
14:02
|
(7) абсолютно пох для оптимизатора - все равно это будет новый запрос каждый раз
|
|||
15
DrShad
22.01.13
✎
14:02
|
(9) и это ты хочешь вставлять в условия?
|
|||
16
DrShad
22.01.13
✎
14:02
|
(14) тем кто будет читать его после ТС будет проще
|
|||
17
Fragster
гуру
22.01.13
✎
14:03
|
(14) индекс сик vs тэйбл скан, не?
|
|||
18
Pasha12312
22.01.13
✎
14:03
|
9 , я делал так на закладке "Условие" - все равно выдавал ошибку что "Контрагент "- не заполнен
|
|||
19
vmv
22.01.13
✎
14:04
|
(0) вариант решения - пары параметров c ИЛИ
например ГДЕ &БезОтбораГрупп ИЛИ ТаблицаБД.Группа = &Группа все |
|||
20
Fragster
гуру
22.01.13
✎
14:04
|
(19)->(17)
|
|||
21
saaken
22.01.13
✎
14:04
|
(15) да
|
|||
22
Нуф-Нуф
22.01.13
✎
14:04
|
(19) см (20)
|
|||
23
vmv
22.01.13
✎
14:05
|
все кто предлагает динамический текст запроса - нехорошие и продали лукавому душу
|
|||
24
DrShad
22.01.13
✎
14:05
|
(23) а те кто за построитель или СКД?
|
|||
25
saaken
22.01.13
✎
14:05
|
(18) запрос покажи
|
|||
26
vmv
22.01.13
✎
14:06
|
(24) чудовища
|
|||
27
Fragster
гуру
22.01.13
✎
14:07
|
(23)
ТЗ = "Выбрать * Из Таблица Где &_Условие"; Запрос.УстановитьПараметр("_Условие", Истина); Если ЗначениеЗаполнено(Контрагент) Тогда Запрос.Текст = СтрЗаменить(ТЗ, "&_Условие", "Таблица.Контрагент = &Контрагент"); Запрос.УстановитьПараметр("Контрагент", Контрагент); КонецЕсли; |
|||
28
rs_trade
22.01.13
✎
14:07
|
(23) Неудобно, да. Но иногда все таки надо.
|
|||
29
mikecool
22.01.13
✎
14:08
|
(17) ну это надо детально смотреть на план, но - парсеру все равно придется каждый раз работать
|
|||
30
Fragster
гуру
22.01.13
✎
14:08
|
(27)+ когда надо внешнюю прокинуть таблицу в запрос - тогда выручает
|
|||
31
DrShad
22.01.13
✎
14:08
|
(28) пример необходимости в студию!
|
|||
32
rs_trade
22.01.13
✎
14:08
|
(27) Синтаксическая ошибка в запросе ))
|
|||
33
vmv
22.01.13
✎
14:08
|
(28) не надо!
|
|||
34
Fragster
гуру
22.01.13
✎
14:08
|
(31) -> (30). В СКД внешние источники есть, но многобукв слишком писать надо
|
|||
35
Нуф-Нуф
22.01.13
✎
14:08
|
юзайте СКД, будьте мужиками, блеать!
|
|||
36
Fragster
гуру
22.01.13
✎
14:08
|
(33)->(30)
|
|||
37
Нуф-Нуф
22.01.13
✎
14:09
|
(34) 10 строк кода + макет и у тебя на выходе Таблица Значений
|
|||
38
rs_trade
22.01.13
✎
14:09
|
(32) Хотя нет. Вру.
|
|||
39
Fragster
гуру
22.01.13
✎
14:09
|
или выбрать данные из таблицы, а какой - заранее не известно. тут и СКД не поможет...
|
|||
40
Нуф-Нуф
22.01.13
✎
14:10
|
(39) а программное формирование СКД уже отменили?
|
|||
41
Fragster
гуру
22.01.13
✎
14:10
|
(37) сильно больше 10
|
|||
42
Fragster
гуру
22.01.13
✎
14:11
|
(40) нет, но все равно проще типа "выбрать * из &_Таблица" Заменить &Таблица на метаданные.ПолноеИмя()
|
|||
43
vmv
22.01.13
✎
14:11
|
вас текстовка модуля пугает? так ее тожже нужно правильно структурировать, да и не пихать тексты запросов в одну кучу, я счас модули менеджеров объектов юзаю для текстов запросов и методов на запросах.
Так все яйца по своим корзинам - все четко, логично и понятно и без монтсроидальности общаков |
|||
44
Нуф-Нуф
22.01.13
✎
14:12
|
(41) ну 15.
СхемаКомпоновкиДанных = Макет; КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); Результат = Новый ТаблицаЗначений; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); |
|||
45
vmv
22.01.13
✎
14:12
|
(39) не ври мне, читай (43).
просто въелась привычка г-кодишь шаблонами запросов, правда |
|||
46
Нуф-Нуф
22.01.13
✎
14:13
|
+(44) и то это копипаст. остается только написать запрос в макете и вывести поля. а можно обойтись вообще без макета и описать скд программно
|
|||
47
Сергей Д
22.01.13
✎
14:13
|
где &Параметр В (Поле, "")
При передае пустой строки - игнорируется |
|||
48
Fragster
гуру
22.01.13
✎
14:14
|
(44) а подготовка макета к неизвестному имени основной таблицы?
кстати, кто знает, как СКД работает с источниками-объектами? Запрос-то нормально с индексами и прочим, а вот за СКД - я не знаю. |
|||
49
Нуф-Нуф
22.01.13
✎
14:16
|
(48) перебор колонок в цикле и добавление полей в скд.
для таких вещей у меня есть шаблон процедуры, куда можно передать ТЗ и получить набор данных для скд. |
|||
50
Нуф-Нуф
22.01.13
✎
14:32
|
заморочился как-то сделать вывод временных таблиц в консоли запросов в макет через скд. освоил программное формирование СКД :)
зачетная штука :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |