В общем, как нам кажется, проблема в том, что при применении скидки на неподтвержденную позицию в рекомендованном исправлении display.lua (для вывода суммового подитога) как-то неверно вычисляется переменная core:receipt_amount() - она возвращается без учета неподтвержденной позиции. Хотя для других видов скидок сумма правильная.
function print_display_item_ext(__display, __item, __width, __total)
local text = "";
text = text .. hw_goto_xy(0,0);
text = text .. ukm.adjustment(ukm.left(__item.name, __width - string.len(" " .. tostring(__item.total))), tostring(__item.total), __width, " ");
text = text .. hw_goto_xy(0,1);
local itemsign = " ";
if __item.type == ukm.item.cancel then
itemsign = "X";
elseif __item.type == ukm.item.void then
itemsign = "-";
end
local core = ukm.get_core(ukm.mashine.handle);
if core:header_exists() then
if (core:receipt_amount() - core:receipt_payed()) ~= ukm.currency(0) then
local cur_subtotal = core:receipt_amount() - core:receipt_payed();
text = text .. ukm.adjustment("ИТОГО: ", tostring(cur_subtotal), __width, " ");
end
end
return text;
end
Может быть разработчики посмотрят и предложат решение проблемы? Возможно есть другая переменная с правильной суммой, ведь на экране кассира выводится правильный итог.