GoodERP
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

62 lignes
2.4KB

  1. # -*- coding: utf-8 -*-
  2. from datetime import date, timedelta
  3. from odoo import models, fields, api
  4. from odoo import _
  5. class ReportStockReceiptDeliveryWizard(models.TransientModel):
  6. _name = 'report.stock.receipt.delivery.wizard'
  7. _description = '商品收发汇总表向导'
  8. @api.model
  9. def _default_date_start(self):
  10. return date.today().replace(day=1).strftime('%Y-%m-%d')
  11. @api.model
  12. def _default_date_end(self):
  13. now = date.today()
  14. next_month = now.month == 12 and now.replace(year=now.year + 1,
  15. month=1, day=1) or now.replace(month=now.month + 1, day=1)
  16. return (next_month - timedelta(days=1)).strftime('%Y-%m-%d')
  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. goods_id = fields.Many2one('goods', '商品',
  24. help='本次报表查看的商品')
  25. company_id = fields.Many2one(
  26. 'res.company',
  27. string='公司',
  28. change_default=True,
  29. default=lambda self: self.env.company)
  30. @api.onchange('date_start', 'date_end')
  31. def onchange_date(self):
  32. if self.date_start and self.date_end and self.date_end < self.date_start:
  33. return {'warning': {
  34. 'title': _('错误'),
  35. 'message': _('结束日期不可以小于开始日期')
  36. }, 'value': {'date_end': self.date_start}}
  37. return {}
  38. def open_report(self):
  39. delivery = self.env['report.stock.receipt.delivery']
  40. result = delivery.collect_data_by_sql(self)
  41. return {
  42. 'type': 'ir.actions.act_window',
  43. 'res_model': 'report.stock.receipt.delivery',
  44. 'view_mode': 'list',
  45. 'target': 'main',
  46. 'name': _('商品收发汇总表 %s 至 %s ') % (self.date_start, self.date_end),
  47. 'context': {'date_end': self.date_end,
  48. 'date_start': self.date_start},
  49. 'domain': [('id', 'in', delivery.create(result).ids)],
  50. 'limit': 65535,
  51. }
上海开阖软件有限公司 沪ICP备12045867号-1