Имя: Пароль:
1C
1С v8
Истина -> binary
0 Ibsen
 
19.12.17
13:38
Подскажите, нужно напрямую в SQL в таблице регистра устанавливать поле binary(1) (т.е. тип "Булево" в 1С) в = Истина.
Что нужно туда писать?
1 SeregaMW
 
19.12.17
13:39
Писать один или ноль!
2 MrCoffin
 
19.12.17
13:49
(1) А ноль тоже будет Истина?
3 Naumov
 
19.12.17
13:52
(2) Вроде как давно для всех очевидно, что 0 = false; 1= true.
Не только для 1С
4 v77
 
19.12.17
14:06
(3) ну а ещё правильнее 0 = false; -1 = true;
5 NorthWind
 
19.12.17
16:52
(2) Достаточно верно полагать, что 0 - ложь, а любое другое значение кроме 0 - истина. В некоторых случаях принято за "наиболее корректную" истину принимать -1, потому что в дополнительном коде это знаковое целое забивает единицами все разряды под свое хранение.
6 Fragster
 
гуру
19.12.17
16:52
0х1
7 Мандалай
 
19.12.17
17:14
(5)И в чем тут профит?
А если не указывать "-", что будет в разрядах?
8 Russiagreat
 
19.12.17
17:15
(0) 0х01
9 Вафель
 
19.12.17
17:20
Если длина типа = 1 бит, то 1 = -1
10 Russiagreat
 
19.12.17
17:23
(5) Неоднозначно. например ЭтоГруппа = истина в SQL 0x00
11 NorthWind
 
19.12.17
18:43
(10) вообще говоря, никто не мешает кодировать что угодно как угодно при условии что вы это задокументируете для других пользователей вашей системы. Но наиболее общепринято как в (3),(4) и (5) написано.
12 Russiagreat
 
19.12.17
19:26
(11) Вопрос достаточно четкий - для 1С
Программист всегда исправляет последнюю ошибку.