diff options
Diffstat (limited to 'fixco_custom/models/account_move.py')
| -rw-r--r-- | fixco_custom/models/account_move.py | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/fixco_custom/models/account_move.py b/fixco_custom/models/account_move.py index d095eeb..836b878 100644 --- a/fixco_custom/models/account_move.py +++ b/fixco_custom/models/account_move.py @@ -37,6 +37,34 @@ class AccountMove(models.Model): purchase_order_id = fields.Many2one('purchase.order', string='Purchase Order') bill_id = fields.Many2one('account.move', string='Vendor Bill', domain=[('move_type', '=', 'in_invoice')], help='Bill asal dari proses reklas ini') count_reverse = fields.Integer('Count Reverse', compute='_compute_count_reverse') + uangmuka = fields.Boolean('Uang Muka?') + reklas = fields.Boolean('Reklas?') + reklas_used = fields.Boolean('Reklas Used?', compute='_compute_reklas_used') + reklas_used_by = fields.Many2one('account.move', string='Reklas Used By', compute='_compute_reklas_used') + + @api.depends('line_ids.reconciled', 'line_ids.matching_number') + def _compute_reklas_used(self): + for move in self: + move.reklas_used = False + move.reklas_used_by = None + + if move.move_type != 'entry': + continue + + matching_numbers = move.line_ids.filtered(lambda l: l.reconciled and l.matching_number).mapped('matching_number') + + if not matching_numbers: + continue + + invoice_lines = self.env['account.move.line'].search([ + ('reconciled', '=', True), + ('matching_number', 'in', matching_numbers), + ('move_id.move_type', '=', 'out_invoice'), + ], limit=1) + + if invoice_lines: + move.reklas_used = True + move.reklas_used_by = invoice_lines.move_id def _compute_count_reverse(self): for move in self: @@ -46,7 +74,6 @@ class AccountMove(models.Model): lambda p: move.id in p.reversed_entry_id.ids ) - move.count_reverse = len(reverse) def action_view_related_reverse(self): |
