Сообщение отдельно
24.10.2012 05:25
Eugin_S
 
Вот такой код у меня получается:

Код:
--Модуль печати накоплений

	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)