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.

47 linhas
1.9KB

  1. # Copyright 2016 上海开阖软件有限公司 (http://www.osbzr.com)
  2. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
  3. from odoo import fields, models, api, tools
  4. class OtherMoneyStatementsReport(models.Model):
  5. _name = "other.money.statements.report"
  6. _description = u"其他收支明细表"
  7. _auto = False
  8. date = fields.Date(string=u'日期', readonly=True)
  9. name = fields.Char(string=u'单据编号', readonly=True)
  10. service = fields.Many2one('service', u'收支项')
  11. category_id = fields.Many2one('core.category',
  12. string=u'类别', readonly=True)
  13. bank_id = fields.Many2one('bank.account', string='账户')
  14. get = fields.Float(string=u'收入', readonly=True,
  15. digits='Amount')
  16. pay = fields.Float(string=u'支出', readonly=True,
  17. digits='Amount')
  18. partner_id = fields.Many2one('partner', string=u'往来单位', readonly=True)
  19. note = fields.Char(string=u'备注', readonly=True)
  20. def init(self):
  21. # select other_money_order_line、other_money_order
  22. cr = self._cr
  23. tools.drop_view_if_exists(cr, 'other_money_statements_report')
  24. cr.execute("""
  25. CREATE or REPLACE VIEW other_money_statements_report AS (
  26. SELECT omol.id,
  27. omo.date,
  28. omo.name,
  29. omo.bank_id,
  30. omol.service,
  31. omol.category_id,
  32. (CASE WHEN omo.type = 'other_get' THEN omol.amount + omol.tax_amount ELSE 0 END) AS get,
  33. (CASE WHEN omo.type = 'other_pay' THEN omol.amount + omol.tax_amount ELSE 0 END) AS pay,
  34. omo.partner_id,
  35. omol.note
  36. FROM other_money_order_line AS omol
  37. LEFT JOIN other_money_order AS omo ON omol.other_money_id = omo.id
  38. WHERE omo.state = 'done'
  39. ORDER BY date)
  40. """)
上海开阖软件有限公司 沪ICP备12045867号-1