Se rendre au contenu
Menu
Cette question a été signalée
5 Réponses
6283 Vues

Hello,

I experimented a case in sale orders and in purchase order. Per example in purchase order, if the RFQ is confirmed as order, when we try to add line we got the following SQL error. The field product_uom containt a non-null constraint and the insert query doesn't feed this field...why?  Same thing in sale order when the quote is confirmed as an order.


Thanks

 odoo.sql_db: bad query: b'INSERT INTO "purchase_order_line" ("id", "order_id", "product_qty", "price_unit", "account_analytic_id", "sequence", "date_planned", "name", "create_uid", "write_uid", "create_date", "write_date") VALUES(nextval(\'purchase_order_line_id_seq\'), 338, \'1\', \'0.00\', NULL, 10, \'2018-06-07 00:38:46\', \'QAA-B-01\', 1, 1, (now() at time zone \'UTC\'), (now() at time zone \'UTC\')) RETURNING id'
ERROR: null value in column "product_uom" violates not-null constraint
DETAIL:  Failing row contains (1196, SAV-B-01, 10, 1, 2018-06-07 00:38:46, null, null, 0.00, null, null, null, 338, null, null, null, null, null, null, null, null, 1, 2018-06-07 00:38:56.169986, 1, 2018-06-07 00:38:56.169986)

Avatar
Ignorer
Auteur Meilleure réponse

Finally, the field is not transfered because there is an attribute on field product_uom: attrs="{'readonly': [('state', 'in', ('purchase', 'done', 'cancel'))]}"

Because the status of pruchase order is "purchase", the field is readonly and not in values during the insert. Why this field is readonly?

Thanks

Avatar
Ignorer
Meilleure réponse

This is a wild guess but in Odoo any readonly field will not be stored in the database. So what I think happens here is that in your view when you choose a product, the product_uom field is properly set by the onchange event but since it's readonly it will be only visual. In that case you need to make your product_uom field as non-readonly.

It would be nice to see which version of odoo you have to help you more.

Avatar
Ignorer
Auteur

Hi, I am using v11 community. I'll take a look about your hint. Thanks

Meilleure réponse

Hi,

In the error message itself, there is the hint about the issue.  In the sale.order.line and in the purchase.order.line the product_uom field is a required field.


As you haven't supplied the value for the field in your Insert query you are getting the issue. So update the query by providing the product_uom.

Also, check and make sure that no other required fields are missed


Thanks

Avatar
Ignorer
Auteur

Hi,

I saw the message, but the product_uom is feeded on the new line at screen. So it's why I don't understand the error message.

Thanks

Publications associées Réponses Vues Activité
1
août 24
5711
0
mars 15
3395
1
mai 24
1396
1
juin 23
3051
0
mars 23
2029