GoodERP
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

73 lines
2.7KB

  1. # -*- coding: utf-8 -*-
  2. # Copyright 2016 上海开阖软件有限公司 (http://www.osbzr.com)
  3. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
  4. from odoo import _
  5. from datetime import date
  6. from odoo import models, fields, api
  7. from odoo.exceptions import UserError
  8. class BuyOrderDetailWizard(models.TransientModel):
  9. _name = 'buy.order.detail.wizard'
  10. _description = '采购入库明细表向导'
  11. @api.model
  12. def _default_date_start(self):
  13. return self.env.user.company_id.start_date
  14. @api.model
  15. def _default_date_end(self):
  16. return date.today()
  17. date_start = fields.Date('开始日期', default=_default_date_start,
  18. help='报表汇总的开始日期,默认为公司启用日期')
  19. date_end = fields.Date('结束日期', default=_default_date_end,
  20. help='报表汇总的结束日期,默认为当前日期')
  21. partner_id = fields.Many2one('partner', '供应商',
  22. help='只统计选定的供应商')
  23. goods_id = fields.Many2one('goods', '商品',
  24. help='只统计选定的商品')
  25. order_id = fields.Many2one('buy.receipt', '单据编号',
  26. help='只统计选定的单据编号')
  27. warehouse_dest_id = fields.Many2one('warehouse', '仓库',
  28. help='只统计选定的仓库')
  29. company_id = fields.Many2one(
  30. 'res.company',
  31. string='公司',
  32. change_default=True,
  33. default=lambda self: self.env.company)
  34. def button_ok(self):
  35. '''向导上的确定按钮'''
  36. self.ensure_one()
  37. if self.date_end < self.date_start:
  38. raise UserError(_('开始日期不能大于结束日期!'))
  39. domain = [('date', '>=', self.date_start),
  40. ('date', '<=', self.date_end),
  41. ]
  42. if self.goods_id:
  43. domain.append(('goods_id', '=', self.goods_id.id))
  44. if self.partner_id:
  45. domain.append(('partner_id', '=', self.partner_id.id))
  46. if self.order_id:
  47. domain.append(('order_name', '=', self.order_id.name))
  48. if self.warehouse_dest_id:
  49. domain.append(('warehouse_dest_id', '=',
  50. self.warehouse_dest_id.id))
  51. view = self.env.ref('buy.buy_order_detail_list')
  52. return {
  53. 'name': _('采购入库明细表'),
  54. 'view_mode': 'list',
  55. 'view_id': False,
  56. 'views': [(view.id, 'list')],
  57. 'res_model': 'buy.order.detail',
  58. 'type': 'ir.actions.act_window',
  59. 'target': 'main',
  60. 'domain': domain,
  61. 'limit': 65535,
  62. }
上海开阖软件有限公司 沪ICP备12045867号-1