Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: SQL INSERT c полем, которое может принимать Значение NULL

v7: SQL INSERT c полем, которое может принимать Значение NULL
Я
   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
и ?
   Mihenius
 
2 - 29.06.21 - 12:13
(1) Пока писал вопрос, сам нашел ответ.

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

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.