Опять возникла похожая задача (см Печать в чеке чего-либо в зависимости от ИТОГО на чеке).
Но теперь делить надо не на 1000, а на 599/699/799 и т.д., т.е. без деления не обойтись.
Пытаюсь сделать так:
Код:
function print_receipt_footer(__footer, __print_data)
...
...
text = text .. ukm.center("Спасибо за покупку!",width," ") .. "\n";
text=text.."\n".."\n";
local Delit=1.0;
local Priznak= ;//определяем признак
if Priznak=="1" then
Delit=699.0;
else
Delit=799.0;
end;
local KolvoKup= ITOGO/Delit; // А ВОТ ТУТ КОСЯК!!!
local tempStr=tostring(KolvoKup);
text=text.."Проверочка "..tempStr.."\n";
text=text.."\n".."\n";
Косяк заключается в том, что при делении происходит ошибка типа : для типа currency не перегружена операция деления.
Попытка сделать так:
Цитата: local strItogo = tosting (ITOGO);
local dblItogo = tonumeric(strItogo,10);
local KolvoKup= dblItogo/Delit;
дает ошибку что dblItogo есть null (или nill).
Начал писать синтаксический разбор ITOGO (ИТОГО=первый символ+второй*10+третий*100+....). Утешает то, что вероятноcть покупки более 99999 ничтожно мала (ну сделаю до 999999 руб).
Но все-таки тешу себя надеждой что есть штатный способ поделить ДЕНЕЖКУ на ЦИФИРЬКУ....
Добавлено через 2 минуты 41 секунду
P/S/
Подставились смайлики.
Читать так:
(ИТОГО=первый символ+ второй * 10 + третий * 100 +....).