01. DATOS GENERALES


Línea de producto: Microsiga Protheus.
Segmento:Servicios - Mercado Internacional.
Módulo:SIGAFIN - Financiero.
Función:
RutinaNombre Técnico
FISA815Generación del XML de CFDI con complemento para recepción de pagos
Rutina(s) involucrada(s)Nombre Técnico
FINA087ACobros Diversos
Ticket:7468740
Issue:DMINA-7857
Versiones12.1.17 | 12.1.23 | 12.1.25


02. SITUACIÓN/REQUISITO

Actualmente el la rutina FISA815 genera el atributo NumOperación en el XML a partir de la concatenación del contenido de los campo EL_PREFIXO y EL_NUMERO.

DIMOSA recibe por parte de sus clientes una clave de referencia para que sea colocada en el atributo NumOperación y de esta manera poder identificar la operación, sin embargo la clave no puede ser informada en el campo EL_NUMERO ya que la clave suele tener una longitud mayor a la del campo EL_NUMERO.

Por esta razón se solicitan  agregar un punto de entrada que permita agregar mas información en el atributo NumOperación a partir del contenido del recibo (tabla SEL).

03. SOLUCIÓN

Se realiza la activación del Punto de Entrada M465DORIFE, mediante el cual el usuario podrá definir la informacion que retornara para el atributo NumOperacion y generar el xml de los recibos de cobro.

Funciones genéricas de documentos electrónicos (M486XFUN): Se realiza corrección para que en el nodo TaxTotal del XML de documentos a transmitir desde la rutina Transmisión Electrónica (MATA486) el elemento cbc:Percent se muestre a 3 decimales para lo impuestos calculados al millar (cuando el código de impuesto se encuentra configurado en el parámetro MV_IMPMILL), en caso contrario se muestra a 2 decimales, ya que se está causando rechazo si todos los impuestos se envían con 3 decimales.

Configuración responsabilidades-tributos del cliente (FISA827): Se realiza ajuste para agregar disparador para visualizar la descripción de acuerdo a la información del código de responsabilidad DIAN o Tributos DIAN del Cliente.


IMPORTANTE: Se activa la funcionalidad del Punto de Entrada solamente para relacionar documentos a través de la acción Doc Ori desde la opción Factura y para la captura manual de los campos Doc. Original (D1_NFORI) y Serie Orig. (D1_SERIORI),  para Notas de Crédito de Cliente (NCC) y Notas de Débito de Cliente (NDC).


*Para verificar la configuración del parámetro MV_IMPMILL puede consulta 6241101_DMINA-7002_DT_Facturacion_Electronica_Validacion_Previa_COL

04. INFORMACIÓN ADICIONAL

El Punto de Entrada M465DORIFE recibe como parámetros Sucursal, Número de Documento, Serie del Documento, Código del Cliente y Código de la Tienda, y se deberá retornar una variable lógica con valor .F. para excluir la validación de que el documento a relacionar en la Nota de Crédito (NCC) haya sido transmitido previamente.


Ejemplo del Punto de Entrada M465DORIFE*:

User function M465DORIFE()

        Local lRet := .T.
        Local cCRLF := (chr(13) + chr(10) )
        Local cFilDoc := PARAMIXB[1]      // Sucursal
        Local cNumDoc := PARAMIXB[2] // Número de Documento
        Local cSerieDoc := PARAMIXB[3] // Serie
        Local cCodCli := PARAMIXB[4]    // Código de Cliente
        Local cCodLoj := PARAMIXB[5]   // Código de Tienda

If Alltrim(cSerieDoc) $ "A|B"
         lRet := .F.
EndIf

Return lRet


NOTA: En el Punto de Entrada de ejemplo se indica que, SI la serie es A o B, no se deberá de realizar validación de que el documento relacionado a la Nota de Crédito se haya sido transmitido previamente.


Pasos para validar la solución:

Notas de Crédito:

  1. Ingresar al módulo Facturación (SIGAFAT) al menú "Actualizaciones | Facturación | Generac. de Notas de Crédito y Débito" (MATA465N).
  2. Informar los parámetros:
    1. ¿Formulario propio? = Si
    2. ¿Tipo de Factura? = Crédito
  3. Dar clic en el botón " + Incluir".
  4. Informar los campos del encabezado.
  5. Relacionar los documentos a compensar:
  6. Confirmar en el browse, que el documento ha sido creado correctamente.

¡IMPORTANTE!

*En el Punto de Entrada la variable lógica a retornar deberá de ser declarada con valor inicial .T. y se le deberá asignar el valor .F. cuando se cumpla la condición definida en la regla de negocio.