from openerp import models, fields


class MrpRoutingWorkcenter(models.Model):
    _inherit = 'mrp.routing.workcenter'

    external = fields.Boolean('External', help="Is Subcontract Operation")
    semifinished_id = fields.Many2one(
        'product.product', 'Semifinished Subcontracting',
        domain=[('type', '=', 'product'),
                ])
    picking_type_id = fields.Many2one('stock.picking.type', 'Picking Type',
                                      domain=[('code', '=', 'outgoing')])

from openerp import models, fields


class MrpRoutingWorkcenter(models.Model):
    _inherit = 'mrp.routing.workcenter'

    external = fields.Boolean('External', help="Is Subcontract Operation")
    semifinished_id = fields.Many2one(
        comodel_name='product.product', string='Semifinished Subcontracting')
    picking_type_id = fields.Many2one('stock.picking.type', 'Picking Type',
                                      domain=[('code', '=', 'outgoing')])

Allow to select any type of subcontracting product
[FIX] mrp_subcontracting: Allow to select any type of subcontracting product

  from openerp import models, fields
  
  
  class MrpRoutingWorkcenter(models.Model):
      _inherit = 'mrp.routing.workcenter'
  
      external = fields.Boolean('External', help="Is Subcontract Operation")
      semifinished_id = fields.Many2one(
-         'product.product', 'Semifinished Subcontracting',
+         comodel_name='product.product', string='Semifinished Subcontracting')
-         domain=[('type', '=', 'product'),
-                 ])
      picking_type_id = fields.Many2one('stock.picking.type', 'Picking Type',
                                        domain=[('code', '=', 'outgoing')])
  
Allow to select any type of subcontracting product
## Code Before:
from openerp import models, fields


class MrpRoutingWorkcenter(models.Model):
    _inherit = 'mrp.routing.workcenter'

    external = fields.Boolean('External', help="Is Subcontract Operation")
    semifinished_id = fields.Many2one(
        'product.product', 'Semifinished Subcontracting',
        domain=[('type', '=', 'product'),
                ])
    picking_type_id = fields.Many2one('stock.picking.type', 'Picking Type',
                                      domain=[('code', '=', 'outgoing')])

## Instruction:
Allow to select any type of subcontracting product
## Code After:
from openerp import models, fields


class MrpRoutingWorkcenter(models.Model):
    _inherit = 'mrp.routing.workcenter'

    external = fields.Boolean('External', help="Is Subcontract Operation")
    semifinished_id = fields.Many2one(
        comodel_name='product.product', string='Semifinished Subcontracting')
    picking_type_id = fields.Many2one('stock.picking.type', 'Picking Type',
                                      domain=[('code', '=', 'outgoing')])
