Имя: Пароль:
1C
 
Зачем такая конструкция? Если Истина И... Если Ложь ИЛИ ... ?
0 RomaH
 
naïve
11.09.20
09:07
Если Истина
        И ЗначениеЗаполнено(ЭтотОбъект.Ссылка)
        И Не ЗначениеЗаполнено(ЭтотОбъект.Ссылка.Реквизит)
    Тогда
        Если Ложь
            Или ЭтотОбъект.Реквизит1
            Или Не ЭтотОбъект.Первичный
                И ТипЗнч(ЭтотОбъект.Реквизит2 <> Тип("Число")
        Тогда
            Возврат;
        КонецЕсли;
    КонецЕсли;


на результат не влияет - наглядность?
1 craxx
 
11.09.20
09:08
(0) судя по всему вместо ИСТИНА и ЛОЖЬ когда-то были другие выражения, а тому кто переписывал было лень переформатировать строку
2 dka80
 
11.09.20
09:10
Это заглушка для тестирования
3 RomaH
 
naïve
11.09.20
09:11
поискал глобально - в этой конфе не одна такая строчка ... т.е., ИМХО, это "стиль автора"
4 RomaH
 
naïve
11.09.20
09:11
(2) а как применять?
5 вым
 
11.09.20
09:12
в отладке удобно использовать , а при работе уже "Истина" заменяется своими условиями
6 dka80
 
11.09.20
09:12
Хотя, может быть, это на случай Неопределено
Например,
Если Переменная... При значении Переменная=Неопределено выдаст ошибку
Если Истина И Переменная... При значении Переменная=Неопределено уже не выдаст
7 RomaH
 
naïve
11.09.20
09:14
(6)
Преобразование значения к типу Булево не может быть выполнено
{ВнешняяОбработка.ОбновитьСписокПользователейИСертификатов.Форма.Форма.Форма(272)}:    Если Истина И Условие Тогда
8 s111
 
11.09.20
09:14
(2) +1. я иногода ставлю 1=1 или 1=2)
9 Ботаник Гарден Меран
 
11.09.20
09:14
Для форматирования - удобно добавлять и удалять условия.
И для отладки - Истина быстро можно заменить на Ложь.
10 Бешеный заяц
 
11.09.20
09:16
(0) заглушка, или так автору мыслить удобнее, например я не люблю конструкцию "НЕ" плохо мозг это у меня воспринимает поэтому часто делаю сравнение на "Ложь"
11 dka80
 
11.09.20
09:16
(7) Да. Фигню написал. Истина И Неопределено дает ошибку тоже. Значит точно заглушка
12 вым
 
11.09.20
09:20
в запросах особенно эффективно использовать. в отладке текст запроса не разрывается, а в работе "Истина" меняется на нужное условие
13 DrZombi
 
гуру
11.09.20
09:23
(0) Все просто.

Если документ не новый, то проверяем у него реквизит.

Далее...

Если Ложь... - Обычно данная конструкция используется для отладки, или когда Заказчик или РП (руководитель проекта) не знает, что хочет от программиста , а вернее от того, как надо реализовать.

...
Давольно все просто и читаемо :)
14 DrZombi
 
гуру
11.09.20
09:24
(12) +100 :)
15 Fedor-1971
 
11.09.20
09:40
(12) В запросах удобно использовать &НечтоДлинноеИМалостьОсмысленное, т.к. Истина может встречаться не там где тебе нужно заменить

(0) Это Включение/выключение условий с сохранением кода, т.е. у тебя есть некое сложное условие, что-бы не помнить "А что там было до того как" или заказчик взял и изменил условия проверки (или логику работы системы), но возможен возврат к старым.
  ставим "Ложь И" (то что было) - сохранили код, но в ветку гарантированно не попадём
  или нужно тупо отправлять по конкретной ветке тогда "Истина ИЛИ"

Как вариант: реализованы несколько разных алгоритмов работы системы, конкретный заказчик сказал "Да будет так" и ему ставим "Истина ИЛИ" на нужную ветку, остальным нормально прокатывает многовариантность
16 mikecool
 
11.09.20
09:41
иногда один глупец скажет то, что не понять и сотне мудрецов....
17 fisher
 
11.09.20
09:45
(0) Это для удобства рефакторинга - чтобы все "реальные" условия выглядели и форматировались однотипно. Сам подобный стиль не одобряю. Но и не порицаю.
18 Вафель
 
11.09.20
09:46
тут удобно что-то закомментить по быстрому
19 вым
 
11.09.20
09:47
(18) +100500
20 вым
 
11.09.20
09:50
(15) &НечтоДлинноеИМалостьОсмысленное - это дополнительный параметр запроса, в той же консоли его надо будет определять, да и в самом тексте определять, заменять. А так если замена не нужна будет по условиям, то работает по умолчанию
21 fisher
 
11.09.20
09:53
(17) + Т.е. тут идет размен маленького wtf на небольшое удобство рефакторинга в ряде случаев. Как по мне - весьма сомнительный размен.
22 Bigbro
 
11.09.20
09:57
я бы сказал что это почти наверняка выросло исторически. было многоэтажное условие, затем решили волевым условием что эта ветка должна отрабатываться так всегда.
ну а поскольку руководство не всегда представляет себе последствия решений, а код может быть весьма не прост и доставить непредвиденные нюансы - то программист сохранил все что было вместо замены условий. и вернуться будет возможно и при возникновении непонятных ситуаций найти причину будет проще.
23 Fedor-1971
 
11.09.20
09:59
(21) Скорее размен "Целостность кода при доработке" на "Геморой с обновлением конкретного заказчика", при условии, что таких уникумов 1 или 2 из 20
24 TormozIT
 
гуру
11.09.20
10:01
25 вым
 
11.09.20
10:10
(24) красавчик!
долго вспоминал, где же я это читал
26 fisher
 
11.09.20
10:10
(24) У тебя там кони-люди. В одной куче и приведение булева выражения к нормальной форме и сабжевый стилистический изыск. Одно с другим напрямую не связано.
27 TormozIT
 
гуру
11.09.20
10:13
(26) По поводу связи не согласен. Связь довольно явная. Она в статье как раз демонстрируется. А ты 5-ю словами решил опровергнуть это? Слабовато =)
28 fisher
 
11.09.20
10:15
(27) Имеющий уши да услышит.
29 TormozIT
 
гуру
11.09.20
10:16
(28) Желающий быть услышанным сформулирует свою точку зрения так, чтобы слушающие его услышали.
30 fisher
 
11.09.20
10:19
(29) "Для повышения наглядности вставляем в начало группы операцию с не нарушающим результат вычисления группы константным значением"
"ДЛЯ ПОВЫШЕНИЯ НАГЛЯДНОСТИ". Очень сильная явная связь. Неоспоримая.
31 fisher
 
11.09.20
10:21
(30) А как по мне, если выкинуть из конечного итога преобразований "константные значения повышения наглядности", то наглядность не только не страдает, но и выигрывает.
32 вым
 
11.09.20
10:22
(31) на вкус и цвет фломастеры разные. Стандартов как таковых нет, вас никто не заставляет придерживаться этого правила
33 fisher
 
11.09.20
10:24
(32) Я так и писал выше. Что не одобряю этот стиль, но и не порицаю. А спорил с TormozIT в той части, что этот стилистический элемент не имеет прямой связи с приведением булева выражения к нормальной форме.
34 fisher
 
11.09.20
10:35
Можно притянуть за уши, что первая булева константа сразу дает понять, какая именно нормальная форма используется - дизъюнктивная или конъюнктивная. Но это именно будет притянуто за уши, ибо это прекрасно видно и без этого.