GoodERP
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

107 lines
4.0KB

  1. # Copyright 2016 上海开阖软件有限公司 (http://www.osbzr.com)
  2. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
  3. from odoo import api, fields, models, _
  4. class FinanceConfigWizard(models.TransientModel):
  5. _name = 'finance.config.settings'
  6. _inherit = 'res.config.settings'
  7. _description = '会计默认设置'
  8. # 凭证
  9. # 凭证日期
  10. defaul_voucher_date = fields.Selection(
  11. [('today', '当前日期'), ('last', '上一凭证日期')],
  12. string='新凭证的默认日期', default='today', help='选择新凭证的默认日期')
  13. # 凭证号重置设置 此部分参考了步科的设计
  14. defaul_auto_reset = fields.Boolean('是否重置凭证号', )
  15. defaul_reset_period = fields.Selection(
  16. [('year', '每年'), ('month', '每月')],
  17. '重置间隔', required=True, default='month')
  18. defaul_reset_init_number = fields.Integer(
  19. '重置后起始数字', required=True, default=1, help="重置后,起始编号的数字,例从1起:1,2,3....")
  20. # 资产负债表 利润表
  21. # 是否能查看未结账期间
  22. defaul_period_domain = fields.Selection(
  23. [('can', '能'), ('cannot', '不能')],
  24. string='是否能查看未结账期间',
  25. default='can',
  26. help='是否能查看未结账期间')
  27. company_id = fields.Many2one(
  28. 'res.company',
  29. string='公司',
  30. change_default=True,
  31. default=lambda self: self.env.company)
  32. # 科目编码规则
  33. defaul_account_hierarchy_level = fields.Selection(
  34. string='科目层级级别',
  35. selection=[('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5')],
  36. default='5',
  37. required=True
  38. )
  39. defaul_top_length = fields.Selection(
  40. string='一级科目编码长度',
  41. selection=[('4', '4')], default='4'
  42. )
  43. defaul_child_step = fields.Selection(
  44. string='下级科目编码递增长度',
  45. selection=[('2', '2')], default='2'
  46. )
  47. @api.model
  48. def set_defaults(self):
  49. self.env['ir.default'].set(
  50. 'finance.config.settings', 'defaul_auto_reset', True)
  51. self.env['ir.default'].set(
  52. 'finance.config.settings', 'defaul_account_hierarchy_level', '5')
  53. self.env['ir.default'].set(
  54. 'finance.config.settings', 'defaul_top_length', '4')
  55. self.env['ir.default'].set(
  56. 'finance.config.settings', 'defaul_child_step', '2')
  57. self.env['ir.default'].set(
  58. 'finance.config.settings', 'defaul_voucher_date', 'today')
  59. self.env['ir.default'].set(
  60. 'finance.config.settings', 'defaul_reset_period', 'month')
  61. self.env['ir.default'].set(
  62. 'finance.config.settings', 'defaul_reset_init_number', 1)
  63. self.env['ir.default'].set(
  64. 'finance.config.settings', 'defaul_period_domain', 'can')
  65. return True
  66. def set_values(self):
  67. voucher_date = self.defaul_voucher_date
  68. self.env['ir.default'].set(
  69. 'finance.config.settings', 'defaul_voucher_date', voucher_date)
  70. self.env['ir.default'].set(
  71. 'finance.config.settings',
  72. 'defaul_account_hierarchy_level',
  73. self.defaul_account_hierarchy_level)
  74. self.env['ir.default'].set(
  75. 'finance.config.settings',
  76. 'defaul_top_length',
  77. self.defaul_top_length)
  78. period_domain = self.defaul_period_domain
  79. self.env['ir.default'].set(
  80. 'finance.config.settings', 'defaul_period_domain', period_domain)
  81. auto_reset = self.defaul_auto_reset
  82. self.env['ir.default'].set(
  83. 'finance.config.settings', 'defaul_auto_reset', auto_reset)
  84. reset_period = self.defaul_reset_period
  85. self.env['ir.default'].set(
  86. 'finance.config.settings', 'defaul_reset_period', reset_period)
  87. reset_init_number = self.defaul_reset_init_number
  88. self.env['ir.default'].set(
  89. 'finance.config.settings',
  90. 'defaul_reset_init_number',
  91. reset_init_number)
上海开阖软件有限公司 沪ICP备12045867号-1