Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIX] account_payment_group: constraint move name (seq) #344

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions account_payment_group/models/account_move.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)