This question has been flagged
3 Replies
22968 Views

Hi, I am following the tutorial for OpenERP 7 and after creating a Request for Quotation, I am supposed to click on Confirm Order, but I get the following warning that I am unable to understand:


Integrity Error

The operation cannot be completed, probably due to the following: - deletion: you may be trying to delete a record while other records still reference it - creation/update: a mandatory field is not correctly set

[object with reference: location_id - location.id]

Is this a bug I need to report on launchpad? Thanks!

Avatar
Discard
Best Answer

Did you try to check your supplier's location: Supplier > Sales & Purchases > Supplier Location

If it is empty, set to "Partner Locations / Suppliers".

Avatar
Discard
Best Answer

Since you are trying to UPDATE a record, the error is telling you there is a field of type location_id that is mandatory and is not set. The field is shop_id.

There is no Shop defined for you to sell products from, or it isn't getting set when you create an RFQ.

To set one:

1) Make sure Manage multiple shops is checked under Settings --> Configuration --> Sales in the Quotations and Sales Orders section.

2) Refresh the User Interface in the web client by refreshing the page in your browse, or clicking in the bottom half of the company logo in the top left corner of the page.

3) Make sure there is a shop set for your company under Sales --> Configuration --> Shop

The shop dropdown is now added to the RFQ and Sales Order forms, so you can make sure one is selected before confirming,

By the way, this problem indicates an incorrect configuration somewhere during the setup of your database.

Ray.

Avatar
Discard
Author

Hi Ray. Thanks for your answer. Settings -> Configuration -> Sales -> Quotations and Sales Orders -> Manage multiple shops was already set. Sales --> Configuration --> Shop already has a shop defined with its warehouse. Now, in the RFQ there is no shop dropdown. There is a warehouse one, which points to the one shown in the shop configuration. I also tried to create a purchase order directly from Purchases -> Purchase Orders -> Create but I cannot do it: it forces me to create a RFQ. Am I doing something wrong? Thanks again!

I posted assuming you mean a Sales Quotation. For a Purchase Quotation, do you have a value in the DESTINATION field on the INCOMING SHIPMENTS AND INVOICES tab?

Author

Sorry, I thought RFQ were only for purchases. Yes, in the Incomming shipments and invoices tab of the RQF the destination is: Physical Locations / Ambitious Plumbing Enterprises / Stock I am trying to follow the tutorial (a nightmare so far, mainly due to multiple omissions), so I assume there might be a configuration problem somewhere, but I can't find it...

The error indicates that "Destination" does not have a value. If you have a value there I'm not sure what is going on.

Author

Thanks for your time. I am totally clueless about what's going on. Unfortunately OpenERP is not giving me a good first impression...

Try one of the builds on runbot.openerp.com - you can test out a database that is configured correctly.

Author Best Answer

Well, I am stuck with the tutorial until I solve this problem. Just in case, this is the stacktrace:

2013-09-01 20:34:39,706 2840 ERROR testing openerp.sql_db: bad query: insert into "stock_move" (id,"product_uos_qty","date_expected","product_uom","price_unit","product_uos","move_dest_id","product_qty","date","partner_id","product_id","name","auto_validate","location_id","company_id","priority","state","location_dest_id","purchase_line_id","picking_id",create_uid,create_date,write_uid,write_date) values (10,'10.000','2013-08-31 16:00:00',1,'56.00',1,NULL,'10.000','2013-08-31 16:00:00',6,2,'Titanium Alloy Radiator','False',NULL,1,'1','draft',12,1,10,1,(now() at time zone 'UTC'),1,(now() at time zone 'UTC'))
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/openerp/sql_db.py", line 226, in execute
    res = self._obj.execute(query, params)
IntegrityError: null value in column "location_id" violates not-null constraint

2013-09-01 20:34:39,733 2840 ERROR testing openerp.tools.safe_eval: Cannot eval u'action_picking_create()'
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/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 "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 374, in function_proxy
    return attr(self._cr, self._uid, [self._id], *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/openerp/addons/purchase/purchase.py", line 699, in action_picking_create
    picking_ids.extend(self._create_pickings(cr, uid, order, order.order_line, None, context=context))
  File "/usr/lib/pymodules/python2.7/openerp/addons/purchase/purchase.py", line 687, in _create_pickings
    move = stock_move.create(cr, uid, self._prepare_order_line_move(cr, uid, order, order_line, picking_id, context=context))
  File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 4436, in create
    cr.execute('insert into "'+self._table+'" (id'+upd0+") values ("+str(id_new)+upd1+')', tuple(upd2))
  File "/usr/lib/pymodules/python2.7/openerp/sql_db.py", line 161, in wrapper
    return f(self, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/openerp/sql_db.py", line 226, in execute
    res = self._obj.execute(query, params)
IntegrityError: null value in column "location_id" violates not-null constraint

2013-09-01 20:34:39,774 2840 ERROR testing openerp.netsvc: Integrity Error
The operation cannot be completed, probably due to the following:
- deletion: you may be trying to delete a record while other records still reference it
- creation/update: a mandatory field is not correctly set

[object with reference: location_id - location.id]
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/openerp/netsvc.py", line 292, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
  File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 626, in dispatch
    res = fn(db, uid, *params)
  File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 172, in wrapper
    netsvc.abort_response(1, _('Integrity Error'), 'warning', msg)
  File "/usr/lib/pymodules/python2.7/openerp/netsvc.py", line 71, in abort_response
    raise openerp.osv.osv.except_osv(description, details)
except_osv: ('Integrity Error', 'The operation cannot be completed, probably due to the following:\n- deletion: you may be trying to delete a record while other records still reference it\n- creation/update: a mandatory field is not correctly set\n\n[object with reference: location_id - location.id]')
2013-09-01 20:34:39,826 2840 INFO testing werkzeug: 127.0.0.1 - - [01/Sep/2013 20:34:39] "POST /web/dataset/exec_workflow HTTP/1.1" 200 -

Any help will be appreciated. Thanks!

Avatar
Discard