def _compute_qty_on_voucher(self):
        # al calcular por voucher no tenemos en cuenta el metodo de facturacion
        # es decir, que calculamos como si fuese metodo segun lo recibido
        voucher = self._context.get('voucher', False)
        if not voucher:
            self.update({'qty_on_voucher': 0.0})
            return
        lines = self.filtered(
            lambda x: x.order_id.state in ['purchase', 'done'])
        moves = self.env['stock.move'].search([
            ('id', 'in', lines.mapped('move_ids').ids),
            ('state', '=', 'done'),
            ('picking_id.vouchers', 'ilike', voucher[0]),
        ])
        for line in lines:
            line.qty_on_voucher = sum(moves.filtered(
                lambda x: x.id in line.move_ids.ids).mapped('product_uom_qty'))