Главная категория > Посцентр (ШТРИХ-М)

Штрих онлайн ( ФФД 1.05) округляет цену до рубля - как убрать?

<< < (7/7)

kkmspb:
Итак проблема идентифицирована наконец.

Оказывается при установке свойства Com об'екта кроме самого значения надо передавать ещё и тип значения, а именно для Price тип VT_CY (денежный).
Так вот в С++ такого типа нет. В библиотеке Qt (у нас 4.8.1) тоже нет такого типа.
Смысл ситуации в том, что надо править исходники фреймворка Qt, реализовывать новый тип в QVariant, возможно править метаоб'ектную систему Qt, ,потом шлифовать/отлаживать классы QAxObject, пересобирать полностью Qt.
Конечно мы это сделаем, но надо понимать, что это будет уже форк и при обновлении на новую версию Qt все слетит к чертям собачьим.
Хочется добавить в итоге, что всего этого можно было избежать если использовать просто число с плавающей точкой (как в случае с количеством), которое поддерживается процессорами на аппаратном уровне и соответственно всеми языками программирования.
Ни и последнее - как вы думаете на чем написан драйвер Атола и почему у него таких проблем нет?

pavel_net:
Ну вообще правильней использовать целые копейки чтобы вообще никаких проблем не было.
Атол полностью переписал свой драйвер после 6 версии и у них получился хороший современный продукт. Хотя мне у них много чего не нравится.
Вся беда Штриха, что у них драйвер как буханка, сразу получился заеб... идеально, но теперь он немножечко устарел.

kkmspb:
В общем сделал развитие фреймворка Qt. Добавил новый тип данных, назвал QpCurrency. Qp это наш префикс для различия с исходниками самого Qt.
То есть надо интегрировать самопальный тип данных в QVariant, потом интегрировать его в метаобъектную систему Qt, потом не забыть настроить конвертации между базовыми типами данных. Потом пересобирать исходники Qt, да конечно ещё все отлаживать исправлять ошибки.

Но самое главное, что проблему решить возможно и без этого никакой ккт Штрих к проге, написанной на Qt С++, подключить нормально НЕВОЗМОЖНО будет.

То, что у Штриха выложен какой-то кроссплатформенный драйвер в виде объявлений методов на С++ это все полная ерунда, это не работает для копеек и получается тонкая подстава (да простят меня полосатые).

Всем спасибо, решение найдено.

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Произошла ошибка благодарности
Думаю...
Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 
Перейти к полной версии