2016-10-24 3 views
1

Я создаю настраиваемый модуль. Существует еще одно поле. Она -Как сделать индивидуальный перемещение отдельных элементов (odoo v8 и v9)

количество

единица измерения

местоположение источника

место назначения

мне нужно передать продукт от местоположения источника к месту назначения.

В odoo v8 я увидел две функции -

def do_detailed_transfer(self) 

и

do_transfer() 

Но do_detailed_transfer не доступен в odoo v9.

Как создать настраиваемый перемещение запаса, которое будет передавать продукты из исходного местоположения в целевое местоположение для обеих версий?

Спасибо.

+0

любой помощи, пожалуйста? –

+0

Вы хотите перевести акции через код? Думаю, do_transfer будет работать. –

+0

есть через код. Я хочу просто перенести продукты из одного места в другое. Я пытаюсь использовать do_transfer, но не достигая его. Спасибо. –

ответ

2

Я могу создать фондовый ход с следующим кодом -

 res = {} 
     Move = self.env['stock.move'] 
     for transfer in self: 
      moves = self.env['stock.move'] 
      for products in transfer.requisition_items: 
       move = Move.create({ 
        'name': transfer.employee_id.name, 
        'product_id': products.product_id.id, 
        'restrict_lot_id': False, 
        'product_uom_qty': products.delivery_quantity, 
        'product_uom': 1, #TODO: Change the test value 1 to produc_uom 
        'partner_id': 1, #TODO: Change the test value 1 to partner_id 
        'location_id': products.source_location.id, 
        'location_dest_id': products.destination_location.id, 
       }) 
       moves |= move 
       moves.action_done() 
       products.write({'move_id': move.id, 'state': 'done'}) 

      res[transfer.id] = move.id 
     return res 
+0

Это движение запаса сделано? проверить статус этого движения? –

+0

Да, перемещение запаса сделано, а также количество обновлено. –