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.

55 lines
2.2KB

  1. from datetime import date
  2. from odoo import models, fields, api
  3. from odoo.exceptions import UserError
  4. class SellSummaryStaffWizard(models.TransientModel):
  5. _name = 'sell.summary.staff.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. user_id = fields.Many2one('res.users', '销售员',
  18. help='只统计选定的销售员')
  19. goods_id = fields.Many2one('goods', '商品',
  20. help='只统计选定的商品')
  21. goods_categ_id = fields.Many2one('core.category', '商品类别',
  22. domain=[('type', '=', 'goods')],
  23. context={'type': 'goods'},
  24. help='只统计选定的商品类别')
  25. warehouse_id = fields.Many2one('warehouse', '仓库',
  26. help='只统计选定的仓库')
  27. company_id = fields.Many2one(
  28. 'res.company',
  29. string='公司',
  30. change_default=True,
  31. default=lambda self: self.env.company)
  32. def button_ok(self):
  33. self.ensure_one()
  34. if self.date_end < self.date_start:
  35. raise UserError('开始日期不能大于结束日期!\n 所选的开始日期:%s 结束日期:%s' %
  36. (self.date_start, self.date_end))
  37. read_fields = ['date_start', 'date_end', 'user_id',
  38. 'goods_id', 'goods_categ_id', 'warehouse_id']
  39. return {
  40. 'name': '销售汇总表(按销售人员)',
  41. 'view_mode': 'list',
  42. 'res_model': 'sell.summary.staff',
  43. 'type': 'ir.actions.act_window',
  44. 'target': 'main',
  45. 'context': self.read(read_fields)[0],
  46. 'limit': 65535,
  47. }
上海开阖软件有限公司 沪ICP备12045867号-1