GoodERP
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

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