Files
test/stock_barcode/models/stock_warehouse.py
qihao.gong@jikimo.com 3c89404543 质量模块和库存扫码
2023-07-24 11:42:15 +08:00

25 lines
1.4 KiB
Python

from odoo import models
class StockWarehouse(models.Model):
_inherit = 'stock.warehouse'
def _get_picking_type_create_values(self, max_sequence):
values = super()._get_picking_type_create_values(max_sequence)
values[0]['pick_type_id']['restrict_scan_source_location'] = 'mandatory'
values[0]['pick_type_id']['restrict_scan_dest_location'] = 'no'
return values
def _get_picking_type_update_values(self):
values = super()._get_picking_type_update_values()
# When multi-steps delivery is enabled, the source scan setting for the pick is equal to the
# delivery type's one, and the scan source for the delivery is disabled (by default).
if values['pick_type_id'].get('active'):
if self.out_type_id.restrict_scan_source_location == 'mandatory' and self.pick_type_id.restrict_scan_dest_location == 'optional':
values['out_type_id']['restrict_scan_source_location'] = 'no'
values['pick_type_id']['restrict_scan_source_location'] = self.out_type_id.restrict_scan_source_location
values['pick_type_id']['restrict_scan_dest_location'] = 'no'
elif not values['pick_type_id'].get('active') and self.pick_type_id.active:
values['out_type_id']['restrict_scan_source_location'] = self.pick_type_id.restrict_scan_source_location
return values