|
условие В в запросе | ☑ | ||
---|---|---|---|---|
0
Kurbash
08.07.14
✎
10:46
|
делаю запрос к РБ
... | ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Регистратор) = ТИП(Документ.АвансовыйОтчет) | И ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Регистратор) = ТИП(Документ.ВозвратМатериаловИзЭксплуатации) | И ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Регистратор) = ТИП(Документ.ВозвратПереданныхТоваров) .... можно как нибудь объединить с помощью В(ТИП(Документ.АвансовыйОтчет),ТИП(Документ.ВозвратМатериаловИзЭксплуатации))?? |
|||
1
Wobland
08.07.14
✎
10:47
|
что было, когда попробовал?
|
|||
2
Spieluhr
08.07.14
✎
10:48
|
(0) в условии наверное типы значений через ИЛИ нужно перечислять
|
|||
3
Kurbash
08.07.14
✎
10:48
|
ничего, ошибку выдает
|
|||
4
censored
08.07.14
✎
10:48
|
а чего это у тебя регистратор должен быть одновременно и Авансовым отчетом и Возвратом материалов и возвратом товаров?
|
|||
5
Kurbash
08.07.14
✎
10:49
|
значит лучше ИЛИ использовать?
|
|||
6
Эмбеддер
08.07.14
✎
10:51
|
еще 3-й вариант
ХозрасчетныйОстаткиИОбороты.Регистратор ССЫЛКА Документ.АвансовыйОтчет ИЛИ ... |
|||
7
Бешеная Нога
08.07.14
✎
10:53
|
(5) хм...
|
|||
8
Кир Пластелинин
08.07.14
✎
11:05
|
"или" в условиях тоже не панацея. потом можно столкнуться с тем, что запрос будет медленно работать. лучше разделить на пакетники, где будет по одному условию из связки "или". во временяку кинуть без проверки на ССЫЛКА/ТипЗначения = Тип, а затем соответствующее количество пакетников с одним условием и последующее объединение.
|
|||
9
Wobland
08.07.14
✎
11:07
|
(3) какой сделал вывод после того, как вник в текст ошибки?
|
|||
10
samozvanec
08.07.14
✎
11:12
|
(5) хозяин-барин канеш, но ты попробуй
|
|||
11
Escander
08.07.14
✎
11:17
|
(0) В - это когда значение совпадает с одним из списка, а у вас в вашем куске кода у вас равно одновременно разным величинам....
|
|||
12
Escander
08.07.14
✎
11:17
|
величинам = значениям
|
|||
13
Sammo
08.07.14
✎
11:21
|
Еще рекомендую учесть следующий моменты
1. Регулярно объединение 3 запросов с 1 условием работает быстрее, чем 1 запрос с 3 через "или" или "в" 2. "В" в скулевом запросе может превратиться в in, а может в exists. Лучше второе. Как этого достичь - в поиск. Но все это имеет смысл только на базах приличного и неприличного размера. Может и не потребоваться |
|||
14
Serginio1
08.07.14
✎
11:39
|
А так
Массив=Новый Массив; Масств.Добавить(ТИП(Документ.АвансовыйОтчет)) Масств.Добавить(ТИП(Документ.ВозвратМатериаловИзЭксплуатации)); Масств.Добавить(ТИП(Документ.ВозвратПереданныхТоваров) ) Запрос.УстановитьПараметр("СписокТипов",Массив); и условие ТИПЗНАЧЕНИЯ(Поле) В (&СписокТипов) |
|||
15
zladenuw
08.07.14
✎
11:42
|
так лучше 1 запрос и 3 обьдинения в нем. и для каждого отдельно прописать
ГДЕ ХозрасчетныйОстаткиИОбороты.Регистратор = Ссылка Документ.АвансовыйОтчет и т.д. |
|||
16
Serginio1
08.07.14
✎
12:03
|
Тьфу
Массив=Новый Массив; Масств.Добавить(ТИП(ДокументСсылка.АвансовыйОтчет)) Масств.Добавить(ТИП(ДокументСсылка.ВозвратМатериаловИзЭксплуатации)); Масств.Добавить(ТИП(ДокументСсылка.ВозвратПереданныхТоваров) ) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |