Имя: Пароль:
1C
1С v8
в Запросе ВЫБОР КОГДА ТОГДА
,
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) чтобы запрос быстрее работал исправь конструкцию по шаблону:
КОГДА ВзаиморасчетыПокупателиОстатки.КредДокумент ССЫЛКА Документ.РасходнаяНакладная
                ТОГДА ВЫРАЗИТЬ(ВзаиморасчетыПокупателиОстатки.КредДокумент КАК Документ.РасходнаяНакладная).ДатаОплаты
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс