ДополнитьТаблицу искажает данные

1. PerlAmutor 129 30.06.17 10:40 Сейчас в теме
Разобрался. Квалификаторы числовых полей различаются у двух Таблиц Значений. В одной 2 знака после запятой, в другой - неограниченное. Дальше можете не читать.
---
В типовой конфигурации есть функция:
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(ТЗ1, ТЗ2);


Так вот, если в одной таблице было числовое поле со значением "123,7807", то после такого вот дополнения там уже будет округленное значение: "123,7800"

Как следствие это приводит к математическим погрешностям. В моем случае аж на 60 рублей...

Похоже ошибка старая, но не решенная: http://1c-pro.ru/threads/matematicheskie-vychislenija-i-okruglenija.14391/

Дело даже хуже чем я думал:

	КолонкиПриемника = ТаблицаПриемник.Колонки;
	Для Каждого СтрокаТаблицыИсточник Из ТаблицаИсточник Цикл
		
        Стр = ТаблицаПриемник.Добавить();
        Для Каждого Поле Из КолонкиПриемника Цикл
            Попытка
                Сообщить("До переноса: " + СтрокаТаблицыИсточник[Поле.Имя]);
                Стр[Поле.Имя] = СтрокаТаблицыИсточник[Поле.Имя];
                Сообщить("После переноса: " + Стр[Поле.Имя]);
            Исключение
            КонецПопытки;
		КонецЦикла;

	КонецЦикла;

Показать

До переноса: 0,780705
После переноса: 0,78


Вот кто его просит округлять?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VmvLer 30.06.17 11:59 Сейчас в теме
Разобрался. Квалификаторы числовых полей различаются у двух Таблиц Значений. В одной 2 знака после запятой, в другой - неограниченное.


это свое сообщение выделите как решение, ибо тратить время на чтение сабжа с домыслами не рационально
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот