Localizacion argentina 17.0 - secuencias en los pagos

28 de febrero de 2024 por
Gustavo Orrillo
| Sin comentarios aún
 

Un problema que surgía era la duplicación en los nombres de los pagos. Es por ello que agregamos a los diarios una secuencia de pagos dedicada


De esta manera solo (y enfatizo el solo) cuando se crea un recibo de pagos, la línea de pagos recibirá su propio nombre (sobre el cual tenemos total control, debido a que podemos dedicarle la secuencia y aplicar a la misma el formato que deseemos.

Entonces, al guardar un recibo, podemos ver que a cada línea se le asigna el nombre otorgado por la secuencia


Con lo cual se evita la duplicidad de nombres (incluso si dos medios de pago comparten la secuencia).

Como hacemos esto? Si observamos el código veremos que el módulo account_payment_group extiende el método create del modelo account.payment (que es un account.move con esteroides)

if 'journal_id' in vals:
journal = self.env['account.journal'].browse(vals.get('journal_id'))
if not journal.payment_sequence_id:
raise ValidationError('Debe configurar la secuencia de pagos para %s'%(journal.name))
next_name = self.env['ir.sequence'].next_by_code(journal.payment_sequence_id.code)
vals['name'] = next_name

Como pueden ver, en el create chequeamos si esta el journal y si el mismo no tiene la secuenceia dedicada... se emite un mensaje de error. Caso contrario se sobreescribe el nombre con el valor devuelto por la secuencia. Otro ejemplo de como extender el método create.

Por último seguimos con nuestra campaña de reducir la cantidad de líneas de código de la localización, e hicimos un gran avance de cuando la iniciamos con este post.


Gustavo Orrillo 28 de febrero de 2024
Compartir
Archivar
Identificarse dejar un comentario