I want to obtain in a account.invoice the value of a field of the sale order which has created the invoice.
class account_invoice(osv.osv):
_name = "account.invoice"
_inherit = "account.invoice"
def _get_n_ref(self, cr, uid, ids, field_name, arg, context=None):
origin = self.pool.get('account.invoice').browse(cr, uid, ids, context=context)[0].origin # recuperer attribut 'origin' qui correspond au nom de la commande
order_id = self.pool.get('sale.order').search(cr, uid, [('name', '=', origin)], context=context)[0] # recuperer id de la commande
return self.pool.get('sale.order').browse(cr, uid, order_id, context=context)['n_ref'] # retourne n/ref de la commande
_columns = {
'n_ref': fields.function(_get_n_ref, string='N/Ref', type='char', store=True),
}
account_invoice()
I have the error :
Server Traceback (most recent call last):
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\openerp\addons\web\session.py", line 90, in send
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\netsvc.py", line 293, in dispatch_rpc
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\service\web_services.py", line 626, in dispatch
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\osv\osv.py", line 188, in execute_kw
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\osv\osv.py", line 131, in wrapper
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\osv\osv.py", line 197, in execute
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\osv\osv.py", line 185, in execute_cr
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\openerp\addons\test_nouveau_devis\nouveau_devis.py", line 367, in create_invoices
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\openerp\addons\test_nouveau_devis\nouveau_devis.py", line 186, in manual_invoice
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\workflow\wkf_service.py", line 119, in trg_validate
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\workflow\instance.py", line 43, in validate
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\workflow\workitem.py", line 60, in process
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\workflow\workitem.py", line 175, in _split_test
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\workflow\workitem.py", line 183, in _join_test
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\workflow\workitem.py", line 40, in create
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\workflow\workitem.py", line 52, in process
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\workflow\workitem.py", line 127, in _execute
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\workflow\wkf_expr.py", line 67, in execute
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\workflow\wkf_expr.py", line 57, in _eval_expr
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\tools\safe_eval.py", line 241, in safe_eval
File "", line 1, in <module>
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\osv\orm.py", line 374, in function_proxy
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\openerp\addons\test_nouveau_devis\nouveau_devis.py", line 170, in action_invoice_create
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\openerp\addons\test_nouveau_devis\nouveau_devis.py", line 223, in _make_invoice
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\openerp\addons\mail\mail_thread.py", line 242, in create
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\osv\orm.py", line 4478, in create
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\osv\orm.py", line 4627, in _store_set_values
File "C:\Program Files (x86)\OpenERP 7.0-20130513-231009\Server\server\.\openerp\osv\fields.py", line 1137, in get
AttributeError: 'unicode' object has no attribute 'get'
How to fix that ? Thanks
test_nouveau_devis\nouveau_devis.py , line 223 ? test_nouveau_devis\nouveau_devis.py, line 170?
it is a module i have created
no , what is code lines 170,223 ?