|
в Запросе ВЫБОР КОГДА ТОГДА | ☑ | ||
---|---|---|---|---|
0
SH_tan
18.08.14
✎
12:59
|
не могу понять что именно оно значит
ВЫБОР КОГДА ВЫБОР КОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент ССЫЛКА Документ.РасходнаяНакладная ТОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент.ДатаОплаты ИНАЧЕ ВЫБОР КОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент ССЫЛКА Документ.ОказаниеУслуг ТОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент.ДатаОплаты ИНАЧЕ ВзаиморасчетыПокупателиОстатки.КредДокумент.Дата КОНЕЦ КОНЕЦ < &НачДата И ЕСТЬNULL(ВзаиморасчетыПокупателиОстатки.ДолгОстаток, 0) > 0 ТОГДА ЕСТЬNULL(ВзаиморасчетыПокупателиОстатки.ДолгОстаток, 0) ИНАЧЕ 0 КОНЕЦ |
|||
1
salvator
18.08.14
✎
13:00
|
Вроде все по-русски написано.
|
|||
2
rsergio
18.08.14
✎
13:01
|
Вложенное условие т.к. ветвления нет
|
|||
3
acsent
18.08.14
✎
13:01
|
вместо ИНАЧЕ ВЫБОР КОГДА можно писать просто КОГДА
|
|||
4
Килограмм
18.08.14
✎
13:05
|
Немного оптимизировать можно, допустим:
ВЫБОР КОГДА ВЫБОР КОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент ССЫЛКА Документ.РасходнаяНакладная ИЛИ ВзаиморасчетыПокупателиОстатки.КредДокумент ССЫЛКА Документ.ОказаниеУслуг ТОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент.ДатаОплаты ИНАЧЕ ВзаиморасчетыПокупателиОстатки.КредДокумент.Дата КОНЕЦ КОНЕЦ < &НачДата И ЕСТЬNULL(ВзаиморасчетыПокупателиОстатки.ДолгОстаток, 0) > 0 ТОГДА ЕСТЬNULL(ВзаиморасчетыПокупателиОстатки.ДолгОстаток, 0) ИНАЧЕ 0 КОНЕЦ |
|||
5
Килограмм
18.08.14
✎
13:06
|
(4) один из "Конец" излишний написал
|
|||
6
Килограмм
18.08.14
✎
13:07
|
И ЕСТЬNULL(ВзаиморасчетыПокупателиОстатки.ДолгОстаток, 0) > 0 ну и это условие тоже убираем, тогда и Выбор Когда Выбор КОГДА можно убрать
|
|||
7
SH_tan
18.08.14
✎
13:09
|
(4) ошибку выдает при таком
ожидается выражение ТОГДА |
|||
8
1Сергей
18.08.14
✎
13:26
|
может, так понятнее?
ВЫБОР КОГДА (ВЫБОР КОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент ССЫЛКА Документ.РасходнаяНакладная ТОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент.ДатаОплаты ИНАЧЕ (ВЫБОР КОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент ССЫЛКА Документ.ОказаниеУслуг ТОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент.ДатаОплаты ИНАЧЕ ВзаиморасчетыПокупателиОстатки.КредДокумент.Дата КОНЕЦ) КОНЕЦ) < &НачДата И ЕСТЬNULL(ВзаиморасчетыПокупателиОстатки.ДолгОстаток, 0) > 0 ТОГДА ЕСТЬNULL(ВзаиморасчетыПокупателиОстатки.ДолгОстаток, 0) ИНАЧЕ 0 КОНЕЦ |
|||
9
SH_tan
18.08.14
✎
13:39
|
(8) теперь понятнее спс
|
|||
10
SH_tan
18.08.14
✎
13:53
|
в двух словах проверяет условие на дату документа и выводит значение ДолгОстаток если удовлетворяет дате и Остаток больше нуля или
выводит ноль |
|||
11
Jaap Vduul
18.08.14
✎
13:53
|
(8), (9) см. (3)
|
|||
12
1Сергей
18.08.14
✎
13:54
|
(3) (11) А лишние слова КОНЕЦ Пушкин убирать будет?
|
|||
13
SH_tan
18.08.14
✎
14:00
|
(12)
ВЫБОР КОГДА ВЫБОР КОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент ССЫЛКА Документ.РасходнаяНакладная ТОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент.ДатаОплаты КОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент ССЫЛКА Документ.ОказаниеУслуг ТОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент.ДатаОплаты ИНАЧЕ ВзаиморасчетыПокупателиОстатки.КредДокумент.Дата КОНЕЦ < &НачДата ТОГДА ЕСТЬNULL(ВзаиморасчетыПокупателиОстатки.ДолгОстаток, 0) ИНАЧЕ 0 КОНЕЦ |
|||
14
1Сергей
18.08.14
✎
14:02
|
(13) так и есть. сколько раз встречается ВЫБОР, столько встречается и КОНЕЦ
|
|||
15
Bober
18.08.14
✎
15:46
|
(0) чтобы запрос быстрее работал исправь конструкцию по шаблону:
КОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент ССЫЛКА Документ.РасходнаяНакладная ТОГДА ВЫРАЗИТЬ(ВзаиморасчетыПокупателиОстатки.КредДокумент КАК Документ.РасходнаяНакладная).ДатаОплаты |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |