Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
3228 Переглядів

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?
Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
4
квіт. 25
8171
0
жовт. 24
1590
3
лист. 21
3485
2
трав. 25
5293
1
січ. 25
4766