0
atlantika
19.09.13
✎
10:40
|
Подскажите встречался ли кто нибудь с такой ситуацией?
И если можно ее как то исправить, то как лучше это сделать?
При получении некоторого значения типа Число, два знака после запятой, через СОМ-соединение в результате получается число с 11 знаками после запятой. Не для всех получаемых значений. При повторном запросе искажения сохраняются в точности.
В базе источнике тот же запрос дает корректные значения, все реквизиты проверены - два знака после запятой.
Например имеем число 9 200,03 , а получаем 9 200,03000000001
|
|
1
atlantika
19.09.13
✎
11:34
|
Причина:"..Это особенность числовых типов данных в модели COM. В ней нет точного соответствия числовым типам 1С, поэтому они так и передаются. Если вы точно знаете, какая должна быть разрядность результата, то спокойно округляйте его на вызывающей стороне."
найденный способ решения - описывать тип поля в таблице значений куда будут выгружаться результаты запроса в цикле:
ТаблицаИзБухгалтерии.Колонки.Добавить("СуммаДокумента", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15, 2)));
|
|