Ну тогда вот... То что все хотели в начале поста:)
Выводит накопления по чеку в подвале чека
На счеты было
Накоплено
Осталось
Надо просто вставить в receipt.lua в функцию function print_receipt_footer и вписать имя счета на место "Первый счет"
У нас работает на 48СП6 до 49сп9.
Если правильно помню на 47ой или даже на 48сп5 были какие то проблемы, кажется вообще не выводилось ничего на чеке по накоплениям.
Цитата: function print_receipt_footer(__footer, __print_data)
local printer = ukm.get_printer(ukm.printer_type_master());
if printer then
local text = "";
local width = printer:get_width();
-- Начало
if __footer.receipt.header.client.__ok then
local acc_inrc = ukm.currency(0);
for i=0, __footer.receipt.discounts:size() - 1 do
local d = __footer.receipt.discounts:at(i);
local di = __footer.receipt.items:getdiscountaccount(d);
if di:is_initialized() then
acc_inrc = acc_inrc + di:get();
end
end
-- text = text .. ukm.center("-", width+8, "-") .. "\n";
text = text .. "\n" .."Ваши накопления" .. "на дату " .. ukm.ptime2str(ukm.get_sys_date(), "%H:%M %d.%m.%Y") .. "\n"
.. ukm.adjustment("Текущий", tostring(ukm.currency(-1) * acc_inrc), 48, " ") .. "\n";
local account = ukm.map.string.struct_balance_info.iterator(ukm.get_client_open_account_info(__footer.receipt.header.client).account_balance_info);
while account:next() do
if account:first() == "Первый счет" or
account:first() == "Второй счет" then
if account:second().account_type_id == -1 then
text = text .. ukm.adjustment(account:first(), " Связь отсутсвует", 48," ") .. "\n";
else
if __footer.receipt.type == ukm.core.normal or __footer.receipt.type == ukm.core.restore_ then
text = text .. ukm.adjustment("Прежний остаток на счете", tostring(account:second().balance), 23 ," ") .. " "
.. ukm.adjustment("Текущий остаток на счете", tostring(account:second().balance - acc_inrc), 24 , " ") .. "\n"
else
text = text .. ukm.adjustment("Прежний остаток на счете", tostring(account:second().balance + acc_inrc), 23 ," ").. " "
.. ukm.adjustment("Текущий остаток на счете", tostring(account:second().balance), 24 , " ") .. "\n"
end
-- text = text .. ukm.center("-", width+8, "-") .. "\n";
end
end
end
end
-- Конец