Untitled
unknown
plain_text
a year ago
2.0 kB
12
Indexable
@api.depends('project_id','ticket_amt_account')
def get_budget_amt(self):
for record in self:
budget_amt = 0.00
actual_amt = 0.00
if record.project_id and record.ticket_amt_account in ['conserve','client']:
amount_budget = sum(record.project_id.sale_order_id.travel_line_ids.mapped('amount_in_currency'))
budget_amt = amount_budget
if record.ticket_amt_account == 'conserve':
conserve_exp_id =self.env['travel.expense.statement'].search([('project_name','=',record.project_id.id)])
actual_amt = sum(conserve_exp_id.convey_ids.mapped('total_amount'))
else:
clent_exp_id =self.env['travel.expenses'].search([('project_name','=',record.project_id.id)])
actual_amt = sum(clent_exp_id.convey_ids.mapped('total_amount'))
elif record.ticket_amt_account == 'conserve_exp':
account_id = self.env['account.account'].search([('name','=','Travel Expenses - Client Expenses Conserve Account')])
budget = self.env['account.analytic.crossovered.budget'].search([('date_from','<=',record.meeting_date),
('date_to','>=',record.meeting_date)
])
if account_id:
budget_ids = budget.crossovered_budget_line.filtered(lambda x: x.analytic_account_id.id == account_id.id)
if budget_ids:
budget_amt = sum(budget_amt.mapped('planned_amount'))
actual_amt = sum(budget_amt.mapped('practical_amount'))
record.budget_amt = budget_amt
record.actual_amt = actual_amt
record.travel_balance_amt = budget_amt - actual_amt
Editor is loading...
Leave a Comment