|
Условный оператор Если |
☑ |
0
Pepeega
10.03.21
✎
13:16
|
Добрый день коллеги, возникла проблема, в связи с тем, что я не особо хорошо еще разбираюсь в "оптимизации" конструкции если, есть 2 переменные(булево) и 2 колонки тз, обзовём их "Булево1" "Булево2" "Приём1" "Приём2"(приём, колонки в ТЗ) написал условие
Если Булево1 и Булево2 И приём1 = 0 и приём2 = 0 Тогда
колонкаТЗ = 3
ИначеЕсли булево1 и приём1 = 0 Тогда
колонкаТЗ = 5
ИначеЕсли булево2 и приём2 = 0 Тогда
колонкаТЗ = 5
КонецЕсли;
Но сейчас сказали, что такое условие можно написать проще и понятнее, не совсем понимаю, как его можно написать еще проще, подскажите, если кто-то понимает
|
|
1
ДенисЧ
10.03.21
✎
13:17
|
А спросить у тех, кто сказали?
|
|
2
Pepeega
10.03.21
✎
13:19
|
(1) к сожалению не подсказывают, я уже полчаса пробую, меняю условие, но все равно не то, что нужно выходит .-.
|
|
3
dka80
10.03.21
✎
13:19
|
Если Булево1 и Булево2 И Не приём1 и Не приём2
|
|
4
Kassern
10.03.21
✎
13:20
|
(2) объедини последние условия, по ним у тебя результат колонки одинаковый
|
|
5
dka80
10.03.21
✎
13:20
|
Если Булево1 и Булево2 И Не(приём1 и приём2)
|
|
6
dka80
10.03.21
✎
13:22
|
ИначеЕсли булево1 и приём1 = 0 Тогда
колонкаТЗ = 5
ИначеЕсли булево2 и приём2 = 0 Тогда
колонкаТЗ = 5
КонецЕсли;
ИначеЕсли (булево1 Или булево2) и Не(приём1 Или приём2 ) Тогда
колонкаТЗ = 5
КонецЕсли;
|
|
7
Злопчинский
10.03.21
✎
13:22
|
Кривые данные. нет условий на прием1 и прием2 если они не ноль. отсюда - значение Прием1 и прием2 - несущественно.
остается операции с Б1 и Б2
|
|
8
Pepeega
10.03.21
✎
13:22
|
(5) там же числа в колонке ТЗ хранятся, почему "И НЕ(приём1 и приём2)?
|
|
9
dka80
10.03.21
✎
13:23
|
(8) потому что при сравнении 0 эквивалентно Ложь, а все остальное истина
|
|
10
Pepeega
10.03.21
✎
13:24
|
(4) Пытался, но проще что-то не ставится
(6) Спасибо за пример, но конструкция ИначеЕсли которую вы написали, она же сложнее читается(мне, не знаю как остальным) или я тут не прав?
|
|
11
H A D G E H O G s
10.03.21
✎
13:29
|
Правильно Пипега, а не Пепига.
|
|
12
Pepeega
10.03.21
✎
13:30
|
(11) это специфичность Пепега
|
|
13
Йохохо
10.03.21
✎
13:33
|
если (а1 и б1) и (а2 и б2) тогда гоуту3
иначеесли (а1 и б1) или (а2 и б2) тогда гоуту5
|
|
14
Малыш Джон
10.03.21
✎
13:36
|
а вы говорите зачем математика программисту нужна...
|
|
15
Pepeega
10.03.21
✎
13:43
|
(13) Спасибо за пример
(14) тут вы правы
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший