GoodERP
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

61 linhas
2.3KB

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