Skip to Content
Menu
This question has been flagged
3 Replies
1925 Views

Hi everybody, I hope that you are doing well,

I'm coming to you because i need your help. We are losing a lot of time fullfiling manually the done quantity in our purchase module when clicking on "receive products"

So what i tried to do (with my really really basic skills about Odoo) is to create a button related to an action that would take the value of the "demand" field and copy it to the "done" filed so we would just have to modify the done field for the products that didnt arrived and not for all of the products.

What I did to try it is first create a server action that is obviously not working, then I created a button  : 

I didnt found the proper way to set the action, so when i click on the button named "remplissage" a code error appears.

I have tried two different things to make the action work :

First it was with the update record. I settled it this way : 


model = stock.move                                        action to do = update the record

data to write 

Field = quantity_done             Evaluation type = Value or Python expression 


then value or python code = record.product_uom_qty


Please don't laugh about what I have done, i started to work on Odoo in setpember and i'm learning by myself.

The second thing i have tried is to try the python code I had found on this topic : 

"@api.onchange('')

def onchange_func(self):

if self.:

self.   = self."


so I replaced field whose value need to be taken by field.

and field to wich you need value by field.

It wasn't working.

If any of you could help me thank you a lot for reading.

I really hope that it is understandable, do not hesitate if it's not I will try to make it clearer.

Have a nice day
Avatar
Discard
Best Answer

No need to develop anything. 

Simply, click on button "validate" WITHOUT FILLING ANY "DONE" QUANTITY. You will see the warning "You have not recorded done quantities yet, by clicking on apply Odoo will process all the quantities." Just click on "apply". 

Avatar
Discard
Best Answer

This is a feature of v15.

You can see the code we wrote for it at https://github.com/odoo/odoo/blob/15.0/addons/stock/models/stock_move.py#L1835 


Based on that code, you can create a Server Action that does the same thing at v14:


When you click CREATE CONTEXTUAL ACTION, Users can access the Server Action from the Actions Menu once they have selected or opened a Transfer:


You can use the DATABASE ID of this Server Action if you would rather present it as a BUTTON to the User.


Note: As Josep Anton Belchi Riera mentions, this is not necessary unless you need to edit the Done Quantity on the lines. If all lines are being received in full, just click VALIDATE. Setting the Done Quantity like this is only needed if you have 50 lines and 48 of them are being received in full (so you run this) then the other two you would edit to change because they are the only 2 lines not being received in full.

Avatar
Discard
Author Best Answer

The problem is that when you click on validate it automatically validate every value.

Here imagine if one of the value isn't correct, I can't click validate because i need to change some of them, if it is the case, which happens often, I need to fullfill everything manually and it is in this occasion that I would like with an action that I created to fullfill automatically and only change what needs to be changed.


Avatar
Discard
Related Posts Replies Views Activity
0
Oct 24
108
3
Jan 24
2892
0
Apr 21
1665
2
Oct 24
234
1
Jul 24
395