odoo 在先进先出规则中采购退货,库存成本处理,库存成本按照采购价减扣

需要调整的原生代码:

        # fixme 在获取stock.move时需要做判断。采购退货时不能使用先进先出规则。
        candidates = move.product_id._get_fifo_candidates_in_move_with_company(move.company_id.id)

需要调整的逻辑:

判断作业类型是否是采购退货,如果是采购退货则想办法将入库的stock_move抓出来,要注意判断remaining_value 的值。

或者改写该方法:

但是考虑到传参数的麻烦,还是直接新建方法

    def _get_fifo_candidates_in_move_with_company(self, move_company_id=False):
        self.ensure_one()
        domain = [('product_id', '=', self.id), ('remaining_qty', '>', 0.0)] + self.env['stock.move']._get_in_base_domain(move_company_id)
        candidates = self.env['stock.move'].search(domain, order='date, id')
        return candidates

上一篇:redis分布式锁的实现


下一篇:python获取股票和基金等数据