Вот такой код у меня получается:
Код:
--Модуль печати накоплений
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.adjustment("Фамилия:", __footer.receipt..client.sur_name, __width, " ") .. "\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), 48 ," ") .. "\n"
.. ukm.adjustment("Текущий баланс:", tostring(account:second().balance - acc_inrc), 48 , " ") .. "\n"
else
text = text .. ukm.adjustment("Предыдущий баланс:", tostring(account:second().balance + acc_inrc), 48 ," ").. "\n"
.. ukm.adjustment("Текущий баланс:", tostring(account:second().balance), 48 , " ") .. "\n"
end
end
end
end
end
--Конец модуля печати накоплений
УКМ выдает ошибку:
Код:
09:35:25: 0x00004000: WARNING: debug#/usr/local/storage/home/ukm/build-rel-49_sp9-2012_08_02_11_23_22/ukm/libukm/ccore.cpp(4618) CheckForNotEndedReceipt: п÷я─п╦ п╦я│п©п╬п╩пҐп╣пҐп╦п╦ я│п╨я─п╦п©я┌п╟ п©я─п╬п╦пЇп╬я┬п╩п╟ п╬я┬п╦п╠п╨п╟: [string "receipt.lua"]:465: attempt to index global 'client' (a nil value)