01. DATOS GENERALES
Producto | TOTVS Backoffice | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | |||||||||
Segmento: | Backoffice | |||||||||
Módulo: | SIGAFAT - Facturación | |||||||||
Función: |
| |||||||||
País: | México | |||||||||
Ticket: | 14129829 | |||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-15594 |
02. SITUACIÓN/REQUISITO
En la rutina Facturaciones (MATA467N), cuando se genera una Factura de Traslado indicando el campo Carta Porte? (F2_TPCOMPL) con valor S - Si, si uno o varios de los RFC's utilizados dentro del complemento de carta porte contiene Ñ o &, se genera un error al intentar timbrar el CFDI.
03. SOLUCIÓN
En la rutina LOCXFUNA se realizan las siguientes modificaciones:
- Función LxFunaCaPo()
- En el armado de la Cadena Original, para la sección "Ubicaciones", la cadena contenida en el campo RFC (A1Y_RFCORI) recibe el tratamiento de la función CFDCarEsp para codificarla a UTF8, el segundo parámetro de la función se indica como Falso debido a que para la Cadena Original no es necesario reemplazar los caracteres &, ", <, > y '.
- En el armado de la Cadena Original, para la sección "Propietario-Arrendatario", las cadenas contenidas en los campos RFC (A4_CGC) y Nombre (A4_NOME) reciben el tratamiento de la función CFDCarEsp para codificarlas a UTF8, el segundo parámetro de la función se indica como Falso debido a que para la Cadena Original no es necesario reemplazar los caracteres &, ", <, > y '.
- En el armado del XML, para la sección "Ubicaciones", el valor asignado para el tag "RFCRemitenteDestinatario" recibe el tratamiento de la función CFDCarEsp para codificarlo a UTF8, el segundo parámetro de la función se indica como Verdadero debido a que para el XML sí es necesario reemplazar los caracteres &, ", <, > y '; dichos caracteres serán reemplazados por "&", """, "<", ">" y "'", respectivamente.
- En el armado del XML, para la sección "Operadores", los valores asignados para los tags "RFCFigura" y "NombreFigura" reciben el tratamiento de la función CFDCarEsp para codificarlos a UTF8, el segundo parámetro de la función se indica como Verdadero debido a que para el XML sí es necesario reemplazar los caracteres &, ", <, > y '; dichos caracteres serán reemplazados por "&", """, "<", ">" y "'", respectivamente.
- En el armado del XML, para la sección "Propietario-Arrendatario", los valores asignados para los tags "RFCFigura" y "NombreFigura" reciben el tratamiento de la función CFDCarEsp para codificarlos a UTF8, el segundo parámetro de la función se indica como Verdadero debido a que para el XML sí es necesario reemplazar los caracteres &, ", <, > y '; dichos caracteres serán reemplazados por "&", """, "<", ">" y "'", respectivamente.
- Función LxFunOper() (Función encargada de obtener los datos de conductores <operadores>)
- En el armado de la Cadena Original, los valores contenidos en los campos RFC Figura (DA4_CGC) y Nombre Figura (DA4_NOME) reciben el tratamiento de la función CFDCarEsp para codificarlos a UTF8, el segundo parámetro de la función se indica como Falso debido a que para la Cadena Original no es necesario reemplazar los caracteres &, ", <, > y '.
En la rutina MATR475 se realizan las siguientes modificaciones:
- Se crea la función CFDCarEspInv() para convertir los caracteres especiales expresados en codificación Decimal (", &, ' <, >) a caracteres alfabéticos (", &, ', <, > ).
- Función MR475DETCP()
- Se ejecuta la función CFDCarEspInv() para obtener valores de los elementos RFCRemitenteDestinatario, RFCFigura y NombreFigura.
- Realizar un respaldo del repositorio del ambiente a actualizar (archivo .rpo).
- Aplicar el parche de actualización de la issue DMINA-15594.
- Tener configurada la funcionalidad de Carta Porte, vea Documento Técnico CFDI Complemento Carta Porte México
- Contar con un Conductor con nombre y RFC que contenga uno o más caracteres especiales:
- Módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Archivos | Conductores (OMSA040).
- Contar con una Transportadora con nombre y RFC que contenga uno o más caracteres especiales:
- Módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Archivos | Transportadoras (MATA050)
- En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Facturación | Facturaciones (MATA467N).
- Informar los parámetros de la rutina, indicando "Traslado".
- Incluir una Factura de Traslado.
- Informar los datos del Encabezado de la factura, indicar el campo "Carta Porte?" en "S - Si".
- Informar el campos Uso CFDI (F2_USOCFDI) con valor S01.
- Informar los datos de los ítems de la factura.
- Desde Otras acciones ejecutar la opción Carta Porte.
Informar los datos para el Complemento de Carta Porte y presionar Confirmar.
IMPORTANTE
Es necesario informar los datos de la sección Ubicaciones, registrando al menos un Origen y/o Destino, e indicando el campo RFC (A1Y_RFCORI) en cada caso.
- Presionar Grabar para confirmar el guardado de la Factura de Traslado.
- Confirmar la generación del comprobante fiscal digital (CFDI).
- Confirmar el timbrado del comprobante fiscal digital.
- Validar que el timbrado haya sido exitoso y que en los archivos XML y PDF se muestren correctamente los caracteres especiales.
IMPORTANTE
En el archivo XML los caracteres &, ", <, > y ' serán reemplazados por &, ", <, > y ', respectivamente; lo cual es correcto
04. INFORMACIÓN ADICIONAL
No aplica.
La presente solución aplica para versión 12.1.27 o superior, y se debe tener activa la funcionalidad de Facturación Electrónica para México versión CFDI 4.0 o CFDI 3.3; así como la funcionalidad de Complemento de Carta Porte.¡IMPORTANTE!
05. ASUNTOS RELACIONADOS
- DT CFDI con Complemento Carta Porte versión 2.0 MEX
- DT Facturación Electrónica para México de Comprobantes Fiscales Digitales por Internet (CFDI) Versión 4.0