В общем вопрос с "постоянным подитогом" отложен в связи с тем, что задачу решили пересчетом таблицы чека при событии вывод на дисплей...
function print_display_item_20_2(__display, __item)
local text = "";
text = text .. __display:goto_xy(0,0);
text = text .. ukm.adjustment(ukm.left(__item.name, 12), tostring(__item.total), 20, " ");
text = text .. __display:goto_xy(0,1);
if __item.type == ukm.item.cancel then
text = text .. ukm.adjustment("ОТМЕНА: ", tostring(__item.total),20, " ");
elseif __item.type == ukm.item.void then
text = text .. ukm.adjustment("СТОРНО: ", tostring(__item.total),20, " ");
else
-- попробуем обратиться через таблицу покупок
local total_summ = ukm.currency(0);
local normal_items = __item.receipt.items:leavenormal();
for j = 0, normal_items:size() - 1 do
local i = get_table_from_item(normal_items:at(j));
total_summ = total_summ + i.total;
end
text = text .. ukm.adjustment("ИТОГО: ", tostring(total_summ), 20, " ");
end
return text;
end
работает отлично...