From 71e5bc493f1aefd6ce5960f9b8467dfea9cd4faf Mon Sep 17 00:00:00 2001 From: Katherine Zaoral Date: Wed, 4 Jan 2023 13:26:26 +0000 Subject: [PATCH] [FIX] account_payment_group: constraint move name (seq) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cuando tenemos un move asociado al payment group queremos que el move tenga el mismo nombre que el del payment group. Esto para que en cualquier reporte aparezca este nombre de referencia. En verion 15 hay una constraint nueva _constrains_date_sequence que trae un problema. cuando vamos a validar un account.move revisa el nombre/secuencia que le fue asignado con un regex para encontrar algo parecido a un año y lo compara con el año de la fecha del move y si son diferentes años no permite continuar. Ejemplo: Tenemos un pago de proveedor que se llama OP - 2022 - 00012345 y lo validamos y generamos los account.move en el año 2023. El resultado es que nos salta la excpeción indicando que la secuencia que queremos asignar al move no es valida y debe corresponder al año. Para fines del account.move no queremos que esto aplique. No importa que nombre utilice el payment.group queremos que al validarse se traslade el nombre a los move generados. La modificacion de este metodo logra evitar esa comparacion de fechas closes ingadhoc/account-payment#344 Related: ingadhoc/odoo-public-administration#470 Signed-off-by: Katherine Zaoral --- account_payment_group/models/account_move.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/account_payment_group/models/account_move.py b/account_payment_group/models/account_move.py index a14c427cc..f72085de8 100644 --- a/account_payment_group/models/account_move.py +++ b/account_payment_group/models/account_move.py @@ -208,3 +208,22 @@ def _search(self, args, offset=0, limit=None, order=None, count=False, access_ri if self._context.get('without_payment_group'): args += [('payment_group_id', '=', False)] return super()._search(args, offset=offset, limit=limit, order=order, count=count, access_rights_uid=access_rights_uid) + + @api.model + def _deduce_sequence_number_reset(self, name): + """ Cuando tenemos un move asociado al payment group queremos que el move tenga el mismo nombre que el del payment + group. Esto para que en cualquier reporte aparezca este nombre de referencia. + + En verion 15 hay una constraint nueva _constrains_date_sequence que trae un problema. cuando vamos a validar un + account.move revisa el nombre/secuencia que le fue asignado con un regex para encontrar algo parecido a un + año y lo compara con el año de la fecha del move y si son diferentes años no permite continuar. Ejemplo: + Tenemos un pago de proveedor que se llama OP - 2022 - 00012345 y lo validamos y generamos los account.move en el + año 2023. El resultado es que nos salta la excpeción indicando que la secuencia que queremos asignar al move no + es valida y debe corresponder al año. + + Para fines del account.move no queremos que esto aplique. No importa que nombre utilice el payment.group queremos + que al validarse se traslade el nombre a los move generados. La modificacion de este metodo logra evitar esa + comparacion de fechas""" + if self.payment_group_id: + return 'never' + return super()._deduce_sequence_number_reset(name)