пятница, 3 декабря 2010 г.

1c 7.7 и NUMERIC формат. Запрос к БД firebird 1.5 из 1с 7.7

При выполнении запросов к БД firebird 1.5 из 1с 7.7 возникает ошибка "тип переменной не поддерживается". Это происходит по причине того, что 1с не понимает формат NUMERIC, возвращаемый SQL.
Дабы избежать этого - необходимо использовать преобразование типов данных еще на уровне SQL запроса. Делается это при помощи функции CAST или CONVERT (для SQL) и STR (для DBF)

Пример неправильного кода:


ТекстЗапроса = "select goods_id, goods_saldo from goods";

где goods_id - типа integer, goods_saldo - типа numeric
в данном случае в 1с возникнет ошибка

Пример правильного кода:


ТекстЗапроса = "select goods_id, cast (goods_saldo as float) as goods_saldo from goods";


где goods_id - типа integer, goods_saldo - типа numeric
а вот в данном случае в 1с ошибка НЕ возникнет

Комментариев нет:

Отправить комментарий