Имя: Пароль:
1C
1C 7.7
v7: SQL INSERT c полем, которое может принимать Значение NULL
0 Mihenius
 
29.06.21
11:44
Кто еще помнит, подскажите )

Есть INSERT в таблицу SQL
Поле имеет тип Int, может быть NULL

В 1С поле числовое.

Как присвоить по условию полю NULL, если в 1с оно 0?
Переделать базу SQL не могу.

Обработчик.УстановитьТекстовыйПараметр("dhservise", ?(Число(dhservise)=0,"NULL",Число(dhservise)));

Так он считает, что это строка. Если сделать 'NULL', что пустая дата
Если стоит просто NULL внутри запроса, то все работает.

Сам же и нашел по поиску )
https://www.1cpp.ru/forum/YaBB.pl?num=1148630341

Нужно банально использовать ПолучитьПустоеЗначение()

Обработчик.УстановитьТекстовыйПараметр("dhservise", ?(Число(dhservise)=0,ПолучитьПустоеЗначение(),Число(dhservise)));
1 Ёпрст
 
29.06.21
12:10
и ?
2 Mihenius
 
29.06.21
12:13
(1) Пока писал вопрос, сам нашел ответ.

Ну и хоть вероятность, что кому-то пригодится равна 0, решил поделиться, раз набрал сообщение )
3 Z1
 
29.06.21
12:15
(0) пустое значение 1с это не null
родные таблицы 7.7  sql не содержат полей null
если произвольная таблица то не включай поле в insert и если нет default на это поле то поле будет null после вставки строки