Имя: Пароль:
1C
 
В чем смысл изменения текста запроса?
0 Kvant1C
 
10.06.15
12:31
Ставлю обновление на УТ11.
Вижу такой типовой фрагмент кода:
в основной конфе:
ВЫБОР КОГДА НЕ &ОтборПоСегментуУстановлен ТОГДА ИСТИНА
в конфе поставщика:
ВЫБОР КОГДА &ОтборПоСегментуУстановлен <> ИСТИНА ТОГДА ИСТИНА

В чем магический смысл такого изменения?
1 butterbean
 
10.06.15
12:33
(0) потому что &ОтборПоСегментуУстановлен может быть и не булевым
2 Kvant1C
 
10.06.15
13:01
(1) То есть получается во втором варианте перед выполнением сравнения происходит преобразование типа левого операнда?
3 ДенисЧ
 
10.06.15
13:04
(2) Справочник.номенклатура.ПустаяСсылка() не равен Истина... Это точно...
и не надо преобразовывать
4 Рэйв
 
10.06.15
13:04
(2) вариант
НЕ &ОтборПоСегментуУстановлен ТОГДА
подразумевает, что в ОтборПоСегментуУстановлен ВСЕГДА находится булево.
Если каким то образом туда затешется какоето другое значение- будет ошибка.

А вариант
&ОтборПоСегментуУстановлен <> ИСТИНА ТОГДА

позволит таких ошибок не иметь
5 Kvant1C
 
10.06.15
13:06
(4) Ага, уже понял.
6 Kvant1C
 
10.06.15
13:16
(3) Ну правильно это не истина и не ложь и вообще не булево значение. Это значение с типом - Номенклатура.
Ну то есть ТипЗнч(Справочники.Номенклатура.ПустаяСсылка()) вернет значение Номенклатура.
7 Рэйв
 
10.06.15
13:19
(6)Скорее всего новый код - это защита от Неопределено.
8 Kvant1C
 
10.06.15
13:45
(7) Интересно, это они специально так делают или само собой получается, можно же было по человечески эту защиту сделать...
9 ЧеловекДуши
 
10.06.15
14:06
(0) Магия в устойчивости запроса к различным типам данных :)
10 ЧеловекДуши
 
10.06.15
14:06
(8) Студент, как может так и пишет :)
11 Kvant1C
 
10.06.15
14:22
(10) Похоже, что так и есть. Пока обновление ставил то и дело натыкался на то, что изменение заключается только в том, что в модуль добавилась пустая строка.
Вот нафига они так делают? Им как индусам за количество строк кода платят что-ли?
12 butterbean
 
10.06.15
14:23
(11) похмельная студенческая рука дрогнула и нажала Enter
13 Рэйв
 
10.06.15
14:24
(11)У них должно показывать, что модуль изменен. Хозяин посмотрит, что изменен и по голове бить не будет. А может даже на время от батареии отстегнет:-)
14 Serg_1960
 
10.06.15
16:21
(11) Ты же не думаешь всерьёз, что на фирме конфигурации правят в конфигураторе? :)
Закон Брукера: Даже маленькая практика стоит большой теории.