[ADD] hr_expense: add accounting_date field, when generating accounting entries it will take this field if set, otherwise take expense_date field
This commit is contained in:
@@ -16,6 +16,7 @@ class HrExpense(models.Model):
|
||||
|
||||
name = fields.Char(string='Expense Description', readonly=True, required=True, states={'draft': [('readonly', False)]})
|
||||
date = fields.Date(readonly=True, states={'draft': [('readonly', False)]}, default=fields.Date.context_today, string="Date")
|
||||
accounting_date = fields.Date(readonly=True, states={'draft': [('readonly', False)]}, string='Accounting Date')
|
||||
employee_id = fields.Many2one('hr.employee', string="Employee", required=True, readonly=True, states={'draft': [('readonly', False)]}, default=lambda self: self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1))
|
||||
product_id = fields.Many2one('product.product', string='Product', readonly=True, states={'draft': [('readonly', False)]}, domain=[('can_be_expensed', '=', True)], required=True)
|
||||
product_uom_id = fields.Many2one('product.uom', string='Unit of Measure', required=True, readonly=True, states={'draft': [('readonly', False)]}, default=lambda self: self.env['product.uom'].search([], limit=1, order='id'))
|
||||
@@ -214,8 +215,9 @@ class HrExpense(models.Model):
|
||||
journal_dict = {}
|
||||
maxdate = False
|
||||
for expense in self:
|
||||
if expense.date > maxdate:
|
||||
maxdate = expense.date
|
||||
acc_date = expense.accounting_date or expense.date
|
||||
if acc_date > maxdate:
|
||||
maxdate = acc_date
|
||||
jrn = expense.bank_journal_id if expense.payment_mode == 'company_account' else expense.journal_id
|
||||
journal_dict.setdefault(jrn, [])
|
||||
journal_dict[jrn].append(expense)
|
||||
@@ -249,7 +251,7 @@ class HrExpense(models.Model):
|
||||
'name': expense.employee_id.name,
|
||||
'price': total,
|
||||
'account_id': emp_account,
|
||||
'date_maturity': expense.date,
|
||||
'date_maturity': expense.accounting_date or expense.date,
|
||||
'amount_currency': diff_currency_p and total_currency or False,
|
||||
'currency_id': diff_currency_p and expense.currency_id.id or False,
|
||||
'ref': expense.employee_id.address_home_id.ref or False
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
<field name="tax_ids" widget="many2many_tags" groups="account.group_account_user"/>
|
||||
</group><group>
|
||||
<field name="date"/>
|
||||
<field name="accounting_date"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="currency_id" groups="base.group_multi_currency"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
Reference in New Issue
Block a user