El campo idccp no debería ser un campo calculado
Resumen
Al ser calculado el campo idccp
es posible que se puedan llegar a generar inconsistencias en la información del complemento de carta porte.
Pasos para reproducirlo
- Generar una carta porte de un albarán con algún error para que no se pueda validar
- Corregir el error y volver a generar la carta porte
¿Cuál es el comportamiento equivocado que se está presentando?
El valor del nodo idccp
cambia del primer XML al segundo
¿Cuál es el comportamiento correcto esperado?
Que el valor del nodo idccp
se mantenga sin cambios una vez que se generó
Versión del sistema y de los módulos
- Módulo l10n_mx_transport_document versión 8.0.2.1.0 e inferiores
Posibles soluciones
-
Borrar el campo
idccp
de los módulos l10n_mx_stock y l10n_mx_transport_facturae y agregarlo en el objetocustom.uuid.mixin
de este módulo -
Quitar el parámetro
compute
del campoidccp
-
En el módulo l10n_mx_stock en el objeto
stock.picking
heredar la funcióncreate_cfdi
para rellenar el valor del campoidccp
en caso de que el campo esté vacío, más o menos de esta manera:
def create_cfdi(self):
self.filtered(lambda p: not p.idccp)._compute_custom_uuid_idccp()
return super (StockPicking, self).create_cfdi()
-
En el módulo l10n_mx_transport_facturae en el objeto
account.invoice
heredar la funcióncreate_cfdi
para rellenar el valor del campoidccp
en caso de que el campo esté vacío, más o menos de la misma manera que en el punto anterior
cc @OpenPymeMx