콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
2921 화면

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
7203
0
10월 24
1360
3
11월 21
3273
2
5월 25
4527
1
1월 25
4499