def import_invoice(invoices, options={},*args)
o = {:date => false, :journals => []}.merge(options)
if o[:date] :
o[:date] = Date.parse(str=o[:date]).to_s
else
o[:date] = Date.today.to_s
end
journal_ids=[]
o[:journals].each do |journal|
journal_ids.push journal.id
end
invoice_move_line_ids=[]
inv_total=0.0
self.balance_start=inv_total
invoices.each do |inv|
unless inv.class == AccountInvoice :
raise "!!! --- HELPER ERROR :import_invoice received a #{inv.class.to_s} instead of AccountInvoice"
end
inv.move_id.line_id.each do |move_line|
if (not move_line.reconcile_id) && move_line.account_id.reconcile
invoice_move_line_ids.push move_line.id
inv_total = inv_total + move_line.amount_currency
end
end
end
self.balance_end_real=inv_total
self.save
unless self.class == AccountBankStatement :
raise "!!! --- HELPER ERROR :import_invoice received a #{self.class.to_s} instead of AccountBankStatement"
end
wizard = self.old_wizard_step('populate_statement_from_inv')
step_dict = wizard.datas.merge({:date=>o[:date]})
step_dict=step_dict.merge({:journal_id=> [[[],[],journal_ids]]})
res=wizard.go(step_dict)
step_dict=res.datas.merge(step_dict)
step_dict=step_dict.merge({:lines=> [[[],[],invoice_move_line_ids]]})
res=wizard.finish(step_dict)
end