I created this wizard to add custom invoice in 'pos.order':
import wizard
import pooler
from tools.translate import _
class link_invoice(wizard.interface):
def _show_report(self, cr, uid, data, context):
pos_obj = pooler.get_pool(cr.dbname).get('pos.order')
found = False
for pos in pos_obj.browse(cr, uid, data['ids'], context = context):
for inv in pos.invoice_id:
if inv.state != 'cancel':
found = True
break
continue
if not found:
raise wizard.except_wizard(_('Error'), _('POS has no related invoices.'))
return {
'report_name': 'invoice.with_picking_lists',
'type': 'ir.actions.report.xml' }
states = {
'init': {
'actions': [],
'result': {
'type': 'action',
'action': _show_report,
'state': 'end' } } }
link_invoice('pos.order.invoice.with_picking_lists')
When I try to open invoice, I get this error:
KeyError: "Field '0' does not exist in object 'browse_record(pos.order, 8)'"