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.

47 lines
1.6KB

  1. from datetime import date, timedelta
  2. from odoo import models, fields, api
  3. from odoo.exceptions import UserError
  4. class SellTopTenWizard(models.TransientModel):
  5. _name = 'sell.top.ten.wizard'
  6. _description = '销量前十商品向导'
  7. @api.model
  8. def _default_date_start(self):
  9. '''返回6天前的日期'''
  10. now = date.today()
  11. return (now - timedelta(days=6)).strftime('%Y-%m-%d')
  12. @api.model
  13. def _default_date_end(self):
  14. return date.today()
  15. date_start = fields.Date('开始日期', default=_default_date_start,
  16. help='报表汇总的开始日期,默认为一周前日期')
  17. date_end = fields.Date('结束日期', default=_default_date_end,
  18. help='报表汇总的结束日期,默认为当前日期')
  19. warehouse_id = fields.Many2one('warehouse', '仓库',
  20. help='只统计选定的仓库')
  21. company_id = fields.Many2one(
  22. 'res.company',
  23. string='公司',
  24. change_default=True,
  25. default=lambda self: self.env.company)
  26. def button_ok(self):
  27. self.ensure_one()
  28. if self.date_end < self.date_start:
  29. raise UserError('开始日期不能大于结束日期!\n 所选的开始日期:%s 结束日期:%s' %
  30. (self.date_start, self.date_end))
  31. return {
  32. 'name': '销量前十商品',
  33. 'view_mode': 'list',
  34. 'res_model': 'sell.top.ten',
  35. 'type': 'ir.actions.act_window',
  36. 'target': 'main',
  37. 'context': self.read(['date_start', 'date_end', 'warehouse_id'])[0],
  38. }
上海开阖软件有限公司 沪ICP备12045867号-1