I am having the same error this morning when confirming sale from quote to sales order.
here is my error:
OpenERP Server Error
Client Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/http.py", line 203, in dispatch
response["result"] = method(self, *self.params)
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1133, in call_button
action = self._call_kw(req, model, method, args, {})
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1121, in _call_kw
return getattr(req.session.model(model), method)(args, **kwargs)
File "/opt/openerp/server/openerp/addons/web/session.py", line 43, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/openerp/server/openerp/addons/web/session.py", line 31, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/openerp/server/openerp/addons/web/session.py", line 104, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 90, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 293, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 626, in dispatch
res = fn(db, uid, params)
File "/opt/openerp/server/openerp/osv/osv.py", line 188, in execute_kw
return self.execute(db, uid, obj, method, *args, *kw or {})
File "/opt/openerp/server/openerp/osv/osv.py", line 131, in wrapper
return f(self, dbname, args, *kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 197, in execute
res = self.execute_cr(cr, uid, obj, method, args, *kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 185, in execute_cr
return getattr(object, method)(cr, uid, args, *kw)
File "/opt/openerp/server/openerp/addons/portal_sale/portal_sale.py", line 64, in action_button_confirm
return super(sale_order, self).action_button_confirm(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/sale/sale.py", line 581, in action_button_confirm
wf_service.trg_validate(uid, 'sale.order', ids[0], 'order_confirm', cr)
File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 106, in _execute
returned_action = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, in safe_eval
return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
File "", line 1, in <module>
File "/opt/openerp/server/openerp/osv/orm.py", line 374, in function_proxy
return attr(self._cr, self._uid, [self._id], args, *kwargs)
File "/opt/openerp/server/openerp/addons/sale_stock/sale_stock.py", line 446, in action_ship_create
self._create_pickings_and_procurements(cr, uid, order, order.order_line, None, context=context)
File "/opt/openerp/server/openerp/addons/sale_stock/sale_stock.py", line 415, in _create_pickings_and_procurements
move_id = move_obj.create(cr, uid, self._prepare_order_line_move(cr, uid, order, line, picking_id, date_planned, context=context))
File "/opt/openerp/server/openerp/addons/sale_stock/sale_stock.py", line 312, in _prepare_order_line_move
location_id = order.shop_id.warehouse_id.lot_stock_id.id
AttributeError: 'NoneType' object has no attribute 'id'