GoodERP
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

68 Zeilen
2.8KB

  1. from odoo import api, fields, models
  2. MOVE_TYPE = [
  3. ('buy.receipt.buy', '采购入库单'),
  4. ('buy.receipt.return', '采购退货单'),
  5. ('sell.delivery.sell', '销售发货单'),
  6. ('sell.delivery.return', '销售退货单'),
  7. ('wh.out.others', '其他出库单'),
  8. ('wh.out.inventory', '盘亏'),
  9. ('wh.in.others', '其他入库单'),
  10. ('wh.in.inventory', '盘盈'),
  11. ('wh.internal', '移库单'),
  12. ('wh.assembly', '组装单'),
  13. ('wh.disassembly', '拆卸单'),
  14. ('outsource', '委外加工单'),
  15. ]
  16. class QcRule(models.Model):
  17. _name = 'qc.rule'
  18. _description = '质检规则'
  19. def _compute_warehouse_impl(self):
  20. '''根据单据类型自动填充上调出仓库'''
  21. for qr in self:
  22. if qr.move_type == 'sell.delivery.return':
  23. qr.warehouse_id = self.env.ref('warehouse.warehouse_customer')
  24. if qr.move_type == 'buy.receipt.buy':
  25. qr.warehouse_id = self.env.ref('warehouse.warehouse_supplier')
  26. if qr.move_type == 'wh.in.others':
  27. qr.warehouse_id = self.env.ref('warehouse.warehouse_others')
  28. if qr.move_type == 'wh.in.inventory':
  29. qr.warehouse_id = self.env.ref('warehouse.warehouse_inventory')
  30. def _compute_warehouse_dest_impl(self):
  31. '''根据单据类型自动填充上调入仓库'''
  32. for qr in self:
  33. if qr.move_type == 'sell.delivery.sell':
  34. qr.warehouse_dest_id = self.env.ref(
  35. 'warehouse.warehouse_customer')
  36. if qr.move_type == 'buy.receipt.return':
  37. qr.warehouse_dest_id = self.env.ref(
  38. 'warehouse.warehouse_supplier')
  39. if qr.move_type == 'wh.out.others':
  40. self.warehouse_dest_id = self.env.ref('warehouse.warehouse_others')
  41. if qr.move_type == 'wh.out.inventory':
  42. self.warehouse_dest_id = self.env.ref(
  43. 'warehouse.warehouse_inventory')
  44. @api.onchange('move_type')
  45. def onchange_move_type(self):
  46. '''根据单据类型自动填充上调入仓库或调出仓库'''
  47. self._compute_warehouse_impl()
  48. self._compute_warehouse_dest_impl()
  49. move_type = fields.Selection(MOVE_TYPE,
  50. '单据类型',
  51. required=True,
  52. help='待质检的单据类型')
  53. warehouse_id = fields.Many2one('warehouse',
  54. '调出仓库',
  55. ondelete='restrict',
  56. help='移库单的来源仓库')
  57. warehouse_dest_id = fields.Many2one('warehouse',
  58. '调入仓库',
  59. ondelete='restrict',
  60. help='移库单的目的仓库')
上海开阖软件有限公司 沪ICP备12045867号-1