|
v7: Выбор когда иначе если конецесли в v77 | ☑ | ||
---|---|---|---|---|
0
VovkaBo
06.04.12
✎
11:54
|
Приветствую.
Миллион лет не работал с семеркой, а тут понадобилось. Можно ли в семерке в запросе выбирать поля, используя конструкция ВЫБОР КОГДА ИНАЧЕ ЕСЛИ КОНЕЦЕСЛИ, по типу как в 8-ке? И вообще, как можно выбрать то или иное значение в поле в зависимости от моего условия? Спасибо :) |
|||
1
Guk
06.04.12
✎
11:55
|
можно. только надо будет ВК подцепить...
|
|||
2
zxcvb
06.04.12
✎
12:00
|
Можно. Проверяй еще условие да выбирай или нет.
|
|||
3
mikecool
06.04.12
✎
12:00
|
читаем описание функция() и может быть достаточно
|
|||
4
zxcvb
06.04.12
✎
12:08
|
Автор наверное удивился...
|
|||
5
VovkaBo
06.04.12
✎
12:13
|
(4) Не, пытаюсь осмыслить и применить советы. Направление размышления понял :) Хотя выглядит геморно :)
|
|||
6
VovkaBo
06.04.12
✎
12:14
|
В общем-то, мне нужно так:
Если Клиент.Настройка = 1 Тогда взять Сумму Иначе взять 0 Вот так :) |
|||
7
zxcvb
06.04.12
✎
12:29
|
(6)Ну тут еще варианты вон предлагают... Может элегантнее можно.
|
|||
8
andrewks
06.04.12
✎
12:35
|
если штатно - через внешнюю функцию. только тормозить будет
|
|||
9
povar
06.04.12
✎
12:37
|
можно использовать 1срр
|
|||
10
aka AMIGO
06.04.12
✎
12:38
|
не применял никогда в черном ?(,,)
вот интересно, сработает? :) |
|||
11
zxcvb
06.04.12
✎
12:43
|
(10) в ? - черный сработает, а ? в черном - что-то не врублюсь куда вставить...
|
|||
12
aka AMIGO
06.04.12
✎
12:46
|
Условие (Перем=?(,,))
может так :) |
|||
13
G-Re
06.04.12
✎
12:49
|
Условие (Клиент.Настройка=1);
|
|||
14
viktor_vv
06.04.12
✎
12:58
|
Может так
|Функция МояСумма = Сумма(ОписаниеПеременнойСуммы) Когда (Клиент.Настройка = 1); или Если Можно достучаться |Настройка = Справочник.Клиенты.Настройка ; |Функция МояСумма = Сумма(ОписаниеПеременнойСуммы) Когда (Настройка = 1); |
|||
15
aka AMIGO
06.04.12
✎
12:59
|
|Сумма = Док.Сумма;
|Условие (Результат=?(,Клиент.Настройка=1,Сумма,0); |
|||
16
viktor_vv
06.04.12
✎
13:00
|
(14)+ Что такое сумма и откда берется ?
|
|||
17
VovkaBo
06.04.12
✎
13:37
|
(15)
Да, если сработает |Условие (Результат=?(,Клиент.Настройка=1,Сумма,0); это будет то, что надо |
|||
18
VovkaBo
06.04.12
✎
13:39
|
(16)
Нужен полный аналог следующей конструкции (так бы я написал в 8-ке) Выбор Когда Документ.Клиент.ХитраяНастройка = 1 (истина) Тогда Документ.Сумма Иначе Документ.Сумма / 2 КонецЕсли |
|||
19
Он
06.04.12
✎
13:43
|
Давно бы выборкой с условием сделал. И время на трындёж не тратил.
Главное - результат, а не как сделал - кошерно или некошерно. |
|||
20
VovkaBo
06.04.12
✎
13:51
|
(19)
я в чужом коде ковыряюсь, и не просто в коде, а в хитром алгоритме. И никто не объяснит, почему это работает так, а не иначе, поэтому пытаюсь очень аккуратно вставить свою конструкцию. Мне нельзя ничего сломать :) |
|||
21
viktor_vv
11.04.12
✎
17:07
|
|Функция МояСумма = Сумма(ОписаниеПеременнойСуммы) Когда (Клиент.Настройка = 1);
|Функция МояСуммаДеленная = Сумма(ОписаниеПеременнойСуммы/2) Когда (Клиент.Настройка = 0); Правда суммированть при обходе уже. |
|||
22
viktor_vv
11.04.12
✎
17:17
|
Ну можно еще так попробовать
|Функция МояСумма = Сумма(ОписаниеПеременнойСуммы/(2-Клиент.Настройка )) ; Может проконает. |
|||
23
viktor_vv
11.04.12
✎
17:19
|
Правда не понятно что такое сумма. Если это связано с регистрами и функции отличные от Сумма(), то (22) не пойдет.
|
|||
24
viktor_vv
11.04.12
✎
17:20
|
Вот это я тормоз :).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |