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.

49 lines
1.7KB

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