GoodERP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
2.7KB

  1. from datetime import date
  2. from odoo import models, fields, api
  3. from odoo.exceptions import UserError
  4. class SellOrderDetailWizard(models.TransientModel):
  5. _name = 'sell.order.detail.wizard'
  6. _description = '销售明细表向导'
  7. @api.model
  8. def _default_date_start(self):
  9. return self.env.user.company_id.start_date
  10. @api.model
  11. def _default_date_end(self):
  12. return date.today()
  13. date_start = fields.Date('开始日期', default=_default_date_start,
  14. help='报表汇总的开始日期,默认为公司启用日期')
  15. date_end = fields.Date('结束日期', default=_default_date_end,
  16. help='报表汇总的结束日期,默认为当前日期')
  17. partner_id = fields.Many2one('partner', '客户',
  18. help='只统计选定的客户')
  19. goods_id = fields.Many2one('goods', '商品',
  20. help='只统计选定的商品')
  21. user_id = fields.Many2one('res.users', '销售员',
  22. help='只统计选定的销售员')
  23. warehouse_id = fields.Many2one('warehouse', '仓库',
  24. help='只统计选定的仓库')
  25. company_id = fields.Many2one(
  26. 'res.company',
  27. string='公司',
  28. change_default=True,
  29. default=lambda self: self.env.company)
  30. def button_ok(self):
  31. '''向导上的确定按钮'''
  32. self.ensure_one()
  33. if self.date_end < self.date_start:
  34. raise UserError('开始日期不能大于结束日期!\n所选开始日期:%s所选结束日期:%s' %
  35. (self.date_start, self.date_end))
  36. domain = [('date', '>=', self.date_start),
  37. ('date', '<=', self.date_end),
  38. ]
  39. if self.goods_id:
  40. domain.append(('goods_id', '=', self.goods_id.id))
  41. if self.partner_id:
  42. domain.append(('partner_id', '=', self.partner_id.id))
  43. if self.user_id:
  44. domain.append(('user_id', '=', self.user_id.id))
  45. if self.warehouse_id:
  46. domain.append(('warehouse_id', '=', self.warehouse_id.id))
  47. view = self.env.ref('sell.sell_order_detail_list')
  48. graph_view = self.env.ref('sell.sell_order_detail_graph')
  49. return {
  50. 'name': '销售发货明细表',
  51. 'view_mode': 'list,pivot',
  52. 'view_id': False,
  53. 'views': [(view.id, 'list'), (graph_view.id, 'graph'), (graph_view.id, 'pivot')],
  54. 'res_model': 'sell.order.detail',
  55. 'type': 'ir.actions.act_window',
  56. 'target': 'main',
  57. 'domain': domain,
  58. 'limit': 65535,
  59. }
上海开阖软件有限公司 沪ICP备12045867号-1