|
- from odoo import api, fields, models
-
- MOVE_TYPE = [
- ('buy.receipt.buy', '采购入库单'),
- ('buy.receipt.return', '采购退货单'),
- ('sell.delivery.sell', '销售发货单'),
- ('sell.delivery.return', '销售退货单'),
- ('wh.out.others', '其他出库单'),
- ('wh.out.inventory', '盘亏'),
- ('wh.in.others', '其他入库单'),
- ('wh.in.inventory', '盘盈'),
- ('wh.internal', '移库单'),
- ('wh.assembly', '组装单'),
- ('wh.disassembly', '拆卸单'),
- ('outsource', '委外加工单'),
- ]
-
-
- class QcRule(models.Model):
- _name = 'qc.rule'
- _description = '质检规则'
-
- def _compute_warehouse_impl(self):
- '''根据单据类型自动填充上调出仓库'''
- for qr in self:
- if qr.move_type == 'sell.delivery.return':
- qr.warehouse_id = self.env.ref('warehouse.warehouse_customer')
- if qr.move_type == 'buy.receipt.buy':
- qr.warehouse_id = self.env.ref('warehouse.warehouse_supplier')
- if qr.move_type == 'wh.in.others':
- qr.warehouse_id = self.env.ref('warehouse.warehouse_others')
- if qr.move_type == 'wh.in.inventory':
- qr.warehouse_id = self.env.ref('warehouse.warehouse_inventory')
-
- def _compute_warehouse_dest_impl(self):
- '''根据单据类型自动填充上调入仓库'''
- for qr in self:
- if qr.move_type == 'sell.delivery.sell':
- qr.warehouse_dest_id = self.env.ref(
- 'warehouse.warehouse_customer')
- if qr.move_type == 'buy.receipt.return':
- qr.warehouse_dest_id = self.env.ref(
- 'warehouse.warehouse_supplier')
- if qr.move_type == 'wh.out.others':
- self.warehouse_dest_id = self.env.ref('warehouse.warehouse_others')
- if qr.move_type == 'wh.out.inventory':
- self.warehouse_dest_id = self.env.ref(
- 'warehouse.warehouse_inventory')
-
- @api.onchange('move_type')
- def onchange_move_type(self):
- '''根据单据类型自动填充上调入仓库或调出仓库'''
- self._compute_warehouse_impl()
- self._compute_warehouse_dest_impl()
-
- move_type = fields.Selection(MOVE_TYPE,
- '单据类型',
- required=True,
- help='待质检的单据类型')
- warehouse_id = fields.Many2one('warehouse',
- '调出仓库',
- ondelete='restrict',
- help='移库单的来源仓库')
- warehouse_dest_id = fields.Many2one('warehouse',
- '调入仓库',
- ondelete='restrict',
- help='移库单的目的仓库')
|