01. DATOS GENERALES


Producto

Línea de producto: 

Segmento:

Módulo:SIGAFAT - Facturación
Función:
RutinaNombre Técnico
INPUTFIELDSALL.TLPPGeneración de estructuras para campos de entradas.
País:Ecuador
Ticket:26464793
Requisito/Story/Issue (informe el requisito vinculado):DMICNS-26192


02. SITUACIÓN/REQUISITO

Al ejecutar el Execauto (MATA467N) e intentar incluir una Factura de Venta informando los campos  F2_PTOEMIS (Código de Punto de Emisión) y F2_ESTABL (Código de Establecimiento) estos no son grabados, por lo cual el proceso de transmisión no es exitoso, ya que ambos campos son requeridos para la transmisión de documentos. Se solicita realizar los ajustes correspondientes para que sean grabados correctamente.


03. SOLUCIÓN

Se modifica el fuente INPUTFIELDSALL.TLPP encargado de la "Generación de estructuras para campos de entradas", para que permita el grabado de los campos F2_PTOEMIS (Código de Punto de Emisión) y F2_ESTABL (Código de Establecimiento) al realizar la ejecución de un Execauto.


  1. Compilar la rutina automática para la generación de Facturas de salida. 

    User Function U_M467N()
    Local aCab          := {}
    Local aLinha        := {}
    Local aItens        := {}
    Local cDoc          := ""   // String con el número de documento
    Local nX            := 0
    Local nItems        := 1


    Private lMsErroAuto := .F. // Cuando se utiliza el ExecAuto , la inicialización correcta de la variable Private lMsErrorAuto es el valor .F.,
                               // si se produce un error durante el ExecAuto, el sistema cambia automáticamente el valor de la variable
                               // lMsErrorAuto a .T. y muestra el error.

    cDoc :=  FWInputBox("Número de Factura", "")    // Informar número de documento, ejemplo: "000000000001"
    Alert('Entro en la mata467n')  

    AAdd( aCab, { "F2_CLIENTE", "022185"                , Nil } )  
    AAdd( aCab, { "F2_LOJA"   , "01"                    , Nil } )  
    AAdd( aCab, { "F2_SERIE"  , "A"                     , Nil } )  
    AAdd( aCab, { "F2_DOC"    , cDoc                    , Nil } )        
    AAdd( aCab, { "F2_COND"   , "001"                   , Nil } )  
    AAdd( aCab, { "F2_LOJA"   , "01"                    , Nil } )    
    AAdd( aCab, { "F2_EMISSAO", dDataBase               , Nil } )    
    AAdd( aCab, { "F2_EST"    , "01"                    , Nil } )  
    AAdd( aCab, { "F2_TIPO"   , "N"                     , Nil } )
    AAdd( aCab, { "F2_ESPECIE", "NF   "                 , Nil } )
    AAdd( aCab, { "F2_PREFIXO", "A"                    , Nil } )
    AAdd( aCab, { "F2_MOEDA"  , 1                       , Nil } )
    AAdd( aCab, { "F2_TXMOEDA", 1                       , Nil } )
    AAdd( aCab, { "F2_FORMUL" , "S"                     , Nil } )
    AAdd( aCab, { "F2_TIPODOC", "01"                    , Nil } )
    AAdd( aCab, { "F2_PTOEMIS", "001"                    , Nil } )
    AAdd( aCab, { "F2_ESTABL", "002"                    , Nil } )
    AAdd( aCab, { "F2_FLFTEX", 0                       , Nil } )
     

    For nX := 1 to nItems
             
       aLinha := {}              
       AAdd( aLinha, { "D2_COD"    , "000001"             , Nil } )
       AAdd( aLinha, { "D2_QUANT"  , 1                    , Nil } )                  
       AAdd( aLinha, { "D2_PRCVEN" , 100                  , Nil } )                  
       AAdd( aLinha, { "D2_TOTAL"  , 100                  , Nil } )
       AAdd( aLinha, { "D2_TES"    , "501"                , Nil } )
       AAdd( aLinha, { "D2_UM"     , "PC"                 , Nil } )
       AAdd( aLinha, { "D2_ESPECIE", "NF"                 , Nil } )
       AAdd( aItens, aLinha)

    Next

     
    MSExecAuto( { |x,y,z| Mata467n(x,y,z) }, aCab, aItens, 3 )   //3-Incluir, 5-Borrar y 6-Anular


    If lMsErroAuto    

       MsgStop("Error al grabar.")
       MostraErro()

    Else  

        Alert('Grabado con éxito.')  

    EndIf

    Return

  2. Configurar el menú para esta rutina, dentro del módulo Configurador (SIGACFG | Entorno | Menús), agregar la opción en el menú para el módulo Facturación (SIGAFAT).
  3. Configurar el menú para esta rutina, dentro del módulo Configurador (SIGACFG | Entorno | Parámetros), tener configurado el parámetro MV_CTRLFOL = .T. 
  4. Por medio del módulo de Libros fiscales (SIGAFIS | Actualizaciones | Archivos) por medio de la rutina Control de Formularios (MATA992) se registran las series para los documentos de Factura de Venta indicando los campos FP_PTOEMIS (Código de Punto de Emisión) y FP_ESTABL (Código de Establecimiento), para mayor información ver el Documento Técnico de Facturación Electrónica de Ecuador (EQU).
  5. Por medio del módulo de Libros Fiscales (SIGAFIS | Actualizaciones | Archivos) por medio de la rutina Clientes (MATA030) se registra un cliente.
  6. Por medio del módulo de Libros Fiscales (SIGAFIS | Actualizaciones | Archivos) por medio de la rutina Productos (MATA010) se registra un producto.
  7. Por medio del módulo de Libros Fiscales (SIGAFIS | Actualizaciones | Archivos) por medio de la rutina Tipos de Entrada y Salida (MATA080) se registra una TES de Salida.
  1. Dentro del módulo Facturación (SIGAFAT), acceder a la opción del menú creado para la rutina automática y esperar la ejecución.
    1. Al finalizar la ejecución, acceder a la rutina Facturaciones (Actualizaciones | Facturación), confirme que la Factura de salida se generó con éxito.


Se debe considerar que los campos de usuario deben ser agregados mediante el Punto de entrada 72, para más información consulte LOCXPE72 - Inclui campos customizados no cabeçalho da nota de entrada para documentos

User Function LOCXPE72
Local aPadrao := PARAMIXB[1] //Trae nombre y contenido de los campos del encabezado del documento generado
Local aCustom := PARAMIXB[2] //Trae el nombre y el contenido de los campos del encabezado del execauto, en caso de que se haya ejecutado alguno


// Modificaciones del usuario

AADD(aPadrao[1], "F2_PRUEBA") //nombre del campo de usuario a agregar
AADD(aPadrao[2], "ESTO ES UNA PRUEBA") //Contenido del campo de usuario a agregar

Return aPadrao


04. INFORMACIÓN ADICIONAL


05. ASUNTOS RELACIONADOS