跳至內容
選單
此問題已被標幟
2931 瀏覽次數

Hi all,


I am triggering a stock move via the API in order to update the stock quantity of a batch.


Now, whenever the stock is updated, I want to trigger a function to sync this change to another website. However, with my current solution, the sync is triggered before the quantity of the lot is updated.


This is the code I am using right now. Since StockMove.write() is called multiple times, I am checking with the _last_id attribute, to make sure it syncs only once. However, as stated before, it is too early.

```

from odoo.addons.stock.models.stock_move import StockMove as OStockMove

class StockMove(models.Model):
_inherit = "stock.move"
_last_id = 0

def write(self, vals):
res = OStockMove.write(self, vals)
if self.lot_ids:
if self._last_id != self.id:
type(self)._last_id = self.id
batch_sync(self.lot_ids)
_logger.error(str(self.is_done) + " " + str(self.lot_ids))
return res
```

How can I trigger the sync *after* the stock has been moved?
頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
4
4月 25
7214
0
10月 24
1362
3
11月 21
3275
2
5月 25
4542
1
1月 25
4503