Árvore de páginas

01. DATOS GENERALES


Producto

TOTVS Backoffice

Línea de producto: 

Línea Protheus

Segmento:

Backoffice

Módulo:SIGAFAT - Facturación
Función:
RutinaNombre técnicoFecha
LOCXFUNAFunciones genéricas de documentos fiscales.22/06/2022
MATR475Generación de PDF para Documentos Fiscales de Entrada/Salida.24/06/2022
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 &, ", <, > '.
    • 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 &, ", <, > '.
    • 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 &, ", <, > '; dichos caracteres serán reemplazados por "&amp;", "&quot;", "&lt;", "&gt;" y "&apos;", 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 &, ", <, > '; dichos caracteres serán reemplazados por "&amp;", "&quot;", "&lt;", "&gt;" y "&apos;", 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 &, ", <, > '; dichos caracteres serán reemplazados por "&amp;", "&quot;", "&lt;", "&gt;" y "&apos;", 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   &, ", <, > '.

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 (&#34, &#38, &#39 &#60, &#62)  a caracteres alfabéticos (", &, ', <, > ).
  • Función MR475DETCP()
    • Se ejecuta la función CFDCarEspInv() para obtener valores de los elementos RFCRemitenteDestinatario, RFCFigura y NombreFigura.



  1. Realizar un respaldo del repositorio del ambiente a actualizar (archivo .rpo).
  2. Aplicar el parche de actualización de la issue DMINA-15594.
  3. Tener configurada la funcionalidad de Carta Porte, vea Documento Técnico CFDI Complemento Carta Porte México
  4. Contar con un Conductor con nombre y RFC que contenga uno o más caracteres especiales:
    1. Módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Archivos Conductores (OMSA040).
  5. Contar con una Transportadora con nombre y RFC que contenga uno o más caracteres especiales:
    1. Módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Archivos Transportadoras (MATA050)
  1. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Facturación | Facturaciones (MATA467N).
  2. Informar los parámetros de la rutina, indicando "Traslado".
  3. Incluir una Factura de Traslado.
  4. Informar los datos del Encabezado de la factura, indicar el campo "Carta Porte?" en "S - Si".
  5. Informar el campos Uso CFDI (F2_USOCFDI) con valor S01.
  6. Informar los datos de los ítems de la factura.
  7. Desde Otras acciones ejecutar la opción Carta Porte.
  8. 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.

  9. Presionar Grabar para confirmar el guardado de la Factura de Traslado.
  10. Confirmar la generación del comprobante fiscal digital (CFDI).
  11. Confirmar el timbrado del comprobante fiscal digital.
  12. Validar que el timbrado haya sido exitoso y que en los archivos XML y PDF se muestren correctamente los caracteres especiales.
    1.  


      IMPORTANTE

      En el archivo XML los caracteres &, ", <, > y ' serán reemplazados por &amp;, &quot;, &lt;, &gt; y &apos;, respectivamente; lo cual es correcto







04. INFORMACIÓN ADICIONAL

No aplica.


¡IMPORTANTE!

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.


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