GoodERP
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

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