|
Помогите доработать запрос | ☑ | ||
---|---|---|---|---|
0
dmitn
13.02.20
✎
15:50
|
чтобы не было этого дополнительного условия, чтобы условие было в самом запросе. |
|||
1
unbred
13.02.20
✎
15:51
|
зачем?
|
|||
2
shuhard
13.02.20
✎
15:53
|
(0) дык &Склад=Значение(Справочник.Склады.Пустаяссылка) ИЛИ ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад
|
|||
3
dmitn
13.02.20
✎
15:53
|
(1) чтобы не разрывать запрос
|
|||
4
IOANNscrp
13.02.20
✎
15:56
|
(0) РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , ,&Склад =Значение(Справочник.Склады.Пустаяссылка) или Склад = &Склад ) КАК ТоварыНаСкладахОстаткиИОбороты";
|
|||
5
unenu
13.02.20
✎
15:58
|
ГДЕ
ВЫБОР КОГДА &НетОтбораПоСкладам ТОГДА ИСТИНА ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад КОНЕЦ или запихнуть это в отбор виртуальной таблицы всякие ИЛИ и ЗначениеЗаполнено() - ересь адская и на больших БД дадут вам по лбу. |
|||
6
FIXXXL
13.02.20
✎
16:07
|
(5) ВЫБОР круче ИЛИ? :)
|
|||
7
unbred
13.02.20
✎
16:12
|
(6) ВЫБОР проверяет одно условие. ИЛИ проверяет n условий.
|
|||
8
FIXXXL
13.02.20
✎
16:16
|
(7) да ну? а если я напишу "бороду" КОГДА - ТОГДА?
|
|||
9
unenu
13.02.20
✎
16:18
|
(8) о бороде речь не шла, я указал фрагмент для задачи из темы.
|
|||
10
ИУБиПовиц
13.02.20
✎
16:21
|
Сделайте условие в запросе, а затем Если НЕ ЗначениеЗаполнено(Склад) Тогда СтрЗаменить условие на ""
|
|||
11
080808Ник
13.02.20
✎
16:29
|
(6) при или индекс не работает. а вот при выбор хороший вопрос)
|
|||
12
arsik
гуру
13.02.20
✎
16:35
|
(2) (4) Криво будет запрос по скорости работать.
Я делаю так Запрос = Новый Запрос;
|
|||
13
Йохохо
13.02.20
✎
16:36
|
(11) при ИЛИ работают ленивые вычисления оптимизатора, тоже ничего вопрос
|
|||
14
hhhh
13.02.20
✎
16:41
|
(11) при выбор тоже не работает индекс
|
|||
15
Андроны едут
13.02.20
✎
16:50
|
(0) В старые добрые времена использовали построитель
|
|||
16
Андроны едут
13.02.20
✎
16:55
|
старики говорят ещё можно так
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , , , &Склад В (Склад, Значение(Справочник.Склады.Пустаяссылка))) |
|||
17
unenu
13.02.20
✎
17:06
|
(16) тот же хрен только в другой руке, что и с ИЛИ - индексы тю-тю, да еще и подзапрос.
вобщем у меня на большой БД Выбор Когда лечит на скуле, остальное по барабану. перестанет лечить будем крутить по другому. ес-но речь о тех случаях когда невозможно модифицировать запрос на лету по методу предтавлений или как в коде выше. |
|||
18
080808Ник
13.02.20
✎
17:12
|
Запрос = Новый Запрос;
Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , ) КАК ТоварыНаСкладахОстаткиИОбороты"; Если ЗначениеЗаполнено(Склад) Тогда СхемаЗапроса = Новый СхемаЗапроса; СхемаЗапроса.УстановитьТекстЗапроса(Текст); СхемаЗапроса.ПакетЗапросов[0].Операторы[0].Источники[0].Источник.Параметры[4].Выражение = Новый ВыражениеСхемыЗапроса("Склад=&Склад"); Текст = СхемаЗапроса.ПолучитьТекстЗапроса(); КонецЕсли; Запрос.текст = Текст; |
|||
19
famnam
14.02.20
✎
06:38
|
(15) а сейчас не используют?
|
|||
20
D_E_S_131
14.02.20
✎
10:25
|
(18) Вот очень хорошее решение через СхемуЗапроса, а не через анахронизм ПостроительОтчета. +++
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |