Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  1. Visión general
  2. Ejemplo de utilización
  3. Menús
  4. Diccionario de datos.
  5. Tablas.
  6. .Temas relacionados.


01. VISIÓN GENERAL

Se implementa la generación de XML  y procedimiento de timbrado de los documentos Factura "NF", Nota de Crédito "NCC" , Nota de Débito "NDC" y Guía de Remisión "RFN" electrónicos según lo establecido por la SET en la  versión N° 150-24/06/2019/SIFEN (Especificado en el siguiente documento).

View file
nameManual Técnico Versión 150.pdf
height250


Rutinas:

Rutina
FISA812.PRWDefinición de catálogos.
FISA813.PRWMantenimiento de catálogos.
FISA814.PRWInformaciones de catálogos.
LOCXFUNA.PRXFunciones genéricas de notas fiscales.
LOCXNF.PRWNotas Fiscales.
LOCXNF2.PRWFunciones genéricas de notas fiscales.
M100IVA.PRXFunción de cálculo de IVA.
M100IVAI.PRWFunción de cálculo de IVA.
M460IVA.PRXFunción de cálculo de IVA.
M460IVAI.PRWFunción de cálculo de IVA.
M486PAGOS.PRWFunción de registro de pagos para Facturación Electrónica.
M486PDFPAR.PRWImpresión de Factura Electrónica.
M486XFUNPAR.PRWFunciones genéricas para Facturación Electrónica.
MATA462AN.PRWEmisión de Remisión
MATA468N.PRXGeneración de Facturas.
MATA486.PRWDocumentos Electrónicos.
MATA992.PRWControl de formularios.


02. EJEMPLO DE UTILIZACIÓN

...

Totvs custom tabs box
tabsParámetros, Archivos Necesarios ,Configuraciones Necesarias, Facturas, Notas Crédito, Notas Débito, Remitos, Documentos Electrónicos, Puntos , Punto de Entrada Xml Salida, Punto de Entrada Xml Entrada,Personalizar PDF
idspaso01,paso02,paso03,paso04,paso05,paso06,paso07,paso08,paso09,paso10,paso11
Totvs custom tabs box items
defaultyes
referenciapaso01
Nombre de la VariableValor Ejemplo
MV_PATH814C:\Catalogos_csv\
MV_F3HNUM
MV_CFDI_AMT
MV_CFDSMAR

GetClientDir()

Cuando se usa en versión web se debe crear un carpeta en alguna ubicación con permisos de lectura y escritura;  y se debe informar la ruta ejemplo "C:\temp\". Adicional en dicha ruta debe esta el certificado y la carpeta SIFENWS.

MV_CFDI_PASIFENWS
MV_CFDDOCSGetSrvProfString('startpath','')+'\cfd\facturas\'
MV_CFDI_PXcertificado.pfx
MV_CFDICVE12345678a
MV_IDCONEN1
MV_IDCSC0001
MV_CSCABCD0000000000000000000000000000
MV_CFDUSO1
MV_RELACNT[email protected]
MV_TIPTRANS
MV_ASYNLOT50
MV_TIPCON1=Persona Física ,2=Persona Jurídica
MV_IMPKUDE

1= Imprime facturas autorizadas

2= Imprime facturas transmitidas y autorizadas


Totvs custom tabs box items
defaultno
referenciapaso02
  • Archivos de Catálogos.
    • Una vez configurado el parámetro MV_PATH814 con una ruta local, deberá colocar los archivos .csv anexos a esta solución en el archivo archivo CatalogosFact.zip. En  En este archivo se encuentran los catálogos en formato csv los cuales serán tomados por la rutina Carga de Catálogos para generar sus registros en Protheus.
  • Certificado digital.
    • El certificado digital informado en el parámetro MVparámetro MV_CFDI_PX, deberá ser colocado dentro de la ruta informada en el parámetro MVparámetro MV_CFDSMAR.
  • Archivo .exe (SIFENWS.EXE) para realizar consumo de los servicios web del SIFEN.
    • El archivo SIFENWS.EXE se puede descargar del siguiente enlace https://suporte.totvs.com/portal/p/10098/download?e=1083727 una vez descargado el archivo:
      • Localizar el archivo descargado, y descomprimir.
      • Ubique la carpeta "Paraguay" dentro se encuentra el comprimido SIFENWS descomprima no mover ninguno de los elementos.
    • El nombre del archivo(ejecutable) deberá ser colocado en nombre del archivo deberá ser colocado en el parámetro MV_CFDI_PA (SIFENWS), el archivo deberá ser colocado en la ruta informada en el parámetro MV_CFDSMAR.
    • En caso de que el archivo se encuentre en una carpeta, la carpeta deberá tener el mismo nombre del archivo .exe.
  • Dentro de la ruta '\Protheus_data\system\', deberá crear los siguientes directorios:
    • "\facturas\" 
    • Dentro de la ruta '\Protheus_data\system\facturas\', deberá crear los siguientes directorios:
      • "\autorizados\" - Almacena las facturas autorizadas por el SIFEN.
      • "\canceladas\" - Almacena los documentos cancelados. Los documentos cancelados son documentos que fueron enviados y autorizados por el SIFEN, pero que después fueron cancelados.
      • "\inutilizadas\" - Almacena los documentos inutilizados. Los documentos inutilizados son documentos que no fueron transmitidos al SIFEN, pero que fueron reportados como "cancelados" sin ser aprobados previamente.
  • Para el uso en versión web se debe tener actualizado WEBAGENT y configurar correctamente de acuerdo  a la documentación.
  • Catálogos.
    • En el módulo de Facturación, ingresar a la rutina Definición de Catálogos  "Actualizaciones | Archivos| Definición de Catálogos". La primera vez detonará la carga de los archivos csv al Protheus. Es importante realice este paso, pues las configuraciones siguientes dependen de la correcta carga de la información de catálogos al sistema Protheus.

    • En el módulo de Facturación, ingresar a la rutina Mantenimiento de Catálogos "Actualizaciones | Archivos | Mantenimiento de Catálogos". Ingresar al catálogo S030 - DIRECCIÓN DEL EMISOR, informar los datos correspondientes a la dirección del emisor.
      • Ejemplo:
        • RUC correspondiente al emisor.
        • Número  - Correspondiente al informado antes el SIFEN.
        • Tipo Régimen - Régimen del emisor de acuerdo al catálogo S001.
        • Departamento - Correspondiente al RUC informado y de acuerdo al catálogo S003.
        • Distrito - Correspondiente al RUC informado y de acuerdo al catálogo S031.
        • Ciudad - Correspondiente al RUC informado y de acuerdo al catálogo S012.

Dentro del módulo configurador en la configuración de la empresa verificar la siguiente configuración se encuentre registrada:

  • Datos generales
    • Nombre comercial.
    • Teléfono
    • RUC (CNPJ o CPF).
  • Dirección Fiscal/Entrega
    • Dirección Fiscal/Entrega
    • Barrio
    • Ciudad Fiscal Entrega
    • CP Fiscal/Entrega
  • Adicionales
    • Actividad económica - Correspondiente al RUC informado y de acuerdo al catálogo S006.

Para los siguientes registros será necesario informar los siguientes campos para el correcto llenado de los archivos xml.

  • Clientes - (SIGAFIS | Actualizaciones | Archivos| Clientes)
    • A1_TIPDOC - Tipo de documento.
    • A1_NUM - Número de casa.
    • A1_DEPTO - Código departamento de acuerdo a la SET.
    • A1_DISTR - Código de distrito de acuerdo a la SET.
    • A1_CIUDAD - Código de ciudad de acuerdo a la SET.
    • A1_PESSOA - Persona Física/Jurídica
    • A1_CGC - RUC.
    • A1_NIF - Número de identificación Fiscal
    • A1_NOME - Nombre del cliente.
    • A1_NREDUZ - Nombre de fantasía.
    • A1_END - Dirección del cliente.
    • A1_TEL - Teléfono del cliente.
    • A1_EMAIL - Correo del cliente.
    • A1_COD - Código interno del cliente.
  • Países - (SIGACOM | Actualizaciones | Archivo Importaciones| Países)
    • YA_CODERP - Cod. ERP. Clave de país de acuerdo al catálogo de países.
  • Monedas - (SIGACTB | Actualizaciones | Archivos| Monedas Contables)
    • CTO_MOESAT - Moneda SAT. Clave de moneda de acuerdo al catálogo monedas.
  • Unidades de medida - (SIGAFIS | Actualizaciones | Archivos| Unidades de Medida).
    • AH_COD_CO - Ori Cert Cód. Clave de unidad de medida de acuerdo al catálogo de unidades de medida.
  • Impuestos variables - (SIGAFIS | Actualizaciones | Archivos| Impuestos Variab.).
    • FB_CODIMP - Cod. Impuest. Código de impuesto de acuerdo al catálogo de impuesto afectado.
    • FB_CLASSE - Clase Imp. Indicar la clase de impuesto.
  • Control de Formularios - (SIGAFIS | Actualizaciones | Archivos| Control de formularios).
    • FP_SERIE2 - Serie 2. De acuerdo a la numeración definida por el SIFEN empezando con una serie en blanco hasta acabar la numeración 0000001 - 9999999.
    • FP_CAI - No. Aprob. Informar el número de timbrado para la serie usada de acuerdo al tipo de documento.
    • FP_FINITIM - Fch. In. Tim. Informar la fecha de inicio del timbrado.
  • Productos - (SIGAFIS | Actualizaciones | Archivos | Productos).
    • B1_COD - Código del producto.
    • B1_DESC - Descripción del producto.
    • B1_UM - Unidad de Medida.
  • Condiciones de pago - (SIGAFAT | Actualizaciones | Archivos | Condiciones de pago).
    • Pago de contado  
      • E4_BXTITAV = 1-Si. Baja título automática.
    • Pago en cuota o plazo.
      • E4_BXTITAV = 2-No. Baja título automática.
      • E4_COND - Informar el plazo o cuotas.
        • Ejemplo plazo
          • "30" - Genera un plazo de 30 días.
        • Ejemplo cuota
          • "30,60,90" - Genera 3 cuotas, una cada 30 días.
  • Transportadoras (SIGACOM | Actualizaciones | Archivo importaciones | Transportadoras)
    • A4_NOME - Nombre
    • A4_CGC - RUC
    • A4_TIPCON - Tipo Contrib
    • A4_TIPID - Tipo de Iden (De acuerdo al catálogo S018).
  • Vehículos (SIGAOMS | Actualizaciones | Logística | Vehículos)

    • DA3_DESC - Modelo
    • DA3_PLACA - Matrícula
    • DA3_CHASSI - Chasís
    • DA3_TIPTR2 - Tipo Transporte
    • DA3_TIPID - Tipo Vehículo (Tipo de identificación).
Totvs custom tabs box items
defaultno
referenciapaso03
  • Catálogos.
    • En el módulo de Facturación, ingresar a la rutina Definición de Catálogos  "Actualizaciones | Archivos| Definición de Catálogos". La primera vez detonará la carga de los archivos csv al Protheus. Es importante realice este paso después de configurar todos los parámetros , pues las configuraciones siguientes dependen de la correcta carga de la información de catálogos al sistema Protheus.

    • Catálogos.

      View file
      nameCatalogos.zip
      height250

      CódigoDescripción
      S001Tipo de Régimen
      S002Unidad de Medida
      S003Departamento
      S004Monedas
      S005Países
      S006Catálogo de actividad económica
      S007Catálogo de afectación
      S008Catálogo de categoría ISC
      S009Catálogo de tasas ISC
      S010Condiciones
      S011Catálogo de Regímenes Aduaneros
      S012Referencia Geográfica
      S013Tipos de Pago
      S014Denominación Tarjeta
      S015Documento Electrónico
      S016Tipo de transacción
      S017Catálogo de Impuesto Afectado
      S018Tipo Documento de Identidad
      S019Indicador de Presencia
      S020Doc Identidad VEN/TRA
      S021Motivo de Emisión NC
      S022Motivo de Emisión RE
      S023Catálogo de Respon. Emisión
      S024Catálogo de Vehículos
      S025Catálogo de Tipo de Combustible
      S026Catálogo de Mod. de Transporte
      S027Catálogo Respon. del Flete
      S028Catálogo de Doc. Impreso
      S029Tipos de Operación
      S030Dirección del Emisor
      S031Distrito
      S032Procesamiento Pago
    • En el módulo de Facturación, ingresar a la rutina Mantenimiento de Catálogos "Actualizaciones | Archivos | Mantenimiento de Catálogos". Ingresar al catálogo S030 - DIRECCIÓN DEL EMISOR, informar los datos correspondientes a la dirección del emisor.
      • Ejemplo:
        • RUC correspondiente al emisor.
        • Número  - Correspondiente al informado antes el SIFEN.
        • Tipo Régimen - Régimen del emisor de acuerdo al catálogo S001.
        • Departamento - Correspondiente al RUC informado y de acuerdo al catálogo S003.
        • Distrito - Correspondiente al RUC informado y de acuerdo al catálogo S031.
        • Ciudad - Correspondiente al RUC informado y de acuerdo al catálogo S012.

Dentro del módulo configurador en la configuración de la empresa verificar la siguiente configuración se encuentre registrada:

  • Datos generales
    • Nombre comercial.
    • Teléfono
    • RUC (CNPJ o CPF).
  • Dirección Fiscal/Entrega
    • Dirección Fiscal/Entrega
    • Barrio
    • Ciudad Fiscal Entrega
    • CP Fiscal/Entrega
  • Adicionales
    • Actividad económica - Correspondiente al RUC informado y de acuerdo al catálogo S006.

Para los siguientes registros será necesario informar los siguientes campos para el correcto llenado de los archivos xml.

  • Clientes - (SIGAFIS | Actualizaciones | Archivos| Clientes)
    • A1_TIPDOC - Tipo de documento.
    • A1_NUM - Número de casa.
    • A1_DEPTO - Código departamento de acuerdo a la SET.
    • A1_DISTR - Código de distrito de acuerdo a la SET.
    • A1_CIUDAD - Código de ciudad de acuerdo a la SET.
    • A1_PESSOA - Persona Física/Jurídica
    • A1_CGC - RUC.
    • A1_NIF - Número de identificación Fiscal
    • A1_NOME - Nombre del cliente.
    • A1_NREDUZ - Nombre de fantasía.
    • A1_END - Dirección del cliente.
    • A1_TEL - Teléfono del cliente.
    • A1_EMAIL - Correo del cliente.
    • A1_COD - Código interno del cliente.
  • Países - (SIGACOM | Actualizaciones | Archivo Importaciones| Países)
    • YA_CODERP - Cod. ERP. Clave de país de acuerdo al catálogo de países.
  • Monedas - (SIGACTB | Actualizaciones | Archivos| Monedas Contables)
    • CTO_MOESAT - Moneda SAT. Clave de moneda de acuerdo al catálogo monedas.
  • Unidades de medida - (SIGAFIS | Actualizaciones | Archivos| Unidades de Medida).
    • AH_COD_CO - Ori Cert Cód. Clave de unidad de medida de acuerdo al catálogo de unidades de medida.
  • Impuestos variables - (SIGAFIS | Actualizaciones | Archivos| Impuestos Variab.).
    • FB_CODIMP - Cod. Impuest. Código de impuesto de acuerdo al catálogo de impuesto afectado.
    • FB_CLASSE - Clase Imp. Indicar la clase de impuesto.
  • Control de Formularios - (SIGAFIS | Actualizaciones | Archivos| Control de formularios).
    • FP_SERIE2 - Serie 2. De acuerdo a la numeración definida por el SIFEN empezando con una serie en blanco hasta acabar la numeración 0000001 - 9999999.
    • FP_CAI - No. Aprob. Informar el número de timbrado para la serie usada de acuerdo al tipo de documento.
    • FP_FINITIM - Fch. In. Tim. Informar la fecha de inicio del timbrado.
  • Productos - (SIGAFIS | Actualizaciones | Archivos | Productos).
    • B1_COD - Código del producto.
    • B1_DESC - Descripción del producto.
    • B1_UM - Unidad de Medida.
  • Condiciones de pago - (SIGAFAT | Actualizaciones | Archivos | Condiciones de pago).
    • Pago de contado  
      • E4_BXTITAV = 1-Si. Baja título automática.
    • Pago en cuota o plazo.
      • E4_BXTITAV = 2-No. Baja título automática.
      • E4_COND - Informar el plazo o cuotas.
        • Ejemplo plazo
          • "30" - Genera un plazo de 30 días.
        • Ejemplo cuota
          • "30,60,90" - Genera 3 cuotas, una cada 30 días.
  • Transportadoras (SIGACOM | Actualizaciones | Archivo importaciones | Transportadoras)
    • A4_NOME - Nombre
    • A4_CGC - RUC
    • A4_TIPCON - Tipo Contrib
    • A4_TIPID - Tipo de Iden (De acuerdo al catálogo S018).
  • Vehículos (SIGAOMS | Actualizaciones | Logística | Vehículos)

    • DA3_DESC - Modelo
    • DA3_PLACA - Matrícula
    • DA3_CHASSI - Chasís
    • DA3_TIPTR2 - Tipo Transporte
    • DA3_TIPID - Tipo Vehículo (Tipo de identificación)
Totvs custom tabs box items
defaultno
referenciapaso03
Totvs custom tabs box items
defaultno
referenciapaso04

Pago de Contado

  1. En el módulo de Facturación, ingresar a la rutina Facturación "Actualizaciones | Facturación | Facturación".
  2. Registrar una factura, informar los campos necesarios en la factura para generar correctamente el archivo xml.
    1. Tipo NF (F2_TIPONF).
    2. Tipo Transacción (F2_TPTRANS).
    3. Seleccionar una condición de pago que realice baja automática. (E4_BXTITAV = 1)
  3. Confirmar el documento.
  4. Una vez finalizado se mostrará una ventana para informar las formas de pago del documento, estas son obligatorias para la correcta generación del documento xml. (Deberán contemplar el valor completo del documento para que sea válido)
    1. Para la correcta generación deberán ser informados los campos de acuerdo al tipo de pago.
      1. Tipo de pago 
        1. Pago con Tarjetas.
          1. Tipo Tarjeta
          2. Código de autorización de operación.
          3. Número de Tarjeta (Últimos 4 dígitos).
        2. Pago con cheque. 
          1. Banco emisor.
          2. Número de cheque.
      2. Monto de pago
      3. Forma de procesamiento de pago
    2. En caso no haber registrado la formas de pago al confirmar el documento será posible registrarlas seleccionando el documento y en "Otras acciones" seleccionar la opción "Registro pagos."
  5. Una vez registradas las formas de pago confirmar.

Pago a plazo

  1. En el módulo de Facturación, ingresar a la rutina Facturación "Actualizaciones | Facturación | Facturación".
  2. Registrar una factura, informar los campos necesarios en la factura para generar correctamente el archivo xml.
    1. Tipo NF (F2_TIPONF).
    2. Tipo Transacción (F2_TPTRANS).
    3. Seleccionar una condición de pago que NO realice baja automática y genere pago con plazo. (Ejemplo: E4_BXTITAV = 2 y E4_COND = 30)
  3. Confirmar el documento.

Pago en cuota

  • En el módulo de Facturación, ingresar a la rutina Facturación "Actualizaciones | Facturación | Facturación".
  • Registrar una factura, informar los campos necesarios en la factura para generar correctamente el archivo xml.
    1. Tipo NF (F2_TIPONF).
    2. Tipo Transacción (F2_TPTRANS).
    3. Seleccionar una condición de pago que NO realice baja automática y genere cuotas. (Ejemplo: E4_BXTITAV = 2 y E4_COND = 30,60,90)
  • Confirmar el documento
      • .
    Totvs custom tabs box items
    paso05
    defaultno
    referenciapaso04

    Pago de Contado

    1. En el módulo de Facturación, ingresar a la rutina Generac. de Notas  de Crédito y Débito Facturación "Actualizaciones | Facturación | Generac. de Notas  de Crédito y DébitoFacturación".
    2. Registrar una nota de créditofactura, informar los campos necesarios en la factura para generar correctamente el archivo xml.
      1. Tipo NF (F2_TIPONF).
      2. Tipo Nota C Transacción (F1F2_TIPREF) - Motivo de la emisión de la nota de crédito.
    3. Dentro de "Otras acciones | Doc Orig" seleccionar el documento al que corresponde la nota de crédito.
    4. Confirmar el documento.

    Nota 

    Las notas de crédito deben tener un documento asociado. Campos D1_NFORI, D1_SERIORI informados.

    Totvs custom tabs box items
    defaultno
    referenciapaso06
    1. En el módulo de Facturación, ingresar a la rutina Generac. de Notas  de Crédito y Débito "Actualizaciones | Facturación | Generac. de Notas  de Crédito y Débito".
    2. Registrar una nota de débito, informar los campos necesarios en la factura para generar correctamente el archivo xml.
      1. Tipo Nota D (F2_TIPREF).
    3. Al registrar la nota de débito deberán ser informados los campos del documento al cual se encuentra asociada.
    4. Confirmar el documento.

    Nota

    Las notas de crédito deben tener un documento asociado. Campos D2_NFORI, D2_SERIORI informados.

    paso07
      1. TPTRANS).
      2. Seleccionar una condición de pago que realice baja automática. (E4_BXTITAV = 1)
    1. Confirmar el documento.
    2. Una vez finalizado se mostrará una ventana para informar las formas de pago del documento, estas son obligatorias para la correcta generación del documento xml. (Deberán contemplar el valor completo del documento para que sea válido)
      1. Para la correcta generación deberán ser informados los campos de acuerdo al tipo de pago.
        1. Tipo de pago 
          1. Pago con Tarjetas.
            1. Tipo Tarjeta
            2. Código de autorización de operación.
            3. Número de Tarjeta (Últimos 4 dígitos).
          2. Pago con cheque. 
            1. Banco emisor.
            2. Número de cheque.
        2. Monto de pago
        3. Forma de procesamiento de pago
      2. En caso no haber registrado la formas de pago al confirmar el documento será posible registrarlas seleccionando el documento y en "Otras acciones" seleccionar la opción "Registro pagos."
    3. Una vez registradas las formas de pago confirmar.


    Pago a plazo

    Totvs custom tabs box items
    defaultno
    referencia

    1. En el módulo de Facturación, ingresar a la rutina Pedidos de venta Facturación "Actualizaciones | Pedidos | Pedidos de venta". Facturación | Facturación".
    2. Registrar una factura, informar los campos necesarios en la factura Registrar un pedido que genere un remito e informar los datos necesarios en el pedido para generar correctamente el archivo xml.
    3. Transp. (C5_TRANSP)
    4. Doc Gener. (C5_DOCGER) = 2 - Remisión
    5. Vehic. Trans.
        (C5_VEICULO)Motivo (C5_MODTRAD)
      1. Tipo NF (C5F2_TIPONF).
      2. Tipo Transac. Transacción (C5F2_TPTRANS)Incoterms (C5_INCOTER)Fec. Ini. Tras. (C5_FECDSE)
      3. Fch. Fin Tras. (C5_FECHDE)
      4. Resp. Flete (C5_TPRESFL
      5. Seleccionar una condición de pago que NO realice baja automática y genere pago con plazo. (Ejemplo: E4_BXTITAV = 2 y E4_COND = 30)
    6. Confirmar el documento.

    Pago en cuota

    1. En el módulo de Facturación, ingresar a la rutina Generac de remito Facturación "Actualizaciones | Form. De Remisión | Generac de remitoFacturación | Facturación".
    2. Registrar una factura, informar los campos necesarios en la factura para generar correctamente el archivo xml.
      1. Tipo NF (F2_TIPONF).
      2. Tipo Transacción (F2_TPTRANS).
      3. Seleccionar una condición de pago que NO realice baja automática y genere cuotas. (Ejemplo: E4_BXTITAV = 2 y E4_COND = 30,60,90)
    3. Confirmar el documentoRealizar la generación del remito usando el pedido antes generado.

    En caso de ser necesario modificar el xml existen puntos de entrada habilitados para realizar esta operación.

    Ejemplos de uso:

    Documentos de salida. (NF, NDC, RFN)

    User Function M486PESXML()
    Local cFilial   := PARAMIXB[1]
    Local cSerie    := PARAMIXB[2]
    Local cCliente  := PARAMIXB[3]
    Local cLoja     := PARAMIXB[4]
    Local cDoc      := PARAMIXB[5]
    Local cEspecie  := PARAMIXB[6]
    Local cXml      := PARAMIXB[7]

    //Generación-alteración del xml.
    Return cXml

    Documentos de entrada. (NCC)

    User Function M486PEEXML()
    Local cFilial   := PARAMIXB[1]
    Local cSerie    := PARAMIXB[2]
    Local cCliente  := PARAMIXB[3]
    Local cLoja     := PARAMIXB[4]
    Local cDoc      := PARAMIXB[5]
    Local cEspecie  := PARAMIXB[6]
    Local cXml      := PARAMIXB[7]

    //Generación-alteración del xml.
    Return cXml

    La información retornada en la variable cXml deberá contener el xml que será guardado para ser transmitido.

    Totvs custom tabs box items
    defaultno
    referenciapaso08paso05
    1. En el módulo de Facturación, ingresar a la rutina Documentos Electrónicos Generac. de Notas  de Crédito y Débito "Actualizaciones | Facturación | Documentos ElectrónicosGenerac. de Notas  de Crédito y Débito".
    2. Seleccionar los parámetros de acuerdo a los documentos que serán visualizados/procesados.
      1. ¿Tipo documento? - Seleccionar el tipo de documento.
        1. Factura
        2. Nota Débito
        3. Nota Crédito
        4. Remisión
      2. ¿Serie? - Seleccionar la serie de los documentos.
      3. ¿Estatus? - Estatus de los documentos.
        1. 1 - No transmitida.
        2. 2 - Recibido.
        3. 3 - Esperando procesamiento.
        4. 4 - Documento Rechazado.
        5. 5 - Documento Autorizado.
      4. ¿Fecha Inicial? - Fecha inicial del rango para los documentos.
      5. ¿Fecha Final? - Fecha final del rango para los documentos.

    Transmisión

    Seleccionar los parámetros para visualizar los documentos no transmitidos o rechazados.

    Ejemplo:

    1. ¿Tipo documento? - "Factura"
    2. ¿Serie? - "A"
    3. ¿Estatus? - "1" o "4"
    4. ¿Fecha Inicial? - 01/03/2021
    5. ¿Fecha Final? - 31/03/2021

    Se visualizarán los documentos que no han sido transmitidos o procesados, dependiendo del parámetro "Estatus".

    1. Seleccionar "Transmitir".
    2. Se mostrará una venta de parámetros, informar los datos de acuerdo a los documentos que serán transmitidos. Informar la serie del documento y el rango de los documentos a transmitir.
      1. ¿Serie de la Factura? - "A01"
      2. ¿Factura Inicial? - "0010010000001"
      3. ¿Factura Final? - "0010010000001"
    3. Una vez finalizado el proceso se mostrará un mensaje.
      1. En caso de haber tenido errores durante la transmisión se mostrará un mensaje indicándolo.
        1. Indicar "Si" en la pregunta "¿Desea visualizar el log del proceso?".
        2. Se mostrará un informe con los errores que ocurrieron durante el proceso.
      2. En caso de haber realizado de manera correcta la transmisión se mostrará un mensaje indicándolo.
        1. Indicar "Si" en la pregunta "¿Desea visualizar log de Transmisión?".
        2. Se mostrará un informe con los documentos autorizados.
    4. El documento será actualizado y ahora será visible al seleccionar el estatus "5 - Documento Autorizado"

    Cancelación

    Seleccionar los parámetros para visualizar los documentos Autorizados.

    Ejemplo:

    1. ¿Tipo documento? - "Factura"
    2. ¿Serie? - "A"
    3. ¿Estatus? - "5"
    4. ¿Fecha Inicial? - 01/03/2021
    5. ¿Fecha Final? - 31/03/2021
    1. Seleccionar "Otras acciones | Anulación Fac. Electrónica".
    2. Se mostrará una barra de progreso.
    3. Una vez finalizado el proceso se mostrará un mensaje.
      1. En caso de haber tenido errores durante la transmisión se mostrará un mensaje indicándolo.
        1. Indicar "Si" en la pregunta "¿Desea visualizar el log del proceso?".
        2. Se mostrará un informe con los errores que ocurrieron durante el proceso.
      2. En caso de haber realizado de manera correcta la transmisión se mostrará un mensaje indicándolo.
        1. Indicar "Si" en la pregunta "¿Desea visualizar log de Transmisión?".
        2. Se mostrará un informe con los documentos autorizados.

    Imprimir PDF

    1. Seleccionar "Imprimir PDF".
    2. Se mostrará una venta de parámetros, informar los datos de acuerdo a los documentos que serán generados los PDF. Informar la serie del documento y el rango de los documentos a transmitir.
      1. ¿Serie de documento? - "A01"
      2. ¿Documento Inicial? - "0010010000001"
      3. ¿Documento Final? - "0010010000001"
      4. ¿Formato? - PDF
    3. Se mostrará una barra de progreso.
    4. Una vez finalizado el proceso se podrán consultar los documento en la ruta informada en el parámetro MV_CFDDOCS en la carpeta llamada "Autorizados".
    Totvs custom tabs box items
    defaultno
    referenciapaso09

    03. Menús

    En el Configurador (SIGACFG), acceda a Entornos/Archivo/Menú (CFGX013). Informe las nuevas opciones de menú conforme las instrucciones a continuación:

    ...

    Menú

    ...

    Facturación

    ...

    Submenú

    ...

    Actualizaciones | Archivos

    ...

    Nombre de la Rutina

    ...

    Definición de Catálogos

    ...

    Programa

    ...

    FISA812

    ...

    Módulo

    ...

    Facturación

    ...

    Tipo

    ...

    Función Protheus

    1. Registrar una nota de crédito, informar los campos necesarios en la factura para generar correctamente el archivo xml.
      1. Tipo Nota C (F1_TIPREF) - Motivo de la emisión de la nota de crédito.
    2. Dentro de "Otras acciones | Doc Orig" seleccionar el documento al que corresponde la nota de crédito.
    3. Confirmar el documento.

    Nota: Las notas de crédito deben tener un documento asociado. Campos D1_NFORI, D1_SERIORI informados.

    Totvs custom tabs box items
    defaultno
    referenciapaso06
    1. En el módulo de Facturación, ingresar a la rutina Generac. de Notas  de Crédito y Débito "Actualizaciones | Facturación | Generac. de Notas  de Crédito y Débito".
    2. Registrar una nota de débito, informar los campos necesarios en la factura para generar correctamente el archivo xml.
      1. Tipo Nota D (F2_TIPREF).
    3. Al registrar la nota de débito deberán ser informados los campos del documento al cual se encuentra asociada.
    4. Confirmar el documento.

    Nota: Las notas de crédito deben tener un documento asociado. Campos D2_NFORI, D2_SERIORI informados.

    Totvs custom tabs box items
    defaultno
    referenciapaso07
    1. En el módulo de Facturación, ingresar a la rutina Pedidos de venta "Actualizaciones | Pedidos | Pedidos de venta". 

      1. Registrar un pedido que genere un remito e informar los datos necesarios en el pedido para generar correctamente el archivo xml.
        1. Transp. (C5_TRANSP)
        2. Doc Gener. (C5_DOCGER) = 2 - Remisión
        3. Vehic. Trans. (C5_VEICULO)
        4. Motivo (C5_MODTRAD)
        5. Tipo NF (C5_TIPONF)
        6. Tipo Transac. (C5_TPTRANS)
        7. Incoterms (C5_INCOTER)
        8. Fec. Ini. Tras. (C5_FECDSE)
        9. Fch. Fin Tras. (C5_FECHDE)
        10. Resp. Flete (C5_TPRESFL)
    2. Confirmar el documento.
    3. En el módulo de Facturación, ingresar a la rutina Generac de remito "Actualizaciones | Form. De Remisión | Generac de remito".

    4. Realizar la generación del remito usando el pedido antes generado.


    Totvs custom tabs box items
    defaultno
    referenciapaso08
    1. En el módulo de Facturación, ingresar a la rutina Documentos Electrónicos "Actualizaciones | Facturación | Documentos Electrónicos".
    2. Seleccionar los parámetros de acuerdo a los documentos que serán visualizados/procesados.
      1. ¿Tipo documento? - Seleccionar el tipo de documento.
        1. Factura
        2. Nota Débito
        3. Nota Crédito
        4. Remisión
      2. ¿Serie? - Seleccionar la serie de los documentos.
      3. ¿Estatus? - Estatus de los documentos.
        1. 1 - No transmitida.
        2. 2 - Recibido.
        3. 3 - Esperando procesamiento.
        4. 4 - Documento Rechazado.
        5. 5 - Documento Autorizado.
      4. ¿Fecha Inicial? - Fecha inicial del rango para los documentos.
      5. ¿Fecha Final? - Fecha final del rango para los documentos.

    Transmisión

    Seleccionar los parámetros para visualizar los documentos no transmitidos o rechazados.

    Ejemplo:

    1. ¿Tipo documento? - "Factura"
    2. ¿Serie? - "A"
    3. ¿Estatus? - "1" o "4"
    4. ¿Fecha Inicial? - 01/03/2021
    5. ¿Fecha Final? - 31/03/2021

    Se visualizarán los documentos que no han sido transmitidos o procesados, dependiendo del parámetro "Estatus".

    1. Seleccionar "Transmitir".
    2. Se mostrará una venta de parámetros, informar los datos de acuerdo a los documentos que serán transmitidos. Informar la serie del documento y el rango de los documentos a transmitir.
      1. ¿Serie de la Factura? - "A01"
      2. ¿Factura Inicial? - "0010010000001"
      3. ¿Factura Final? - "0010010000001"
    3. Una vez finalizado el proceso se mostrará un mensaje.
      1. En caso de haber tenido errores durante la transmisión se mostrará un mensaje indicándolo.
        1. Indicar "Si" en la pregunta "¿Desea visualizar el log del proceso?".
        2. Se mostrará un informe con los errores que ocurrieron durante el proceso.
      2. En caso de haber realizado de manera correcta la transmisión se mostrará un mensaje indicándolo.
        1. Indicar "Si" en la pregunta "¿Desea visualizar log de Transmisión?".
        2. Se mostrará un informe con los documentos autorizados.
    4. El documento será actualizado y ahora será visible al seleccionar el estatus "5 - Documento Autorizado"

    Cancelación

    Seleccionar los parámetros para visualizar los documentos Autorizados.

    Ejemplo:

    1. ¿Tipo documento? - "Factura"
    2. ¿Serie? - "A"
    3. ¿Estatus? - "5"
    4. ¿Fecha Inicial? - 01/03/2021
    5. ¿Fecha Final? - 31/03/2021
    1. Seleccionar "Otras acciones | Anulación Fac. Electrónica".
    2. Se mostrará una barra de progreso.
    3. Una vez finalizado el proceso se mostrará un mensaje.
      1. En caso de haber tenido errores durante la transmisión se mostrará un mensaje indicándolo.
        1. Indicar "Si" en la pregunta "¿Desea visualizar el log del proceso?".
        2. Se mostrará un informe con los errores que ocurrieron durante el proceso.
      2. En caso de haber realizado de manera correcta la transmisión se mostrará un mensaje indicándolo.
        1. Indicar "Si" en la pregunta "¿Desea visualizar log de Transmisión?".
        2. Se mostrará un informe con los documentos autorizados.

    Imprimir PDF

    Sin la existencia del parámetro MV_IMPKUDE.

      Ejemplo 1 -  Documento Autorizado.

    NOTA: Al no existir el parámetro se toma el valor default de 1. Por lo que solo se pueden imprimir documentos autorizados.

    1. Seleccionar "Imprimir PDF".
    2. Se mostrará una venta de parámetros, informar los datos de acuerdo a los documentos que serán generados los PDF. Informar la serie del documento y el rango de los documentos autorizados de los que se generara el PDF. 
      1. ¿Serie de documento? - "A01"
      2. ¿Documento Inicial? - "0010010000001"
      3. ¿Documento Final? - "0010010000001"
      4. ¿Formato? - PDF
      5. Ruta copia PDF - C:\prueba\
    3. Se mostrará una barra de progreso.
    4. Una vez finalizado el proceso se podrán consultar los documento en la ruta informada en el parámetro MV_CFDDOCS en la carpeta llamada "Autorizados" o en la ruta informada en el parámetro "Ruta copia PDF".

      Ejemplo 2 - Documento No Autorizado.

    NOTA: Al no existir el parámetro se toma el valor default de 1. Por lo que solo se pueden imprimir documentos autorizados.

    1. Seleccionar "Imprimir PDF".
    2. Se mostrará una venta de parámetros, informar los datos de acuerdo a los documentos que serán generados los PDF. Informar la serie del documento y el rango de los documentos autorizados de los que se generara el PDF. 
      1. ¿Serie de documento? - "A01"
      2. ¿Documento Inicial? - "0010010000002"
      3. ¿Documento Final? - "0010010000002"
      4. ¿Formato? - PDF
      5. Ruta copia PDF - C:\prueba\
    3. No se mostrara ningún mensaje, solo no se realizara el proceso.
    4. Al consultar la ruta informada en el parámetro MV_CFDDOCS en la carpeta llamada "Autorizados" o en la ruta informada en el parámetro "Ruta copia PDF", no existira ningún documento generado.

    Configuración del parámetro MV_IMPKUDE = 1

      Ejemplo 1 -  Documento Autorizado.

    NOTA: Al estar configurado el valor del parámetro en 1, solo se pueden imprimir documentos autorizados.

    1. Seleccionar "Imprimir PDF".
    2. Se mostrará una venta de parámetros, informar los datos de acuerdo a los documentos que serán generados los PDF. Informar la serie del documento y el rango de los documentos autorizados de los que se generara el PDF. 
      1. ¿Serie de documento? - "A01"
      2. ¿Documento Inicial? - "0010010000001"
      3. ¿Documento Final? - "0010010000001"
      4. ¿Formato? - PDF
      5. Ruta copia PDF - C:\prueba\
    3. Se mostrará una barra de progreso.
    4. Una vez finalizado el proceso se podrán consultar los documento en la ruta informada en el parámetro MV_CFDDOCS en la carpeta llamada "Autorizados" o en la ruta informada en el parámetro "Ruta copia PDF".

      Ejemplo 2 - Documento No Autorizado.

    NOTA: Al estar configurado el valor del parámetro en 1, solo se pueden imprimir documentos autorizados.

    1. Seleccionar "Imprimir PDF".
    2. Se mostrará una venta de parámetros, informar los datos de acuerdo a los documentos que serán generados los PDF. Informar la serie del documento y el rango de los documentos autorizados de los que se generara el PDF. 
      1. ¿Serie de documento? - "A01"
      2. ¿Documento Inicial? - "0010010000002"
      3. ¿Documento Final? - "0010010000002"
      4. ¿Formato? - PDF
      5. Ruta copia PDF - C:\prueba\
    3. No se mostrara ningún mensaje, solo no se realizara el proceso.
    4. Al consultar la ruta informada en el parámetro MV_CFDDOCS en la carpeta llamada "Autorizados" o en la ruta informada en el parámetro "Ruta copia PDF", no existira ningún documento generado.

    Configuración del parámetro MV_IMPKUDE = 2

      Ejemplo 1 -  Documento Autorizado.

    NOTA: Al estar configurado el valor del parámetro en 2, se pueden imprimir documentos que ya han sido transmitidos y están en espera de ser autorizados.

    1. Seleccionar "Imprimir PDF".
    2. Se mostrará una venta de parámetros, informar los datos de acuerdo a los documentos que serán generados los PDF. Informar la serie del documento y el rango de los documentos autorizados de los que se generara el PDF. 
      1. ¿Serie de documento? - "A01"
      2. ¿Documento Inicial? - "0010010000001"
      3. ¿Documento Final? - "0010010000001"
      4. ¿Formato? - PDF
      5. Ruta copia PDF - C:\prueba\
    3. Se mostrará una barra de progreso.
    4. Una vez finalizado el proceso se podrán consultar los documento en la ruta informada en el parámetro MV_CFDDOCS en la carpeta llamada "Autorizados" o en la ruta informada en el parámetro "Ruta copia PDF".

      Ejemplo 2 - Documento Transmitido aun No Autorizado.

    NOTA: Al estar configurado el valor del parámetro en 2, se pueden imprimir documentos que ya han sido transmitidos y están en espera de ser autorizados.

    1. Seleccionar "Imprimir PDF".
    2. Se mostrará una venta de parámetros, informar los datos de acuerdo a los documentos que serán generados los PDF. Informar la serie del documento y el rango de los documentos autorizados de los que se generara el PDF. 
      1. ¿Serie de documento? - "A01"
      2. ¿Documento Inicial? - "0010010000002"
      3. ¿Documento Final? - "0010010000002"
      4. ¿Formato? - PDF
      5. Ruta copia PDF - C:\prueba\
    3. Se mostrará una barra de progreso.
    4. Una vez finalizado el proceso se podrán consultar los documento en la ruta informada en el parámetro MV_CFDDOCS o en la ruta informada en el parámetro "Ruta copia PDF"..
    Totvs custom tabs box items
    defaultno
    referenciapaso09

    En caso de que se necesite modificar el XML para documentos de salida (NF, NDC, RFN) existe el punto de entrada M486PESXML habilitado para realizar esta operación.

    Aviso
    titleNota

    El siguiente ejemplo sirve para reemplazar todo el XML y será necesario utilizar la función de usuario  QryItem() , que realiza una consulta SQL (Query) para obtener los datos correspondientes a los ítems, se encuentra al final del ejemplo.

    Ejemplos de uso:

    Bloco de código
    languageactionscript3
    themeRDark
    titleM486PESXML
    linenumberstrue
    collapsetrue
    User Function M486PESXML()
    Local cFilial   := PARAMIXB[1]
    Local cSerie    := PARAMIXB[2]
    Local cCliente  := PARAMIXB[3]
    Local cLoja     := PARAMIXB[4]
    Local cDoc      := PARAMIXB[5]
    Local cEspecie  := PARAMIXB[6]
    Local cXml      := ""
    Local cSalto	:= chr(13) + chr(10)
    Local cPicture	:= "999999999999999.9999"
    Local cID		:= ""
    Local cSecCod	:= ""
    Local cdDVId	:= ""
    Local cFeEmiDE	:= ""
    Local cNumCasa	:= ""
    Local cDepEmi	:= ""
    Local cDisEmi	:= ""
    Local cCiuEmi	:= ""
    Local cIniTras	:= ""
    Local cFinTras	:= ""
    Local aTotales	:= {0,0,0,0,0,0,0,0,0,0,0,0,0}
    Local aDesc		:= {0,0}
    Local lProd		:= SuperGetMV("MV_CFDI_AM",,"") == "P"
    Local cEmail	:= SuperGetMV("MV_RELACNT",,"")
    Local cAliasTmp	:= ""
    Local aArea		:= GetArea()
    Local aSF		:= {}
    
    	DbSelectArea("SF2")
    	aSF := GetArea()
    	DbSetOrder(1)//F2_FILIAL+F2_DOC+F2_SERIE+F2_CLIENTE+F2_LOJA+F2_FORMUL+F2_TIPO
    	lOK := DbSeek(xFilial("SF2")+cDoc+cSerie+cCliente+cLoja) 
    
    	
    	cSecCod  := M486SecCod(Time(),SF2->F2_EMISSAO)
    	cID 	 := IIF(AllTrim(SF2->F2_ESPECIE)=="NF",M486GENCDC("01",SUBSTR(SM0->M0_CGC,1,RAT("-",SM0->M0_CGC)-1),Substr(SM0->M0_CGC,RAT("-",SM0->M0_CGC)+ 1,1),SUBSTR(SF2->F2_DOC,1,3),SUBSTR(SF2->F2_DOC,4,3),RIGHT(SF2->F2_DOC,7),"1",SF2->F2_EMISSAO,"1",cSecCod,SF2->F2_ESPECIE),"")
    	cID 	 := IIF(AllTrim(SF2->F2_ESPECIE)=="NDC",M486GENCDC("06",SUBSTR(SM0->M0_CGC,1,RAT("-",SM0->M0_CGC)-1),Substr(SM0->M0_CGC,RAT("-",SM0->M0_CGC)+ 1,1),SUBSTR(SF2->F2_DOC,1,3),SUBSTR(SF2->F2_DOC,4,3),RIGHT(SF2->F2_DOC,7),"1",SF2->F2_EMISSAO,"1",cSecCod,SF2->F2_ESPECIE),cID)
    	cID 	 := IIF(AllTrim(SF2->F2_ESPECIE)=="RFN",M486GENCDC("07",SUBSTR(SM0->M0_CGC,1,RAT("-",SM0->M0_CGC)-1),Substr(SM0->M0_CGC,RAT("-",SM0->M0_CGC)+ 1,1),SUBSTR(SF2->F2_DOC,1,3),SUBSTR(SF2->F2_DOC,4,3),RIGHT(SF2->F2_DOC,7),"1",SF2->F2_EMISSAO,"1",cSecCod,SF2->F2_ESPECIE),cID)
    	cdDVId	 := AllTrim(STR(CalcMod11(SUBSTR(cID,1,43))))
    	cFeEmiDE := SUBSTR(DTOS(SF2->F2_EMISSAO),0,4) + "-" + SUBSTR(DTOS(SF2->F2_EMISSAO),5,2) + "-" + SUBSTR(DTOS(SF2->F2_EMISSAO),7,2) + "T" + SF2->F2_HORA
    	cNumCasa := ObtColSAT("S030",SUBSTR(SM0->M0_CGC,1,10) , 1, 10, 11,6)
    	cNumCasa := Iif(Empty(cNumCasa), "0", cNumCasa )
    	cDepEmi  := ObtColSAT("S030",SUBSTR(SM0->M0_CGC,1,10) , 1, 10, 18,2) 
    	cDisEmi  := ObtColSAT("S030",SUBSTR(SM0->M0_CGC,1,10) , 1, 10, 20,3)
    	cCiuEmi  := ObtColSAT("S030",SUBSTR(SM0->M0_CGC,1,10) , 1, 10, 23,4)
    
    	cXml := '<rDE' + cSalto
    	cXml += ' xmlns="http://ekuatia.set.gov.py/sifen/xsd" ' + cSalto
    	cXml += ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' + cSalto
    	cXml += ' xsi:schemaLocation="http://ekuatia.set.gov.py/sifen/xsd/ siRecepDE_v150.xsd">' + cSalto
    	cXml += ' <dVerFor>150</dVerFor>' + cSalto
    	cXml += '	<DE Id="' + cID + '">' + cSalto
    	cXml += '		<dDVId>' + cdDVId + '</dDVId>' + cSalto
    	cXml += '		<dFecFirma></dFecFirma> ' + cSalto
    	cXml += '		<dSisFact>1</dSisFact>' + cSalto
    	cXml += '		<gOpeDE>' + cSalto
    	cXml += '        	<iTipEmi>1</iTipEmi>' + cSalto
    	cXml += '        	<dDesTipEmi>Normal</dDesTipEmi>' +cSalto
    	cXml += '			<dCodSeg>' + SUBSTR(cID,35,9) + '</dCodSeg>' + cSalto
    	cXml += '		</gOpeDE>' + cSalto
    	cXml += '		<gTimb>' + cSalto
    	If AllTrim(SF2->F2_ESPECIE) == "NF"
    		cXml += '        	<iTiDE>1</iTiDE>' + cSalto
    		cXml += '        	<dDesTiDE>Factura electrónica</dDesTiDE>' + cSalto
    	ElseIf AllTrim(SF2->F2_ESPECIE) == "NDC"
    		cXml += '        	<iTiDE>6</iTiDE>' + cSalto
    		cXml += '        	<dDesTiDE>Nota de débito electrónica</dDesTiDE>' + cSalto
    	Else
    		cXml += '        	<iTiDE>7</iTiDE>' + cSalto
    		cXml += '        	<dDesTiDE>Nota de remisión electrónica</dDesTiDE>'	+ cSalto
    	EndIf
    	cXml += '        	<dNumTim>'+ AllTrim(SF2->F2_NUMTIM) +'</dNumTim>' + cSalto
    	cXml += '        	<dEst>' + SUBSTR(SF2->F2_DOC,1,3) + '</dEst>' + cSalto
    	cXml += '        	<dPunExp>' + SUBSTR(SF2->F2_DOC,4,3) + '</dPunExp>' + cSalto
    	cXml += '        	<dNumDoc>' + RIGHT(SF2->F2_DOC,7) + '</dNumDoc>' + cSalto
    	cXml += '        	<dSerieNum>' + AllTrim(SF2->F2_SERIE2) + '</dSerieNum>' + cSalto
    	cXml += '			<dFeIniT>' +FecIniTimb(SF2->F2_SERIE, SF2->F2_ESPECIE) + '</dFeIniT>' + cSalto
    	cXml += '		</gTimb>' + cSalto
    	cXml += '		<gDatGralOpe>' + cSalto
    	cXml += '			<dFeEmiDE>' + cFeEmiDE + '</dFeEmiDE>' + cSalto
    	
    	// Campos inherentes a la operación comercial (D010-D099)
    	If AllTrim(SF2->F2_ESPECIE) <> "RFN"
    		CTO->(DbSetOrder(1)) //CTO_FILIAL+CTO_MOEDA
    		CTO->(MsSeek(xFilial("CTO")+Strzero(SF2->F2_MOEDA,2)))
    		cXml += M486IMPPAR(AllTrim(SF2->F2_ESPECIE),SF2->F2_DOC,SF2->F2_SERIE, SF2->F2_CLIENTE,SF2->F2_LOJA, CTO->CTO_MOESAT, AllTrim(SF2->F2_TPTRANS),SF2->F2_TXMOEDA) + cSalto
    	EndIf
    	//EMISOR
    	cXml += '			<gEmis>' + cSalto
    	cXml += '				<dRucEm>' + SUBSTR(SM0->M0_CGC,1,RAT("-",SM0->M0_CGC)-1)+'</dRucEm>' + cSalto
    	cXml += '				<dDVEmi>' + Substr(SM0->M0_CGC,RAT("-",SM0->M0_CGC)+ 1,1) + '</dDVEmi>' + cSalto
    	cXml += '				<iTipCont>1</iTipCont>' + cSalto
    	cXml += '				<cTipReg>'+ ObtColSAT("S030",SUBSTR(SM0->M0_CGC,1,10) , 1, 10, 17,1) +'</cTipReg>' + cSalto
    	If lProd
    		cXml += '				<dNomEmi>'+ AllTrim(SM0->M0_NOME) + '</dNomEmi>' + cSalto
    	Else
    		cXml += '				<dNomEmi>'+  "DE generado en ambiente de prueba - sin valor comercial ni fiscal" + '</dNomEmi>' + cSalto
    	EndIf
    	cXml += '				<dNomFanEmi>'+ AllTrim(SM0->M0_NOMECOM) + '</dNomFanEmi>' + cSalto
    	cXml += '				<dDirEmi>'+ AllTrim(SM0->M0_ENDENT) + '</dDirEmi>' + cSalto
    	cXml += '				<dNumCas>' + cNumCasa + '</dNumCas>' + cSalto
    	cXml += '				<cDepEmi>' + cDepEmi+ '</cDepEmi>' + cSalto
    	cXml += '				<dDesDepEmi>' + AllTrim(ObtColSAT("S003",cDepEmi, 1, 2, 3,28)) + '</dDesDepEmi>' + cSalto
    	cXml += '				<cDisEmi>' + AllTrim(cDisEmi) + '</cDisEmi>' + cSalto
    	cXml += '				<dDesDisEmi>' + AllTrim(ObtColSAT("S031",cDisEmi, 1, 3, 4,30))+ '</dDesDisEmi>' + cSalto
    	cXml += '				<cCiuEmi>' +  AllTrim(cCiuEmi)  + '</cCiuEmi>' + cSalto
    	cXml += '				<dDesCiuEmi>' +  AllTrim(ObtColSAT("S012",cCiuEmi, 48, 4, 52,30))+ '</dDesCiuEmi>' + cSalto
    	If !Empty(SM0->M0_TEL)
    		cXml += '				<dTelEmi>' + AllTrim(SM0->M0_TEL) + '</dTelEmi>' + cSalto
    	EndIf
    	cXml += '				<dEmailE>' +  cEmail  + '</dEmailE>' + cSalto //Quitar
    	cXml += '				<gActEco>' + cSalto
    	cXml += '					<cActEco>' + AllTrim(SM0->M0_DSCCNA) + '</cActEco>' + cSalto
    	cXml += '					<dDesActEco>'+ ObtColSAT("S006",SUBSTR(SM0->M0_DSCCNA,1,6) , 2, 5, 7,166)+'</dDesActEco>' + cSalto
    	cXml += '				</gActEco>' +  cSalto
    	cXml += '			</gEmis>' + cSalto
    	//RECEPTOR
    	SA1->(DbSetOrder(1))
    	SA1->(MSSeek(xFilial("SA1")+SF2->F2_CLIENTE+SF2->F2_LOJA))
    	SYA->(DbSetOrder(1))
    	SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS))
    
    	cXml += '			<gDatRec>' + cSalto
    	cXml += '				<iNatRec>1</iNatRec>' + cSalto
    	cXml += '				<iTiOpe>1</iTiOpe>' + cSalto
    	cXml += '				<cPaisRec>' + SYA->YA_CODERP + '</cPaisRec>' + cSalto
    	cXml += '				<dDesPaisRe>'+ ObtColSAT("S005",SYA->YA_CODERP, 1, 3, 4,52)+'</dDesPaisRe>' +cSalto
    	If !Empty(SA1->A1_CGC)
    		cXml += '				<iTiContRec>' + IIF(SA1->A1_PESSOA $ "F","1","2") + '</iTiContRec>' + cSalto
    		cXml += '				<dRucRec>' +  SUBSTR(SA1->A1_CGC,1,RAT("-",SA1->A1_CGC)-1) + '</dRucRec>' + cSalto
    		cXml += '				<dDVRec>' + Substr(SA1->A1_CGC,RAT("-",SA1->A1_CGC)+ 1,1) + '</dDVRec>' + cSalto
    	Else
    		cXml += '				<iTipIDRec>' + AllTrim(SA1->A1_TIPDOC) + '</iTipIDRec>' + cSalto
    		cXml += '				<dDTipIDRec>' +  ObtColSAT("S018", SA1->A1_TIPDOC, 1, 1, 2,41) + '</dDTipIDRec>' + cSalto
    		cXml += '				<dNumIDRec>' +  IIF(AllTrim(SA1->A1_TIPDOC)=="5","0",ALLTRIM(SA1->A1_NIF)) + '</dNumIDRec>' +cSalto
    	EndIf
    	cXml += '				<dNomRec>' + AllTrim(SA1->A1_NOME)+ '</dNomRec>' + cSalto
    	cXml += '				<dNomFanRec>' + AllTrim(SA1->A1_NREDUZ)+ '</dNomFanRec>' + cSalto
    	cXml += '				<dDirRec>' + AllTrim(SA1->A1_END) + '</dDirRec>' + cSalto
    	cXml += '				<dNumCasRec>' + AllTrim(SA1->A1_NUM) + '</dNumCasRec>' + cSalto
    	cXml += '				<cDepRec>' + SA1->A1_DEPTO + '</cDepRec>' + cSalto
    	cXml += '				<dDesDepRec>' + AllTrim(ObtColSAT("S003",SA1->A1_DEPTO, 1, 2, 3,28)) +'</dDesDepRec>' + cSalto
    	cXml += '				<cDisRec>' + SA1->A1_DISTR+ '</cDisRec>' + cSalto
    	cXml += '				<dDesDisRec>'+ AllTrim(ObtColSAT("S031",SA1->A1_DISTR, 1, 3, 4,30)) + '</dDesDisRec>' + cSalto
    	cXml += '				<cCiuRec>' + AllTrim(SA1->A1_CIUDAD) + '</cCiuRec>' + cSalto
    	cXml += '				<dDesCiuRec>' + AllTrim(ObtColSAT("S012",SA1->A1_CIUDAD, 48, 4, 52,30)) + '</dDesCiuRec>' + cSalto
    	If !Empty(SA1->A1_TEL)
    		cXml += '				<dTelRec>' + AllTrim(SA1->A1_TEL) + '</dTelRec>' + cSalto
    	EndIf
    	If !Empty(SA1->A1_EMAIL)
    		cXml += '				<dEmailRec>' + SA1->A1_EMAIL + '</dEmailRec>' + cSalto
    	EndIf
    	cXml += '				<dCodCliente>' + AllTrim(SA1->A1_COD) + '</dCodCliente>' + cSalto
    	cXml += '			</gDatRec>' + cSalto
    	cXml += '		</gDatGralOpe>' + cSalto
    
    	//TIPO DE PRESENCIA
    	cXml += '		<gDtipDE>' + cSalto
    	If AllTrim(SF2->F2_ESPECIE)=="NF"
    		cXml += '        	<gCamFE>' + cSalto
    		cXml += '    			<iIndPres>' + AllTrim(SF2->F2_TIPONF) + '</iIndPres>' + cSalto
    		cXml += '        		<dDesIndPres>'+ ObtColSAT("S019",SF2->F2_TIPONF, 1, 1, 2,30)+'</dDesIndPres>' + cSalto
    		cXml += '        	</gCamFE>' + cSalto
    		// CONDICIONES DE PAGO
    		cXml += M486CONDPAG(SF2->F2_FILIAL, SF2->F2_DOC,SF2->F2_SERIE, SF2->F2_CLIENTE,SF2->F2_LOJA,SF2->F2_ESPECIE,SF2->F2_COND,SF2->F2_MOEDA,SF2->F2_TXMOEDA) + cSalto
    	ElseIf AllTrim(SF2->F2_ESPECIE)=="NDC"
    		cXml += '        	<gCamNCDE>' + cSalto
    		cXml += '    			<iMotEmi>' + AllTrim(SF2->F2_TIPREF) + '</iMotEmi>' + cSalto
    		cXml += '        		<dDesMotEmi>'+ ObtColSAT("S021",SF2->F2_TIPREF, 1, 1, 2,30)+'</dDesMotEmi>' + cSalto
    		cXml += '        	</gCamNCDE>' + cSalto
    	ElseIf AllTrim(SF2->F2_ESPECIE)=="RFN"
    		cXml += '        	<gCamNRE>' + cSalto
    		cXml += '    			<iMotEmiNR>' + AllTrim(SF2->F2_MOTEMIR) + '</iMotEmiNR>' + cSalto
    		cXml += '        		<dDesMotEmiNR>'+ ObtColSAT("S022",SF2->F2_MOTEMIR, 1, 2, 3,60)+'</dDesMotEmiNR>' + cSalto
    		cXml += '    			<iRespEmiNR>1</iRespEmiNR>'+ cSalto
    		cXml += '    			<dDesRespEmiNR>Emisor de la factura</dDesRespEmiNR>' + cSalto
    		If AllTrim(SF2->F2_MOTEMIR) == "1"
    			cXml += '    			<dFecEm>' + SUBSTR(DTOS(SF2->F2_FECHSE),0,4) + "-" + SUBSTR(DTOS(SF2->F2_FECHSE),5,2) + "-" + SUBSTR(DTOS(SF2->F2_FECHSE),7,2) + '</dFecEm>' + cSalto
    		EndIf
    		cXml += '        	</gCamNRE>' + cSalto
    	EndIf
    
    	cAliasTmp := u_QryItem("SD2", "D2_COD, D2_QUANT, D2_TES, D2_ITEM, SD2.R_E_C_N_O_", "D2_DOC='" + SF2->F2_DOC + "' AND D2_SERIE='" + SF2->F2_SERIE + "' AND D2_CLIENTE='" + SF2->F2_CLIENTE + "' AND D2_LOJA='" + SF2->F2_LOJA + "'",  "D2_ITEM") 
    	
    	While (cAliasTmp)->(!EOF())
    		cXml += '        	<gCamItem>' + cSalto
    		cXml += '    			<dCodInt>' + Alltrim((cAliasTmp)->B1_COD) + '</dCodInt>' + cSalto
    		cXml += '    			<dDesProSer>' + AllTrim((cAliasTmp)->B1_DESC) + '</dDesProSer>' + cSalto
    		cXml += '    			<cUniMed>' + AllTrim((cAliasTmp)->AH_COD_CO) + '</cUniMed>' + cSalto
    		cXml += '    			<dDesUniMed>' + ObtColSAT("S002",(cAliasTmp)->AH_COD_CO, 1, 3, 29,6) + '</dDesUniMed>' + cSalto
    		cXml += '    			<dCantProSer>' + AllTrim(TRANSFORM((cAliasTmp)->D2_QUANT,"9999999999.9999") )+ '</dCantProSer>' + cSalto
    		If AllTrim(SF2->F2_ESPECIE) <> "RFN"
    			If (cAliasTmp)->R_E_C_N_O_ > 0
    				SD2->(dbgoto((cAliasTmp)->R_E_C_N_O_))
    			EndIf
    			cXml += M486IMPDPAR(AllTrim(SF2->F2_ESPECIE),SF2->F2_DOC,SF2->F2_SERIE, SF2->F2_CLIENTE,SF2->F2_LOJA, (cAliasTmp)->D2_TES,(cAliasTmp)->D2_ITEM,(cAliasTmp)->D2_COD,@aDesc,@aTotales) + cSalto
    		EndIf
    		cXml += '        	</gCamItem>' + cSalto
    		(cAliasTmp)->(dbSkip())
    	End
    	(cAliasTmp)->(dbcloseArea())
    	
    	//Nodos de Guia de Remisión
    	If AllTrim(SF2->F2_ESPECIE) == "RFN"
    		DbSelectArea("DA3")
    		DA3->(DbSetOrder(1)) //DA3_FILIAL+DA3_COD
    		If DA3->(DbSeek(xFilial("DA3") + SF2->F2_VEICULO))
    			cXml += '        	<gTransp>' + cSalto
    			cXml += '    			<iTipTrans>' + AllTrim(DA3->DA3_TIPTR2) + '</iTipTrans>' + cSalto
    			If AllTrim(AllTrim(DA3->DA3_FROVEI)) == "1"
    				cXml += '    			<dDesTipTrans>Propio</dDesTipTrans>' + cSalto
    			Else
    				cXml += '    			<dDesTipTrans>Tercero</dDesTipTrans>' + cSalto
    			EndIf
    			cXml += '    			<iModTrans>' + AllTrim(DA3->DA3_TIPTR2) + '</iModTrans>' + cSalto
    			cXml += '    			<dDesModTrans>' + AllTrim(ObtColSAT("S026", AllTrim(DA3->DA3_TIPTR2), 1, 1, 2,10)) + '</dDesModTrans>' + cSalto
    			cXml += '    			<iRespFlete>' + AllTrim(SF2->F2_TPRESFL) + '</iRespFlete>' + cSalto
    			cXml += '    			<cCondNeg>' + AllTrim(SF2->F2_INCOTER) + '</cCondNeg>' +  cSalto
    			cIniTras := SUBSTR(DTOS(SF2->F2_FECDSE),0,4) + "-" + SUBSTR(DTOS(SF2->F2_FECDSE),5,2) + "-" + SUBSTR(DTOS(SF2->F2_FECDSE),7,2)
    			cXml += '    			<dIniTras>' + cIniTras + '</dIniTras>' + cSalto
    			cFinTras := SUBSTR(DTOS(SF2->F2_FECHSE),0,4) + "-" + SUBSTR(DTOS(SF2->F2_FECHSE),5,2) + "-" + SUBSTR(DTOS(SF2->F2_FECHSE),7,2)
    			cXml += '    			<dFinTras>' + cFinTras  + '</dFinTras>' + cSalto
    			cXml += '    			<gCamSal>' + cSalto
    			cXml += '    				<dDirLocSal>' + AllTrim(SM0->M0_ENDENT) + '</dDirLocSal>' + cSalto
    			cXml += '    				<dNumCasSal>' + cNumCasa + '</dNumCasSal>' + cSalto 
    			If !Empty(SM0->M0_COMPENT)
    				cXml += '    				<dComp1Sal>' + AllTrim(SM0->M0_COMPENT) + '</dComp1Sal>' + cSalto
    			EndIf
    			cXml += '    				<cDepSal>' + cDepEmi + '</cDepSal>' + cSalto
    			cXml += '    				<dDesDepSal>' + AllTrim(ObtColSAT("S003",cDepEmi, 1, 2, 3,28)) + '</dDesDepSal>' + cSalto
    			cXml += '    				<cDisSal>' + AllTrim(cDisEmi) + '</cDisSal>' + cSalto
    			cXml += '    				<dDesDisSal>' + AllTrim(ObtColSAT("S031",cDisEmi, 1, 3, 4,30)) + '</dDesDisSal>' +cSalto
    			cXml += '    				<cCiuSal>' + AllTrim(cCiuEmi) + '</cCiuSal>' + cSalto
    			cXml += '    				<dDesCiuSal>' + AllTrim(ObtColSAT("S012",cCiuEmi, 48, 4, 52,30)) + '</dDesCiuSal>' + cSalto
    			cXml += '    			</gCamSal>' + cSalto
    			cXml += '    			<gCamEnt>' + cSalto
    			cXml += '    				<dDirLocEnt>' + AllTrim(SA1->A1_END) + '</dDirLocEnt>' + cSalto
    			cXml += '    				<dNumCasEnt>' + AllTrim(SA1->A1_NUM) + '</dNumCasEnt>' + cSalto
    			cXml += '    				<cDepEnt>' + AllTrim(SA1->A1_DEPTO) + '</cDepEnt>' + cSalto
    			cXml += '    				<dDesDepEnt>' + Alltrim(ObtColSAT("S003",SA1->A1_DEPTO, 1, 2, 3,28)) + '</dDesDepEnt>' + cSalto
    			cXml += '    				<cDisEnt>' + AllTrim(SA1->A1_DISTR) + '</cDisEnt>' +cSalto
    			cXml += '    				<dDesDisEnt>' + AllTrim(ObtColSAT("S031",SA1->A1_DISTR, 1, 3, 4,30)) + '</dDesDisEnt>' + cSalto
    			cXml += '    				<cCiuEnt>' + AllTrim(SA1->A1_CIUDAD) + '</cCiuEnt>' + cSalto
    			cXml += '    				<dDesCiuEnt>' +  AllTrim(ObtColSAT("S012",SA1->A1_CIUDAD, 48, 4, 52,30)) + '</dDesCiuEnt>' + cSalto
    			If !Empty(SA1->A1_TEL)
    				cXml += '    				<dTelEnt>' + AllTrim(SA1->A1_TEL) + '</dTelEnt>' + cSalto
    			EndIf
    			cXml += '    			</gCamEnt>' + cSalto
    			cXml += '    			<gVehTras>' + cSalto
    			cXml += '    				<dTiVehTras>' + Alltrim(ObtColSAT("S026", AllTrim(DA3->DA3_TIPTR2), 1, 1, 2,10)) + '</dTiVehTras>' + cSalto
    			cXml += '    				<dMarVeh>' + AllTrim(DA3->DA3_DESC) + '</dMarVeh>' +cSalto
    			cXml += '    				<dTipIdenVeh>' + AllTrim(DA3->DA3_TIPID) + '</dTipIdenVeh>' + cSalto
    			If AllTrim(DA3->DA3_TIPID) == "1"
    				cXml += '    				<dNroIDVeh>' + AllTrim(DA3->DA3_CHASSI) + '</dNroIDVeh>' + cSalto
    			Else
    				cXml += '    				<dNroMatVeh>' + AllTrim(DA3->DA3_PLACA) + '</dNroMatVeh>' + cSalto
    			EndIf
    			If AllTrim(DA3->DA3_TIPTR2) == "3"
    				cXml += '    				<dNroVuelo>' + AllTrim(SF2->F2_RASTR) + '</dNroVuelo>' + cSalto
    			EndIf
    			cXml += '    			</gVehTras>' + cSalto
    			DbSelectArea("SA4")
    			SA4->(DbSetOrder(1)) //A4_FILIAL+A4_COD
    			If SA4->(MsSeek(xFilial("SA4") + SF2->F2_TRANSP))
    				cXml += '    			<gCamTrans>' + cSalto
    				cXml += '    				<iNatTrans>' + AllTrim(SA4->A4_TIPCON) + '</iNatTrans>' + cSalto
    				cXml += '    				<dNomTrans>' + AllTrim(SA4->A4_NOME) + '</dNomTrans>' + cSalto
    				If AllTrim(SA4->A4_TIPCON) == "1"
    					cXml += '    				<dRucTrans>' + SUBSTR(SA4->A4_CGC,1,RAT("-",SA4->A4_CGC)-1) + '</dRucTrans>' + cSalto
    					cXml += '    				<dDVTrans>' + SUBSTR(SA4->A4_CGC,RAT("-",SA4->A4_CGC)+ 1,1) + '</dDVTrans>' + cSalto
    				Else
    					cXml += '    				<iTipIDTrans>' + Alltrim(SA4->A4_TIPID) + '</iTipIDTrans>' + cSalto
    					cXml += '    				<dDTipIDTrans>' +  Alltrim(ObtColSAT("S018", ALLTRIM(SA4->A4_TIPID), 1, 1, 2,41))  + '</dDTipIDTrans>' + cSalto
    					cXml += '    				<dNumIDTrans>' + AllTrim(SA4->A4_CGC) + '</dNumIDTrans>' + cSalto
    				EndIf
    				cXml += '    				<dNumIDChof>' + AllTrim(SA4->A4_CGC) + '</dNumIDChof>' + cSalto
    				cXml += '    				<dNomChof>' + AllTrim(SA4->A4_NOME) + '</dNomChof>' + cSalto
    				cXml += '    			</gCamTrans>' + cSalto
    			EndIf
    			cXml += '        	</gTransp>' + cSalto
    		EndIf
    	EndIf
    
    	cXml += '		</gDtipDE>' + cSalto
    	If AllTrim(SF2->F2_ESPECIE) <> "RFN"
    		aTotales := M486SUBTOT(AllTrim(SF2->F2_ESPECIE),SF2->F2_DOC,SF2->F2_SERIE, SF2->F2_CLIENTE,SF2->F2_LOJA)
    		cXml += '		<gTotSub>' + cSalto
    		cXml += '        	<dSubExe>'+ AllTrim(TRANSFORM(aTotales[1],cPicture))+'</dSubExe>' + cSalto
    		cXml += '        	<dSubExo>'+ AllTrim(TRANSFORM(aTotales[2],cPicture))+'</dSubExo>' + cSalto
    		cXml += '        	<dSub5>'+ AllTrim(TRANSFORM(aTotales[3],cPicture))+'</dSub5>' + cSalto
    		cXml += '        	<dSub10>'+ AllTrim(TRANSFORM(aTotales[4],cPicture))+'</dSub10>' + cSalto
    		cXml += '        	<dTotOpe>'+ AllTrim(TRANSFORM(aTotales[5],cPicture))+'</dTotOpe>' + cSalto
    		cXml += '        	<dTotDesc>'+ AllTrim(TRANSFORM(aDesc[1],cPicture))+'</dTotDesc>' + cSalto
    		cXml += '        	<dTotDescGlotem>'+ AllTrim(TRANSFORM(aTotales[6],cPicture))+'</dTotDescGlotem>' + cSalto
    		cXml += '        	<dTotAntItem>0</dTotAntItem>' + cSalto
    		cXml += '        	<dTotAnt>0</dTotAnt>' + cSalto
    		cXml += '        	<dPorcDescTotal>0</dPorcDescTotal>' + cSalto
    		cXml += '        	<dDescTotal>'+ AllTrim(TRANSFORM(aDesc[1],cPicture))+'</dDescTotal>' + cSalto
    		cXml += '        	<dAnticipo>0</dAnticipo>' + cSalto
    		cXml += '        	<dRedon>0.0</dRedon>' + cSalto
    		cXml += '        	<dTotGralOpe>'+ AllTrim(TRANSFORM(SF2->F2_VALBRUT,cPicture))+'</dTotGralOpe>' + cSalto
    		cXml += '        	<dIVA5>'+ AllTrim(TRANSFORM(aTotales[7],cPicture))+'</dIVA5>' + cSalto
    		cXml += '        	<dIVA10>'+ AllTrim(TRANSFORM(aTotales[8],cPicture))+'</dIVA10>' + cSalto
    		cXml += '        	<dTotIVA>'+ AllTrim(TRANSFORM(aTotales[9],cPicture))+'</dTotIVA>' + cSalto
    		cXml += '        	<dBaseGrav5>'+ AllTrim(TRANSFORM(aTotales[10],cPicture))+'</dBaseGrav5>' + cSalto
    		cXml += '			<dBaseGrav10>'+ AllTrim(TRANSFORM(aTotales[11],cPicture))+'</dBaseGrav10>' + cSalto
    		cXml += '			<dTBasGraIVA>'+ AllTrim(TRANSFORM(aTotales[12],cPicture))+'</dTBasGraIVA>' + cSalto
    		If AllTrim(STR(SF2->F2_MOEDA)) <> "1"
    			cXml += '			<dTotalGs>'+ AllTrim(TRANSFORM(SF2->F2_VALBRUT*SF2->F2_TXMOEDA,cPicture))+'</dTotalGs>' + cSalto
    		EndIf
    		cXml += '		</gTotSub>' +cSalto
    	EndIf
    	
    	//DOCUMENTO ASOCIADO
    	If AllTrim(SF2->F2_ESPECIE)=="NDC"
    		cXml += '		<gCamDEAsoc>' + cSalto
    		cXml += M486ASOC(SF2->F2_ESPECIE,SF2->F2_DOC,SF2->F2_SERIE,SF2->F2_CLIENTE,SF2->F2_LOJA,"1") 
    		cXml += '		</gCamDEAsoc>' + cSalto
    	EndIf
    	cXml += '	</DE>' + cSalto
    	cXml += '</rDE>' + cSalto
    
    	RestArea(aSF)
    	RestArea(aArea)
    
    Return cXml
    
    /*/{Protheus.doc} QryItem Genera un query para obetener los datos correspondientes a los items.
    @param cAlias, caracter, Alias de la tabla.
    @param cCpos, caracter, Campos a ser usados en el query.
    @param cWhere, caracter, Condición a ser usada en el query.
    @param cOrder, caracter, Campo a ser usado en el orden,
    @return cAliasTmp, Alias de la tabla temporal.
    /*/
    User Function QryItem(cAlias, cCpos, cWhere, cOrder)
    Local cQuery 	:= ""
    Local cAliasTmp	:= getNextAlias()
    
    	cQuery := "Select "
    	cQuery += cCpos
    	cQuery += " ,B1_COD, B1_DESC, B1_UM, AH_COD_CO" 
    	cQuery += " from "+RetSqlName(cAlias)+ " " + cAlias + " "
    	cQuery += " Left Join " +RetSqlName("SB1")+ " SB1 ON " + IIf(cAlias == "SD2","D2_COD","D1_COD") + " = B1_COD AND B1_FILIAL = '" + xFilial("SB1") + "'"
    	cQuery += " Left Join " +RetSqlName("SAH")+ " SAH ON B1_UM = AH_UNIMED AND AH_FILIAL = '" + xFilial("SAH") + "'"
    	cQuery += " Where "
    	cQuery += cWhere
    	cQuery += " AND " + cAlias + ".D_E_L_E_T_ = ''"
    	cQuery += " AND SB1.D_E_L_E_T_ = ''"
    	cQuery += " AND SAH.D_E_L_E_T_ = ''"
    	If !Empty(cOrder)
    		cQuery += " ORDER BY "+ SqlOrder(cOrder)
    	EndIf
    	cQuery := ChangeQuery(cQuery)
    	dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cAliasTmp,.T.,.T.)
    
    	(cAliasTmp)->(dbGoTop())
    
    Return cAliasTmp

    La información retornada en la variable cXml deberá contener el xml que será guardado para ser transmitido.

    Totvs custom tabs box items
    defaultno
    referenciapaso10

    En caso de que se necesite modificar el xml para documentos de entrada (NCC) existe el punto de entrada M486PEEXML habilitado para realizar esta operación.

    Aviso
    titleNota

    El siguiente ejemplo sirve para reemplazar todo el XML y será necesario utilizar la función de usuario  QryItem() , que realiza una consulta SQL (Query) para obtener los datos correspondientes a los ítems, se encuentra al final del ejemplo.

    Ejemplos de uso:

    Bloco de código
    languageactionscript3
    themeRDark
    title M486PEEXML
    linenumberstrue
    collapsetrue
    User Function M486PEEXML()
    Local cFilial   := PARAMIXB[1]
    Local cSerie    := PARAMIXB[2]
    Local cCliente  := PARAMIXB[3]
    Local cLoja     := PARAMIXB[4]
    Local cDoc      := PARAMIXB[5]
    Local cEspecie  := PARAMIXB[6]
    Local cXml      := ""
    Local cSalto	:= chr(13) + chr(10)
    Local cPicture	:= "999999999999999.9999"
    Local cID		:= ""
    Local cSecCod	:= ""
    Local cdDVId	:= ""
    Local cFeEmiDE	:= ""
    Local cNumCasa	:= ""
    Local cDepEmi	:= ""
    Local cDisEmi	:= ""
    Local cCiuEmi	:= ""
    Local aTotales	:= {0,0,0,0,0,0,0,0,0,0,0,0,0}
    Local aDesc		:= {0,0}
    Local lProd		:= SuperGetMV("MV_CFDI_AM",,"") == "P"
    Local cEmail	:= SuperGetMV("MV_RELACNT",,"")
    Local cAliasTmp	:= ""
    Local aArea		:= GetArea()
    Local aSF		:= {}
    
    	DbSelectArea("SF1")
    	aSF := GetArea()
    	DbSetOrder(1)//F1_FILIAL+F1_DOC+F1_SERIE+F1_FORNECE+F1_LOJA+F1_TIPO 
    	DbSeek(xFilial("SF1")+cDoc+cSerie+cCliente+cLoja)
    
    	
    	cSecCod  := M486SecCod(Time(),SF1->F1_EMISSAO)
    	cID		 := M486GENCDC("05",SUBSTR(SM0->M0_CGC,1,RAT("-",SM0->M0_CGC)-1),Substr(SM0->M0_CGC,RAT("-",SM0->M0_CGC)+ 1,1),SUBSTR(SF1->F1_DOC,1,3),SUBSTR(SF1->F1_DOC,4,3),SUBSTR(SF1->F1_DOC,7),"1",SF1->F1_EMISSAO,"1",cSecCod,SF1->F1_ESPECIE)
    	cdDVId	 := AllTrim(STR(CalcMod11(SUBSTR(cID,1,43))))
    	cFeEmiDE := SUBSTR(DTOS(SF1->F1_EMISSAO),0,4) + "-" + SUBSTR(DTOS(SF1->F1_EMISSAO),5,2) + "-" + SUBSTR(DTOS(SF1->F1_EMISSAO),7,2) + "T" + SF1->F1_HORA
    	cNumCasa := ObtColSAT("S030",SUBSTR(SM0->M0_CGC,1,10) , 1, 10, 11,6)
    	cNumCasa := Iif(Empty(cNumCasa), "0", cNumCasa )
    	cDepEmi  := ObtColSAT("S030",SUBSTR(SM0->M0_CGC,1,10) , 1, 10, 18,2) 
    	cDisEmi  := ObtColSAT("S030",SUBSTR(SM0->M0_CGC,1,10) , 1, 10, 20,3)
    	cCiuEmi  := ObtColSAT("S030",SUBSTR(SM0->M0_CGC,1,10) , 1, 10, 23,4)
    
    	cXml := '<rDE' + cSalto
    	cXml += ' xmlns="http://ekuatia.set.gov.py/sifen/xsd" ' + cSalto
    	cXml += ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' + cSalto
    	cXml += ' xsi:schemaLocation="http://ekuatia.set.gov.py/sifen/xsd/ siRecepDE_v150.xsd">' + cSalto
    	cXml += ' <dVerFor>150</dVerFor>' + cSalto
    	cXml += '	<DE Id="' + cID + '">' + cSalto
    	cXml += '		<dDVId>' + cdDVId + '</dDVId>' + cSalto
    	cXml += '		<dFecFirma></dFecFirma> ' + cSalto
    	cXml += '		<dSisFact>1</dSisFact>' + cSalto
    	cXml += '		<gOpeDE>' + cSalto
    	cXml += '        	<iTipEmi>1</iTipEmi>' + cSalto
    	cXml += '        	<dDesTipEmi>Normal</dDesTipEmi>' +cSalto
    	cXml += '			<dCodSeg>' + SUBSTR(cID,35,9) + '</dCodSeg>' + cSalto
    	cXml += '		</gOpeDE>' + cSalto
    	cXml += '		<gTimb>' + cSalto
    	cXml += '        	<iTiDE>5</iTiDE>' + cSalto
    	cXml += '        	<dDesTiDE>Nota de crédito electrónica</dDesTiDE>' + cSalto
    	cXml += '        	<dNumTim>'+ AllTrim(SF1->F1_NUMTIM) +'</dNumTim>' + cSalto
    	cXml += '        	<dEst>' + SUBSTR(SF1->F1_DOC,1,3) + '</dEst>' + cSalto
    	cXml += '        	<dPunExp>' + SUBSTR(SF1->F1_DOC,4,3) + '</dPunExp>' + cSalto
    	cXml += '        	<dNumDoc>' + RIGHT(SF1->F1_DOC,7) + '</dNumDoc>' + cSalto
    	cXml += '        	<dSerieNum>' + AllTrim(SF1->F1_SERIE2) + '</dSerieNum>' + cSalto
    	cXml += '			<dFeIniT>' + FecIniTimb(SF1->F1_SERIE, SF1->F1_ESPECIE) + '</dFeIniT>' + cSalto
    	cXml += '		</gTimb>' + cSalto
    	cXml += '		<gDatGralOpe>' + cSalto
    	cXml += '			<dFeEmiDE>' + cFeEmiDE + '</dFeEmiDE>' + cSalto
    
    	// Campos inherentes a la operación comercial (D010-D099)
    	CTO->(DbSetOrder(1)) //CTO_FILIAL+CTO_MOEDA
    	CTO->(MsSeek(xFilial("CTO")+Strzero(SF1->F1_MOEDA,2)))
    	cXml += M486IMPPAR(ALLTRIM(SF1->F1_ESPECIE),SF1->F1_DOC,SF1->F1_SERIE, SF1->F1_FORNECE,SF1->F1_LOJA, CTO->CTO_MOESAT,"","") + cSalto
    
    	//EMISOR
    	cXml += '			<gEmis>' + cSalto
    	cXml += '				<dRucEm>' + SUBSTR(SM0->M0_CGC,1,RAT("-",SM0->M0_CGC)-1)+'</dRucEm>' + cSalto
    	cXml += '				<dDVEmi>' + Substr(SM0->M0_CGC,RAT("-",SM0->M0_CGC)+ 1,1) + '</dDVEmi>' + cSalto
    	cXml += '				<iTipCont>1</iTipCont>' + cSalto
    	cXml += '				<cTipReg>'+ ObtColSAT("S030",SUBSTR(SM0->M0_CGC,1,10) , 1, 10, 17,1) +'</cTipReg>' + cSalto
    	If lProd
    		cXml += '				<dNomEmi>'+ AllTrim(SM0->M0_NOME) + '</dNomEmi>' + cSalto
    	Else
    		cXml += '				<dNomEmi>'+  "DE generado en ambiente de prueba - sin valor comercial ni fiscal" + '</dNomEmi>' + cSalto
    	EndIf
    	cXml += '				<dNomFanEmi>'+ AllTrim(SM0->M0_NOMECOM) + '</dNomFanEmi>' + cSalto
    	cXml += '				<dDirEmi>'+ AllTrim(SM0->M0_ENDENT) + '</dDirEmi>' + cSalto
    	cXml += '				<dNumCas>' + cNumCasa + '</dNumCas>' + cSalto
    	cXml += '				<cDepEmi>' + cDepEmi+ '</cDepEmi>' + cSalto
    	cXml += '				<dDesDepEmi>' + AllTrim(ObtColSAT("S003",cDepEmi, 1, 2, 3,28)) + '</dDesDepEmi>' + cSalto
    	cXml += '				<cDisEmi>' + AllTrim(cDisEmi) + '</cDisEmi>' + cSalto
    	cXml += '				<dDesDisEmi>' + AllTrim(ObtColSAT("S031",cDisEmi, 1, 3, 4,30))+ '</dDesDisEmi>' + cSalto
    	cXml += '				<cCiuEmi>' +  AllTrim(cCiuEmi)  + '</cCiuEmi>' + cSalto
    	cXml += '				<dDesCiuEmi>' +  AllTrim(ObtColSAT("S012",cCiuEmi, 48, 4, 52,30))+ '</dDesCiuEmi>' + cSalto
    	If !Empty(SM0->M0_TEL)
    		cXml += '				<dTelEmi>' + AllTrim(SM0->M0_TEL) + '</dTelEmi>' + cSalto
    	EndIf
    	cXml += '				<dEmailE>' +  cEmail  + '</dEmailE>' + cSalto //Quitar
    	cXml += '				<gActEco>' + cSalto
    	cXml += '					<cActEco>' + AllTrim(SM0->M0_DSCCNA) + '</cActEco>' + cSalto
    	cXml += '					<dDesActEco>'+ ObtColSAT("S006",SUBSTR(SM0->M0_DSCCNA,1,6) , 2, 5, 7,166)+'</dDesActEco>' + cSalto
    	cXml += '				</gActEco>' +  cSalto
    	cXml += '			</gEmis>' + cSalto
    	//RECEPTOR
    	SA1->(DbSetOrder(1))
    	SA1->(MSSeek(xFilial("SA1")+SF1->F1_FORNECE+SF1->F1_LOJA))
    	SYA->(DbSetOrder(1))
    	SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS))
    
    	cXml += '			<gDatRec>' + cSalto
    	cXml += '				<iNatRec>1</iNatRec>' + cSalto
    	cXml += '				<iTiOpe>1</iTiOpe>' + cSalto
    	cXml += '				<cPaisRec>' + SYA->YA_CODERP + '</cPaisRec>' + cSalto
    	cXml += '				<dDesPaisRe>'+ ObtColSAT("S005",SYA->YA_CODERP, 1, 3, 4,52)+'</dDesPaisRe>' +cSalto
    	If !Empty(SA1->A1_CGC)
    		cXml += '				<iTiContRec>' + IIF(SA1->A1_PESSOA $ "F","1","2") + '</iTiContRec>' + cSalto
    		cXml += '				<dRucRec>' +  SUBSTR(SA1->A1_CGC,1,RAT("-",SA1->A1_CGC)-1) + '</dRucRec>' + cSalto
    		cXml += '				<dDVRec>' + Substr(SA1->A1_CGC,RAT("-",SA1->A1_CGC)+ 1,1) + '</dDVRec>' + cSalto
    	Else
    		cXml += '				<iTipIDRec>' + AllTrim(SA1->A1_TIPDOC) + '</iTipIDRec>' + cSalto
    		cXml += '				<dDTipIDRec>' +  ObtColSAT("S018", SA1->A1_TIPDOC, 1, 1, 2,41) + '</dDTipIDRec>' + cSalto
    		cXml += '				<dNumIDRec>' +  IIF(AllTrim(SA1->A1_TIPDOC)=="5","0",ALLTRIM(SA1->A1_NIF)) + '</dNumIDRec>' +cSalto
    	EndIf
    	cXml += '				<dNomRec>' + AllTrim(SA1->A1_NOME)+ '</dNomRec>' + cSalto
    	cXml += '				<dNomFanRec>' + AllTrim(SA1->A1_NREDUZ)+ '</dNomFanRec>' + cSalto
    	cXml += '				<dDirRec>' + AllTrim(SA1->A1_END) + '</dDirRec>' + cSalto
    	cXml += '				<dNumCasRec>' + AllTrim(SA1->A1_NUM) + '</dNumCasRec>' + cSalto
    	cXml += '				<cDepRec>' + SA1->A1_DEPTO + '</cDepRec>' + cSalto
    	cXml += '				<dDesDepRec>' + AllTrim(ObtColSAT("S003",SA1->A1_DEPTO, 1, 2, 3,28)) +'</dDesDepRec>' + cSalto
    	cXml += '				<cDisRec>' + SA1->A1_DISTR+ '</cDisRec>' + cSalto
    	cXml += '				<dDesDisRec>'+ AllTrim(ObtColSAT("S031",SA1->A1_DISTR, 1, 3, 4,30)) + '</dDesDisRec>' + cSalto
    	cXml += '				<cCiuRec>' + AllTrim(SA1->A1_CIUDAD) + '</cCiuRec>' + cSalto
    	cXml += '				<dDesCiuRec>' + AllTrim(ObtColSAT("S012",SA1->A1_CIUDAD, 48, 4, 52,30)) + '</dDesCiuRec>' + cSalto
    	If !Empty(SA1->A1_TEL)
    		cXml += '				<dTelRec>' + AllTrim(SA1->A1_TEL) + '</dTelRec>' + cSalto
    	EndIf
    	If !Empty(SA1->A1_EMAIL)
    		cXml += '				<dEmailRec>' + SA1->A1_EMAIL + '</dEmailRec>' + cSalto
    	EndIf
    	cXml += '				<dCodCliente>' + AllTrim(SA1->A1_COD) + '</dCodCliente>' + cSalto
    	cXml += '			</gDatRec>' + cSalto
    	cXml += '		</gDatGralOpe>' + cSalto
    
    	//TIPO DE PRESENCIA
    	cXml += '		<gDtipDE>' + cSalto
    	cXml += '        	<gCamNCDE>' + cSalto
    	cXml += '    			<iMotEmi>' + AllTrim(SF1->F1_TIPREF) + '</iMotEmi>' + cSalto
    	cXml += '        		<dDesMotEmi>'+ ObtColSAT("S021",SF1->F1_TIPREF, 1, 1, 2,30)+'</dDesMotEmi>' + cSalto
    	cXml += '        	</gCamNCDE>' + cSalto
    
    	cAliasTmp := u_QryItem("SD1", "D1_COD, D1_QUANT, D1_TES, D1_ITEM, SD1.R_E_C_N_O_", "D1_DOC='" + SF1->F1_DOC + "' AND D1_SERIE='" + SF1->F1_SERIE + "' AND D1_FORNECE='" + SF1->F1_FORNECE + "' AND D1_LOJA='" + SF1->F1_LOJA + "'",  "D1_ITEM") 
    	
    	While (cAliasTmp)->(!EOF())
    		cXml += '        	<gCamItem>' + cSalto
    		cXml += '    			<dCodInt>' + Alltrim((cAliasTmp)->B1_COD) + '</dCodInt>' + cSalto
    		cXml += '    			<dDesProSer>' + AllTrim((cAliasTmp)->B1_DESC) + '</dDesProSer>' + cSalto
    		cXml += '    			<cUniMed>' + AllTrim((cAliasTmp)->AH_COD_CO) + '</cUniMed>' + cSalto
    		cXml += '    			<dDesUniMed>' + ObtColSAT("S002",(cAliasTmp)->AH_COD_CO, 1, 3, 29,6) + '</dDesUniMed>' + cSalto
    		cXml += '    			<dCantProSer>' + AllTrim(TRANSFORM((cAliasTmp)->D1_QUANT,"9999999999.9999") )+ '</dCantProSer>' + cSalto
    		If (cAliasTmp)->R_E_C_N_O_ > 0
    			SD2->(dbgoto((cAliasTmp)->R_E_C_N_O_))
    		EndIf
    		cXml += M486IMPDPAR(ALLTRIM(SF1->F1_ESPECIE),SF1->F1_DOC,SF1->F1_SERIE, SF1->F1_FORNECE,SF1->F1_LOJA, (cAliasTmp)->D1_TES,(cAliasTmp)->D1_ITEM,(cAliasTmp)->D1_COD,@aDesc) + cSalto
    		cXml += '        	</gCamItem>' + cSalto
    		(cAliasTmp)->(dbSkip())
    	End
    	(cAliasTmp)->(dbcloseArea())
    	cXml += '		</gDtipDE>' + cSalto
    
    	aTotales := M486SUBTOT(ALLTRIM(SF1->F1_ESPECIE),SF1->F1_DOC,SF1->F1_SERIE, SF1->F1_FORNECE,SF1->F1_LOJA)
    	cXml += '		<gTotSub>' + cSalto
    	cXml += '        	<dSubExe>'+ AllTrim(TRANSFORM(aTotales[1],cPicture))+'</dSubExe>' + cSalto
    	cXml += '        	<dSubExo>'+ AllTrim(TRANSFORM(aTotales[2],cPicture))+'</dSubExo>' + cSalto
    	cXml += '        	<dSub5>'+ AllTrim(TRANSFORM(aTotales[3],cPicture))+'</dSub5>' + cSalto
    	cXml += '        	<dSub10>'+ AllTrim(TRANSFORM(aTotales[4],cPicture))+'</dSub10>' + cSalto
    	cXml += '        	<dTotOpe>'+ AllTrim(TRANSFORM(aTotales[5],cPicture))+'</dTotOpe>' + cSalto
    	cXml += '        	<dTotDesc>'+ AllTrim(TRANSFORM(aDesc[1],cPicture))+'</dTotDesc>' + cSalto
    	cXml += '        	<dTotDescGlotem>'+ AllTrim(TRANSFORM(aTotales[6],cPicture))+'</dTotDescGlotem>' + cSalto
    	cXml += '        	<dTotAntItem>0</dTotAntItem>' + cSalto
    	cXml += '        	<dTotAnt>0</dTotAnt>' + cSalto
    	cXml += '        	<dPorcDescTotal>0</dPorcDescTotal>' + cSalto
    	cXml += '        	<dDescTotal>'+ AllTrim(TRANSFORM(aDesc[1],cPicture))+'</dDescTotal>' + cSalto
    	cXml += '        	<dAnticipo>0</dAnticipo>' + cSalto
    	cXml += '        	<dRedon>0.0</dRedon>' + cSalto
    	cXml += '        	<dTotGralOpe>'+ AllTrim(TRANSFORM(SF1->F1_VALBRUT,cPicture))+'</dTotGralOpe>' + cSalto
    	cXml += '        	<dIVA5>'+ AllTrim(TRANSFORM(aTotales[7],cPicture))+'</dIVA5>' + cSalto
    	cXml += '        	<dIVA10>'+ AllTrim(TRANSFORM(aTotales[8],cPicture))+'</dIVA10>' + cSalto
    	cXml += '        	<dTotIVA>'+ AllTrim(TRANSFORM(aTotales[9],cPicture))+'</dTotIVA>' + cSalto
    	cXml += '        	<dBaseGrav5>'+ AllTrim(TRANSFORM(aTotales[10],cPicture))+'</dBaseGrav5>' + cSalto
    	cXml += '			<dBaseGrav10>'+ AllTrim(TRANSFORM(aTotales[11],cPicture))+'</dBaseGrav10>' + cSalto
    	cXml += '			<dTBasGraIVA>'+ AllTrim(TRANSFORM(aTotales[12],cPicture))+'</dTBasGraIVA>' + cSalto
    	If AllTrim(STR(SF1->F1_MOEDA)) <> "1"
    		cXml += '			<dTotalGs>'+ AllTrim(TRANSFORM(SF1->F1_VALBRUT*SF1->F1_TXMOEDA,cPicture))+'</dTotalGs>' + cSalto
    	EndIf
    	cXml += '		</gTotSub>' +cSalto
    	
    	//DOCUMENTO ASOCIADO
    	cXml += '		<gCamDEAsoc>' + cSalto
    	cXml += M486ASOC(SF1->F1_ESPECIE,SF1->F1_DOC,SF1->F1_SERIE,SF1->F1_FORNECE,SF1->F1_LOJA,"1") + cSalto
    	cXml += '		</gCamDEAsoc>' + cSalto
    	cXml += '	</DE>' + cSalto
    	cXml += '</rDE>' + cSalto
    
    	RestArea(aSF)
    	RestArea(aArea)
    
    Return cXml
    
    /*/{Protheus.doc} QryItem Genera un query para obetener los datos correspondientes a los items.
    @param cAlias, caracter, Alias de la tabla.
    @param cCpos, caracter, Campos a ser usados en el query.
    @param cWhere, caracter, Condición a ser usada en el query.
    @param cOrder, caracter, Campo a ser usado en el orden,
    @return cAliasTmp, Alias de la tabla temporal.
    /*/
    User Function QryItem(cAlias, cCpos, cWhere, cOrder)
    Local cQuery 	:= ""
    Local cAliasTmp	:= getNextAlias()
    
    	cQuery := "Select "
    	cQuery += cCpos
    	cQuery += " ,B1_COD, B1_DESC, B1_UM, AH_COD_CO" 
    	cQuery += " from "+RetSqlName(cAlias)+ " " + cAlias + " "
    	cQuery += " Left Join " +RetSqlName("SB1")+ " SB1 ON " + IIf(cAlias == "SD2","D2_COD","D1_COD") + " = B1_COD AND B1_FILIAL = '" + xFilial("SB1") + "'"
    	cQuery += " Left Join " +RetSqlName("SAH")+ " SAH ON B1_UM = AH_UNIMED AND AH_FILIAL = '" + xFilial("SAH") + "'"
    	cQuery += " Where "
    	cQuery += cWhere
    	cQuery += " AND " + cAlias + ".D_E_L_E_T_ = ''"
    	cQuery += " AND SB1.D_E_L_E_T_ = ''"
    	cQuery += " AND SAH.D_E_L_E_T_ = ''"
    	If !Empty(cOrder)
    		cQuery += " ORDER BY "+ SqlOrder(cOrder)
    	EndIf
    	cQuery := ChangeQuery(cQuery)
    	dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cAliasTmp,.T.,.T.)
    
    	(cAliasTmp)->(dbGoTop())
    
    Return cAliasTmp

    La información retornada en la variable cXml deberá contener el xml que será guardado para ser transmitido.

    Totvs custom tabs box items
    defaultno
    referenciapaso11

    PE - M486PDFGEN

    Descripción:

    M486PDFGEN.- Generación personalizada de Impresión Gráfica de Documentos

    Ubicación:

    Actualizaciones / Facturación / Transmisión Electrónica.

    Eventos:

    Imprimir PDF.

    Programa Fuente:

    MATA486.PRW

    Función:

    MenuDef

    Parámetros: 

    Posición

    Tipo

    Descripción

    N/AN/AN/A
    Retorno:N/A



    Totvs custom tabs box items
    defaultno
    referenciapaso12

    IMPRESION DEL KUDE - PARÁMETRO MV_IMPKUDE (EJEMPLO)

    Parámetro

    Descripción

    Tipo

    Valores

    Default

    MV_IMPKUDEConfiguración de la impresión del KUDE antes de obtener la autorización.Numérico

    1 = Imprime solo facturas validadas.

    2 = Imprime facturas validadas y facturas transmitidas.

    1 =  Imprime solo facturas validadas.


    03. Menús

    En el Configurador (SIGACFG), acceda a Entornos/Archivo/Menú (CFGX013). Informe las nuevas opciones de menú conforme las instrucciones a continuación:

    Menú

    Facturación

    Submenú

    Actualizaciones | Archivos

    Nombre de la Rutina

    Definición de Catálogos

    Programa

    FISA812

    Módulo

    Facturación

    Tipo

    Función Protheus

    Menú

    Facturación

    Submenú

    Actualizaciones | Archivos

    Nombre de la Rutina

    Mantenimiento de Catálogos

    Programa

    FISA813

    Módulo

    Facturación

    Tipo

    Función Protheus

    Menú

    Actualizaciones

    Submenú

    Facturación

    Nombre de la Rutina

    Documentos Electrónicos

    Programa

    MATA486

    Módulo

    SIGAFAT

    Tipo

    Función del Protheus

    04. Diccionario de datos


    Totvs custom tabs box
    tabsTablas,Campos,Consultas Estándar,Parámetros, Índices, Preguntas, Tablas genéricas,Leyenda/Estatus de los documentos
    idspaso1,paso2,paso3,paso4,paso5,paso6,paso7,paso8
    Totvs custom tabs box items
    defaultyes
    referenciapaso1

    Clave

    Nombre

    Modo

    PYME

    F3HConfiguración de CatálogosCS
    F3IInformación de CatálogosCS
    F7LPagos contado Factura ElectrónicaES
    Totvs custom tabs box items
    defaultno
    referenciapaso2
    CampoTipoTamañoDecimalFormatoTítuloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    F3H
    F3H_FILIALC20
    SucursalSucursal1NoNoNo




    Digite el código de la sucursal.
    F3H_CODIGOC40@!CódigoCódigo del parámetro1SiSiSi


    NaoVazio() .and. ExistChav("F3H", M->F3H_CODIGO,1) .and. FreeForUse("F3H",M->F3H_CODIGO)
    Código del parámetro.
    F3H_DESCC300@!DescripciónDescripción del parámetro1SiSiSi


    NAOVAZIO()
    Descripción del parámetro.
    F3H_ORDEMC2099OrdenOrden del parámetro1SiSiNo




    Orden del parámetro.
    F3H_CAMPOSC100AXXXXXXXXXCamposNombre del Campo1SiSiNo


    NaoVazio() .and.  f812VerChav("F3H",M->F3H_CAMPOS)
    Incluir el nombre del campo.
    F3H_DESCPOC25
    @!Desc. CampoDescripción del Campo1SiSiNo




    Incluir la descripción del campo.
    F3H_TIPOC1
    @!TipoTipo1SiSiNoN=Numérico;C=Caracter;D=FechaF812Valid()
    NaoVazio() .and. Pertence("NCD")  .and. f812ChkTipo(M->F3H_TIPO)

    Incluya el tipo de campo. C = Carácter, D = Fecha, N = Numérico.

    F3H_TAMANN3
    999TamañoTamaño del Campo.1SiSiNo
    F812Valid()
    NaoVazio() .and. F812ChkTaman(M->F3H_TAMAN)

    Incluir el tamaño del campo.

    Obs: si el campo fuera tipo D=Fecha,  el tamaño debe ser igual a 8.

    F3H_DECIMAN2
    99DecimalDecimal1SiNoNo
    F812Valid()
    f812ChkDec(M->F3H_DECIMA
    Incluir el número de decimales que tendrá el campo. Campos tipo: Fecha y Carácter No tiene decimales
    F3H_PICTURC450@!FormatoFormato1SiNoNo




    Digite la máscara para la exhibición del campo. Ej.: "@E 999,99

    F3H_VALIDc1200@!ValidaciónValidación del Usuario1SiNoNo




    Agregar una validación del campo si es necesario.

    Ej,: Entre("01","10",M-> F3H_TAMAN,.T.)

    En el caso que la función utilizada sea "PERTENECE", deberá informarse el campo como segundo parámetro.

    Ej.: Pertence("12",cCampo

    ...

    Menú

    ...

    Facturación

    ...

    Submenú

    ...

    Actualizaciones | Archivos

    ...

    Nombre de la Rutina

    ...

    Mantenimiento de Catálogos

    ...

    Programa

    ...

    FISA813

    ...

    Módulo

    ...

    Facturación

    ...

    Tipo

    ...

    Función Protheus

    ...

    Menú

    ...

    Actualizaciones

    ...

    Submenú

    ...

    Facturación

    ...

    Nombre de la Rutina

    ...

    Documentos Electrónicos

    ...

    Programa

    ...

    MATA486

    ...

    Módulo

    ...

    SIGAFAT

    ...

    Tipo

    ...

    Función del Protheus

    04. Diccionario de datos

    Totvs custom tabs box
    tabsTablas,Campos,Consultas Estándar,Parámetros, Índices, Preguntas, Tablas genéricas
    idspaso1,paso2,paso3,paso4,paso5,paso6,paso7
    Totvs custom tabs box items
    defaultyes
    referenciapaso1

    Clave

    Nombre

    Modo

    PYME

    F3HConfiguración de CatálogosCS
    F3IInformación de CatálogosCS
    F7LPagos contado Factura ElectrónicaES
    Totvs custom tabs box items
    defaultno
    referenciapaso2
    DA3
    CampoTipoTamañoDecimalFormatoTítuloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    F3H
    F3H_FILIALC20SucursalSucursal1NoNoNoDigite el código de la sucursal.F3H_CODIGOC40@!CódigoCódigo del parámetro1SiSiSiNaoVazio() .and. ExistChav("F3H", M->F3H_CODIGO,1) .and. FreeForUse("F3H",M->F3H_CODIGO)Código del parámetro.F3H_DESCC300@!DescripciónDescripción del parámetro1SiSiSiNAOVAZIO()Descripción del parámetro.F3H_ORDEMC2099OrdenOrden del parámetro1SiSiNoOrden del parámetro.F3H_CAMPOSC100AXXXXXXXXXCamposNombre del Campo1SiSiNoNaoVazio() .and.  f812VerChav("F3H",M->F3H_CAMPOS)Incluir el nombre del campo.F3H_DESCPOC25@!Desc. CampoDescripción del Campo1SiSiNoIncluir la descripción del campo.F3H_TIPOC1@!TipoTipo1SiSiNoN=Numérico;C=Caracter;D=FechaF812Valid()NaoVazio() .and. Pertence("NCD")  .and. f812ChkTipo(M->F3H_TIPO)

    Incluya el tipo de campo. C = Carácter, D = Fecha, N = Numérico.

    F3H_TAMANN3999TamañoTamaño del Campo.1SiSiNoF812Valid()NaoVazio() .and. F812ChkTaman(M->F3H_TAMAN)

    Incluir el tamaño del campo.

    Obs: si el campo fuera tipo D=Fecha,  el tamaño debe ser igual a 8.

    F3H_DECIMAN299DecimalDecimal1SiNoNoF812Valid()f812ChkDec(M->F3H_DECIMAIncluir el número de decimales que tendrá el campo. Campos tipo: Fecha y Carácter No tiene decimalesF3H_PICTURC450@!FormatoFormato1SiNoNo

    Digite la máscara para la exhibición del campo. Ej.: "@E 999,99

    F3H_VALIDc1200@!ValidaciónValidación del Usuario1SiNoNo

    Agregar una validación del campo si es necesario.

    Ej,: Entre("01","10",M-> F3H_TAMAN,.T.)

    En el caso que la función utilizada sea "PERTENECE", deberá informarse el campo como segundo parámetro.

    Ej.: Pertence("12",cCampo)

    F3H_PADRAOC6
    @!Cons. Estand.Consulta Estándar1NoNoNo


    f812ConsPad()
    Digite una consulta estándar para la tabla.
    F3H_VERSAOC3
    @!VersiónVersión1SiNoNo




    Versión del catálogo.
    F3H_PESQC1
    @!¿Usado Busq?¿USado en la Busqueda?1NoNoNo1=Si;2=No



    ¿Usado en la Búsqueda de la Consulta Estándar (SXB)? Informar Si para utilizar este campo como clave simples de búsqueda.
    F3I
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    F3I_FILIALC20
    SucursalSucursal1SiSiNo




    Informe el código de la sucursal.
    F3I_CODIGOC40@!CódigoCódigo del parámetro1SiNoNo


    EXISTCPO("F31")

    Informe el contenido de identificación del ítem de la lista.

    Por ejemplo, si la lista de modificación es la lista de países,

    este campo corresponde al código de identificación del país.

    F3I_SEQUENC5
    99999SecuenciaSecuencia1SiNoNo




    Secuencia.
    F3I_CONTEUC250
    @!ContenidoContenido de la tabla1SiNoNo




    Informe el contenido.
    F7L
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    F7L_FILIALC20
    SucursalSucursal1NoNoNo




    Digite el código de la sucursal.
    F7L_DOCC130@!No. DocNúmero de Documento0SiSiSi




    Indique el número de documento
    F7L_SERIEC30@!SerieSerie del Documento0SiSiNo




    Indique el número de SerieF7L_CLIENTde Serie
    F7L_CLIENTC60@!Cod. ClienteCod. Cliente0SiSiNo




    Código del Cliente.
    F7L_LOJAC20@!TiendaTienda0SiSiNo




    Código de Tienda
    F7L_CONDC40
    Cond. PagoCond. Pago0SiSiNo




    Condiciones de Pago
    F7L_SEQC30@999Num PagoNúmero de PagoC60@!Cod. ClienteCod. Cliente0SiSiNoCódigo del Cliente.




    Número de Pago
    F7L_LOJATPPAGOC20@!TiendaTipo de PagoTipo de PagoTienda0SiSiNoSi

    PAR013NaoVazio() .or. ValidF3I("S013", M->F7L_TPPAGO,1,2)
    Tipo de Pago.Código de Tienda
    F7L_CONDMONTOCN4180Cond. Pago2@E 999,999,999,999,999.99Monto PagoMonto Cond. Pago0SiSiNoSi




    Condiciones Tipo de Pago
    F7L_SEQTPTARC310@999Num PagoNúmero de Pago@!Tipo TarjetaTipo Tarjeta0SiSiNoNoSi

    PAR014NaoVazio() .or. ValidF3I("S014", M->F7LU_TPTAR,1,1)
    Tipo TarjetaNúmero de Pago
    F7L_TPPAGOFRMPROC210@!Tipo de PagoFrm. Proc. PForma Procesamiento Tipo de Pago0SiSiSiNo

    PAR013PAR032NaoVazio() .or. ValidF3I("S013S032", M->F7L_TPPAGOFRMPRO,1,21)
    Tipo Forma de Procesamiento Pago.
    F7L_MONTOCODOPECN11802@E 999,999,999,999,999.99Monto Pago@!Cod. Aut. OPCódigo Autorización. Op.Monto Pago0SiNoSi




    Código Autorización Op.
    F7L_NUMTRJC40@!Num. TarjetaNum. Tarjeta0SiTipo de PagoNoNo




    Número de Tarjeta
    F7L_CODBCOC60@!Banco EmisorBanco Emisor0SiNoNo




    Banco Emisor.
    F7L_TPTARC180@!Tipo TarjetaNum ChequeNumero de ChequeTipo Tarjeta0SiNoSiPAR014NaoVazio() .or. ValidF3I("S014", M->F7LU_TPTAR,1,1)Tipo TarjetaF7L_FRMPROC10@!Frm. Proc. PForma Procesamiento Pago0SiSiNoPAR032NaoVazio() .or. ValidF3I("S032", M->F7L_FRMPRO,1,1)Forma de Procesamiento PagoF7L_CODOPEC10@!Cod. Aut. OPCódigo Autorización. Op.0SiNoSiCódigo Autorización Op.F7L_NUMTRJC40@!Num. TarjetaNum. Tarjeta0SiNoNoNúmero de TarjetaF7L_CODBCOC60@!Banco EmisorBanco Emisor0SiNoNoBanco Emisor.F7L_C80@!Num ChequeNumero de Cheque0SiNoSiNúmero de cheque.
    SFP
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp





    Número de cheque.
    SFP
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    FP_SERIE2C2
    @!Serie 2Serie 21SiNoNo
    !(funname() $ 'MATA467N/MATA462N/MATA465N')



    FP_FINITIMC8

    Fch. In. TimFecha de inicio Timbrado1Si
    Si




    Fecha de inicio de timbrado.
    SA1
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    A1_TIPDOCC2
    @!Tipo Dic.Tipo Documento de Identid.1SiNoNo

    PAR018Vazio() .OR. ValidF3I("S018", M->A1_TIPDOC,1,1)
    Tipo de documento de identidad.
    A1_NUMC5
    @!No. CasaNúmero de casa1SiNoNo



    1Número de casa.
    A1_DEPTOFP_SERIE2C2
    @!Serie 2Cod. DeptoCódigo de Departamento SETSerie 21SiNoNo!(funname() $ 'MATA467N/MATA462N/MATA465N')FP_FINITIMC8Fch. In. TimFecha de inicio Timbrado1SiSiFecha de inicio de timbrado.
    SA1
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp


    PAR003NaoVazio() .and. ValidF3I("S003", M->A1_DEPTO,1,2)1Código de departamento de acuerdo al SET.
    A1_DISTRC3
    @!Cod. DistritoCódigo de Distrito1SiNoNo

    PAR031NaoVazio() .OR. ValidF3I("S031", M->A1_DISTR,3,3)1Código de distrito de acuerdo al SET.
    A1_CIUDADC4
    @!Cod. CiudadCódigo de CiudadA1_TIPDOCC2@!Tipo Dic.Tipo Documento de Identid.1SiNoNo

    PAR018PAR012VazioNaoVazio() .OR. ValidF3I("S018S012", M->A1_TIPDOCCIUDAD,16,4)1)Tipo Código de documento ciudad de identidadacuerdo al SET.
    A1_NUMPFISCAC518
    @!DNIDNI1No. CasaNúmero de casa1SiSiNo1Número de casa.SiNoNo



    1Documento de Identidad
    SF2
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    F2_SERIE2A1_DEPTOC2
    @!Cod. DeptoSerie 2Serie 2Código de Departamento SET1SiSiNoPAR003SiNaoVazio() .and. ValidF3I("S003", M->A1_DEPTO,1,2)1Código de departamento de acuerdo al SET.A1_DISTRC3@!Cod. Distrito


    !(funname() $ 'MATA467N/MATA462N/MATA465N')
    Serie usada en la factura electrónica.
    F2_DOCC13
    @!Num de DocNumero de DocumentoCódigo de Distrito1SiSiNoPAR031Si


    NaoVazio() .OR. ValidF3ICtrFolios(xFilial("S031SF2"),M->A1>F2_DISTR,3,3)1Código de distrito de acuerdo al SET.A1_CIUDADCSERIE,M->F2_ESPECIE,M->F2_DOC) .AND. LXEXSER2()

    F2_SERIEC34
    @!CodSerie Doc. CiudadCódigo de CiudadSerie del Documento1SiSiNoPAR012Si


    NaoVazioLxExSer2() .OR. ValidF3I("S012", M->A1_CIUDAD,6,4)1Código de ciudad de acuerdo al SET.

    F2_HORAC8
    99:99HoraHora1SiNoSi





    F2_NUMTIMC13A1_PFISCAC18
    @!DNITimbradoDNINúmero Timbrado1SiNoNo1Documento de Identidad
    SF2
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    Si
    .F.



    F2_TIPONFC4
    @!Tipo NFTipo de Factura.1SiNoSi

    PAR019Vazio() .or. ValidF3I("S019", M->F2_TIPONF,1,4)
    Tipo de Factura conforme a catálogo No. 19
    F2_UUIDC44
    @!CDCCDCF2_SERIE2C2@!Serie 2Serie 21SiNoSi!(funname() $ 'MATA467N/MATA462N/MATA465N')No




    Número del CDCSerie usada en la factura electrónica.
    F2_DOCTIPREFC132
    @!Num Tipo Nota de DocDNumero Tipo de Nota de DocumentoDebito1SiNoSi

    PAR021Vazio() .OR. ValidF3ICtrFolios(xFilial("SF2S021"), M->F2_SERIE,M->F2_ESPECIE,M->F2_DOC) .AND. LXEXSER2()TIPREF,1,1)
    Motivo de Emisión
    F2_SERIEVEICULOC38
    @!Serie DocVehic. TranspSerie Vehículo del DocumentoTransporte1SiNoNo

    DA3SiLxExSer2()F2_HORAC899:99HoraNAOVAZIO() .AND. ExistCpo("DA3",M->F2_VEICULO,1)
    Código del Vehículo.
    F2_RASTRC20Hora1SiNoSiF2_NUMTIMC13
    @!TimbradoVueloNo. de VueloNúmero Timbrado1SiNoSiNo




    Número de vuelo cuando es transporte aéreo..F.
    F2_TIPONFINCOTERC43
    @!Tipo NFIncotermsTipo Clave de Factura.Incoterms1SiNoSiNo

    PAR019PAR010Vazio() .or. ValidF3I("S019S010", M->F2_TIPONFINCOTER,1,43)
    Tipo de Factura conforme a catálogo No. 19Condiciones de negociación.
    F2_UUIDFECDSECD44@!CDC8

    Fch Ini TrasFecha Inicio de TrasladoCDC1SiNoNo




    Número del CDCFecha inicio de traslado.
    F2_TIPREFFECHSECD2@!Tipo Nota de D8

    Fch fin TrasFecha Fin de TrasladoTipo de Nota de Debito1SiNoSiPAR021Vazio() .OR. ValidF3I("S021", M->F2_TIPREF,1,1)Motivo de EmisiónNo




    Fecha fin de traslado.
    F2_KMN70@E 9,999,999Dist. EntregaDistancia de EntregaF2_VEICULOC8@!Vehic. TranspVehículo del Transporte1SiNoNoCódigo del Vehículo.




    Distancia de entrega
    F2_RASTRTPTRANSC202
    @!VueloTipo TransacNo. Tipo de VueloTransacción1SiNoNoNúmero de vuelo cuando es transporte aéreo.

    PAR016Vazio() .or. ValidF3I("S016", M->F2_TPTRANS,1,2)
    Tipo Transacción
    F2_MOTEMIRC2F2_INCOTERC3
    @!IncotermsMotivo EmisMotivo EmisiónClave de Incoterms1SiNoNo

    PAR010PAR022Vazio() .or. ValidF3I("S010S022", M->F2_INCOTERMOTEMIR,1,32)Condiciones de negociación.
    Motivo Emisión del Remito
    F2_FECDSEFECTIMBD8Fch Ini Tras

    Fecha Trans.Fecha Inicio de Trasladotransmisión1SiNoNoSi




    Fecha inicio de trasladotransmisión del documento.
    F2_FECHSEFECANTFD8

    Fch fin TrasCanc envFecha Fin de Trasladocancelación envio1SiNoNoSi




    Fecha fin de trasladocancelación del documento enviado.
    F2_KMFLFTEXNC710@E 9,999,999Dist. EntregaDistancia de Entrega

    Status TransEstatus transmisión Elec1SiNoNo0=No Enviado;1=Enviado;5=Rechazado;6=Autorizado



    Estatus de los documento electrónicos.Distancia de entrega
    F2_TPTRANSTPRESFLC21
    @!Tipo TransacResp. FleteResponsable FleteTipo de Transacción1SiNoNo

    PAR016PAR027Vazio() .orOR. ValidF3I("S016S027", M->F2_TPTRANSTPRESFL,1,21)Tipo TransacciónF2_MOTEMIRC2@!Motivo EmisMotivo Emisión1SiNoNoPAR022Vazio() .or. ValidF3I("S022", M->F2_MOTEMIR,1,2)Motivo Emisión del Remito
    Responsable del flete
    SF1
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    F1_DOCC13
    @!Num de Doc.Número de DocumentoF2_FECTIMBD8Fecha Trans.Fecha de transmisión1SiNoSiFecha de transmisión del documento.


    CtrFolios(xFilial("SF1"),M->F1_SERIE,M->F1_ESPECIE,M->F1_DOC) .AND. LXEXSER2()

    F1_SERIEC3
    @!Serie Doc.Serie del DocumentoF2_FECANTFD8Fch Canc envFecha cancelación envio1SiNoSiFecha de cancelación del documento enviado.





    F2_FLFTEXF1_SERIE2C21Status Trans
    @!Serie 2Serie 2Estatus transmisión Elec1SiNoNo0=No Enviado;1=Enviado;5=Rechazado;6=AutorizadoEstatus de los documento electrónicos.Si


    !(funname() $ 'MATA462N/MATA465N')

    F1_NUMTIMC13F2_TPRESFLC1
    @!Resp. FleteTimbradoNumero de TimbradoResponsable Flete1SiNoNoSiPAR027
    Vazio() .OR. ValidF3I("S027", M->F2_TPRESFL,1,1)Responsable del flete
    SF1
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    F.



    F1_UUIDC44
    @!CDCCDC1SiNoNo




    Número del CDC
    F1_TIPREFC2
    @!Tipo Nota de CTipo de nota de CréditoF1_DOCC13@!Num de Doc.Número de Documento1SiNoSi

    PAR021Vazio() .OR. ValidF3ICtrFolios(xFilial("SF1S021"), M->F1_SERIE,M->F1_ESPECIE,M->F1_DOC) .AND. LXEXSER2()TIPREF,1,1)
    Motivo de Emisión
    F1_SERIEFECTIMBCD3@!Serie Doc.8

    Fecha Trans.Fecha de transmisiónSerie del Documento1SiNoSi




    Fecha de transmisión del documento.
    F1_SERIE2FECANTFCD2@!Serie 28

    Fch Canc envFecha cancelación envioSerie 21SiNoSi!(funname() $ 'MATA462N/MATA465N')




    Fecha de cancelación del documento enviado.
    F1_NUMTIMFLFTEXC131@!Timbrado

    Status TransEstatus transmisión ElecNumero de Timbrado1SiNoSi.F.F1_UUIDC44@!CDCCDC1SiNoNoNo0=No Enviado;1=Enviado;5=Rechazado;6=Autorizado



    Estatus de los documento electrónicos.
    SYA
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    YA_CODERPC3
    @!Cod. ERPCod. ERPNúmero del CDCF1_TIPREFC2@!Tipo Nota de CTipo de nota de Crédito1SiNoSiPAR021Vazio() .OR. ValidF3I("S021", M->F1_TIPREF,1,1)Motivo de Emisión

    PAR005

    Clave de País de acuerdo al catálogo No. 05
    CTO
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    CTO_MOESATC3
    @!Moneda SATMoneda SATF1_FECTIMBD8Fecha Trans.Fecha de transmisión1SiNoSiFecha de transmisión del documento.F1_FECANTFD8Fch Canc envFecha cancelación envio1SiNoSiFecha de cancelación del documento enviado.F1_FLFTEXC1Status TransEstatus transmisión Elec1SiNoNo0=No Enviado;1=Enviado;5=Rechazado;6=AutorizadoEstatus de los documento electrónicos.Si

    PAR004

    Clave de moneda de acuerdo al catálogo No. 04
    SAHSYA
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    YAAH_COD_CODERPCOC3@!
    Ori Cert Cod. ERPFIESP Ori Certif Cod. ERP1SiNoSiSiPAR005

    PAR002Vazio() .or. ValidF3I("S002", M->AH_COD_CO,1,3)

    Clave de Unidad de Medida

    Clave de País

    de acuerdo al catálogo No.

    05

    02

    CTOSA4
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    A4_TIPCONC1
    @!Tipo ContribTipo de Contribuyente1SiNoNo1=Contribuyente;2=No Contribuyente

    Pertence("12")

    A4_TIPIDCTO_MOESATC31
    @!Moneda SATTipo de IdenTipo de identificaciónMoneda SAT1SiSiNoSiNoPAR004Clave de moneda de acuerdo al catálogo No. 04

    PAR018Vazio() .OR. ValidF3I("S018", M->A4_TIPID,1,1)

    SC5SAH
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    AHC5_COD_COTIPONFC34
    @!Ori Cert Cod.Tipo NFTipo de FacturaFIESP Ori Certif Cod1SiSiNoSi

    PAR002PAR019Vazio() .or. ValidF3I("S002S019", M->AH>C5_COD_COTIPONF,1,31)

    Clave de Unidad de Medida de acuerdo al catálogo No. 02

    SA4
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp

    Tipo de Factura conforme al catálogo 19
    C5_TPTRANSC2
    @!Tipo TransacTipo de Transacción1SiNoNo

    PAR016

    Vazio() .or. ValidF3I("S016", M->C5_TPTRANS,1,2)


    Tipo Transacción
    C5_RASTRC20
    @!VuevloNo. de VueloA4_TIPCONC1@!Tipo ContribTipo de Contribuyente1SiNoNo1=Contribuyente;2=No ContribuyentePertence("12")




    Número de vuelo cuando es transporte aéreo
    C5_INCOTERA4_TIPIDC13
    @!Tipo de IdenIncontermsIncontermsTipo de identificación1SiNoNo

    PAR018PAR010Vazio() .ORor. ValidF3I("S018S010", M->A4>C5_TIPIDINCOTER,1,1)
    SC5
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    3)
    Condiciones de Negociación
    C5_FECDSED8

    Fecha Ini TrasFecha Inicio de Traslado1SiNoNo




    Fecha Inicio de Traslado
    C5_FECHSED8

    Fecha Fin TrasFecha Fin de Traslado1SiNoNo




    Fecha Fin de Traslado
    C5_MODTRADC2
    @!MotivoMotivoC5_TIPONFC4@!Tipo NFTipo de Factura1SiNoSiNoPAR019


    Vazio() .or. ValidF3I("S019S022", M->C5_TIPONFMODTRAD,1,12)
    Tipo de Factura conforme al catálogo 19Motivo de Emisión
    C5_TPTRANSTPRESFLC21
    @!Tipo TransacResp. FleteResponsable FleteTipo de Transacción1SiNoNo

    PAR016PAR027Vazio() .orOR. ValidF3I("S016S027", M->C5_TPTRANSTPRESFL,1,21)
    Responsable del fleteTipo Transacción
    DA3
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelp
    DA3_MARVEIC2C5_RASTRC20
    @!VuevloMarcaMarcaNo. de Vuelo1SiNoNoNúmero de vuelo cuando es transporte aéreoSi

    M6ExistCpo("SX5","M6"+M->DA3_MARVEI,1)

    DA3_TIPTR2C1C5_INCOTERC3
    @!IncontermsTipo Transp.Tipo de TransporteInconterms1SiNoNo

    PAR010PAR026Vazio() .orOR. ValidF3I("S010S026", M->C5>DA3_INCOTERTIPTRA,1,31)Condiciones de Negociación

    DA3_FROVEIC1
    @!FlotaFlotaC5_FECDSED8Fecha Ini TrasFecha Inicio de Traslado1SiNoNoFecha Inicio de TrasladoC5_FECHSED8Fecha Fin Tras1=Propia;2=Tercero

    Pertence("12")

    DA3_TIPIDC1
    @!Tipo VechiculoTipo de VehiculoFecha Fin de Traslado1SiNoNoFecha Fin de Traslado1= Numero de identificación del vehículo;2=Numero de matricula del vehículo

    Pertence('12')

    SFB
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. Sistema
    Help
    FB_CODIMPC5_MODTRADC2@!MotivoMotivo1SiNoNoVazio() .or. ValidF3I("S022", M->C5_MODTRAD,1,2)Motivo de EmisiónC5_TPRESFLC1@!RespCod. FleteResponsable Flete1SiNoNoPAR027ImpuestCódigo de ImpuestoNaoVazioVazio() .OR. ValidF3I("S027S017", M->C5>FB_TPRESFLCODIMP,1,1)1Responsable del fleteSiNoCampoNo


    TipoPAR017TamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaFolderHelpDA3_MARVEIC2@!MarcaMarca1SiNoSiM6ExistCpo("SX5","M6"+M->DA3_MARVEI,1)DA3_TIPTRAC1@!Tipo Transp.Tipo de Transporte1SiNoNoPAR026Vazio() .OR. ValidF3I("S026", M->DA3_TIPTRA,1,1)DA3_FROVEIC1@!FlotaFlota1SiNoNo1=Propia;2=TerceroPertence("12")DA3_TIPIDC1@!Tipo VechiculoTipo de Vehiculo1SiNoNo1= Numero de identificación del vehículo;2=Numero de matricula del vehículoPertence('12')
    SFB
    CampoTipoTamañoDecimalFormatoTituloDescripciónNivelUtilizadoObligatorioBrowseOpcionesWhenConsulta(F3)Val. SistemaHelpFB_CODIMPC1@!Cod. ImpuestCódigo de ImpuestoNaoVazio() .OR. ValidF3I("S017", M->FB_CODIMP,1,1)1SiSiNoPAR017Código de ImpuestoFB_CLASSEC1@!Clase Imp.Clase de impuesto1SiSiNoI=Impuesto; P=Percepción; R=RetenciónIndica clase del impuesto.

    Código de Impuesto
    FB_CLASSEC1@!
    Clase Imp.Clase de impuesto1SiSiNoI=Impuesto; P=Percepción; R=Retención



    Indica clase del impuesto.
    Totvs custom tabs box items
    defaultno
    referenciapaso3

    Alias

    Tipo

    SecuenciaColumnaDescripciónContenido
    Consulta PAR001
    PAR001101RERegímenesF3I
    PAR00120101RegímenesF812SXB("S001","Codigo")
    PAR001501

    VAR_IXB
    Consulta PAR002
    PAR002101REUnidades MedidaF3I
    PAR00220101Unidades MedidaF812SXB("S002","Codigo")
    PAR002501

    VAR_IXB
    Consulta PAR003
    PAR003101REDepartamentosF3I
    PAR00320101DepartamentosF812SXB("S003","Codigo")
    PAR003501

    VAR_IXB
    Consulta PAR004
    PAR004101REMonedasF3I
    PAR00420101MonedasF812SXB("S004","Codigo")
    PAR004501

    VAR_IXB
    Consulta PAR005

    PAR005

    101REPaísesF3I
    PAR00520101PaísesF812SXB("S005","Codigo")
    PAR005501

    VAR_IXB
    Consulta PAR006

    PAR006

    101REActividad EconómicaF3I
    PAR00620101Actividad EconómicaF812SXB("S006","Codigo")
    PAR006
    Totvs custom tabs box items
    defaultno
    referenciapaso3

    Alias

    Tipo

    SecuenciaColumnaDescripciónContenido
    Consulta PAR001
    PAR001101RERegímenesF3I
    PAR00120101RegímenesF812SXB("S001","Codigo")
    PAR001501

    VAR_IXB
    Consulta PAR002PAR007
    PAR002

    PAR007

    101REUnidades MedidaAfectacionesF3I
    PAR002PAR00720101Unidades MedidaAfectacionesF812SXB("S002S007","Codigo")
    PAR002PAR007501

    VAR_IXB
    Consulta PAR003PAR008
    PAR003

    PAR008

    101REDepartamentosCategoría ISCF3I
    PAR003PAR00820101DepartamentosCategoría ISCF812SXB("S003S008","Codigo")
    PAR003PAR008501

    VAR_IXB
    Consulta PAR004PAR009
    PAR004

    PAR009

    101REMonedasTasa ISCF3I
    PAR004PAR00920101MonedasTasa ISCF812SXB("S004S009","Codigo")
    PAR004PAR009501

    VAR_IXB
    Consulta PAR005PAR010

    PAR005PAR010

    101REPaísesCondiciones F3I
    PAR005PAR01020101PaísesCondiciones F812SXB("S005S010","Codigo")
    PAR005PAR010501

    VAR_IXB
    Consulta PAR006PAR011

    PAR006PAR011

    101REActividad EconómicaRegímenes AduanerosF3I
    PAR006PAR01120101Actividad EconómicaRegímenes AduanerosF812SXB("S006S011","Codigo")
    PAR006PAR011501

    VAR_IXB
    Consulta PAR007PAR012

    PAR007PAR012

    101REAfectacionesReferencia GeográficaF3I
    PAR007PAR01220101AfectacionesReferencia GeográficaF812SXB("S007S012","Codigo")
    PAR007PAR012501

    VAR_IXB
    Consulta PAR008PAR013

    PAR008PAR013

    101RECategoría ISCTipos de PagoF3I
    PAR008PAR01320101Categoría ISCTipos de PagoF812SXB("S008S013","Codigo")
    PAR008PAR013501

    VAR_IXB
    Consulta PAR009PAR014

    PAR009PAR014

    101RETasa ISCDenominación de TarjetaF3I
    PAR009PAR01420101Tasa ISCDenominación de TarjetaF812SXB("S009S014","Codigo")
    PAR009PAR014501

    VAR_IXB
    Consulta PAR010PAR015

    PAR010PAR015

    101RECondiciones Documento ElectrónicoF3I
    PAR010PAR01520101Condiciones Documento ElectrónicoF812SXB("S010S015","Codigo")
    PAR010PAR015501

    VAR_IXB
    Consulta PAR011PAR016

    PAR011PAR016

    101RERegímenes AduanerosTipo de TransacciónF3I
    PAR011PAR01620101Regímenes AduanerosTipo de TransacciónF812SXB("S011S016","Codigo")
    PAR011PAR016501

    VAR_IXB
    Consulta PAR012PAR017

    PAR012PAR017

    101REReferencia GeográficaTipo OperaciónF3I
    PAR012PAR01720101Referencia GeográficaTipo OperaciónF812SXB("S012S017","Codigo")
    PAR012PAR017501

    VAR_IXB
    Consulta PAR013PAR018

    PAR013PAR018

    101RETipos de PagoDocumento IdentidadF3I
    PAR013PAR01820101Tipos de PagoDocumento IdentidadF812SXB("S013S018","Codigo")
    PAR013PAR018501

    VAR_IXB
    Consulta PAR014PAR019

    PAR014PAR019

    101REDenominación Indicador de TarjetaPresenciaF3I
    PAR014PAR01920101Denominación Indicador de TarjetaPresenciaF812SXB("S014S019","Codigo")
    PAR014PAR019501

    VAR_IXB
    Consulta PAR015PAR020

    PAR015PAR020

    101REDocumento ElectrónicoDoc Identidad Ven/TrF3I
    PAR015PAR02020101Documento ElectrónicoDoc Identidad Ven/TrF812SXB("S015S020","Codigo")
    PAR015PAR020501

    VAR_IXB
    Consulta PAR016PAR021

    PAR016PAR021

    101RETipo Motivo de TransacciónEmisión NCF3I
    PAR016PAR02120101Tipo Motivo de TransacciónEmisión NCF812SXB("S016S021","Codigo")
    PAR016PAR021501

    VAR_IXB
    Consulta PAR017PAR022

    PAR017PAR022

    101RETipo OperaciónMotivo de Emisión ReF3I
    PAR017PAR02220101Tipo OperaciónMotivo de Emisión ReF812SXB("S017S022","Codigo")
    PAR017PAR022501

    VAR_IXB
    Consulta PAR018PAR023

    PAR018PAR023

    101REDocumento IdentidadResponsable de EmisiónF3I
    PAR018PAR02320101Documento IdentidadResponsable de EmisiónF812SXB("S018S023","Codigo")
    PAR018PAR023501

    VAR_IXB
    Consulta PAR019PAR024

    PAR019PAR024

    101REIndicador Venta de PresenciaVehículosF3I
    PAR019PAR02420101Indicador Venta de PresenciaVehículosF812SXB("S019S024","Codigo")
    PAR019PAR024501

    VAR_IXB
    Consulta PAR020PAR025

    PAR020PAR025

    101REDoc Identidad Ven/TrTipo de CombustibleF3I
    PAR020PAR02520101Doc Identidad Ven/TrTipo de CombustibleF812SXB("S020S025","Codigo")
    PAR020PAR025501

    VAR_IXB
    Consulta PAR021PAR026

    PAR021PAR026

    101REMotivo Modalidad de Emisión NCTranspF3I
    PAR021PAR02620101Motivo Modalidad de Emisión NCTranspF812SXB("S021S026","Codigo")
    PAR021PAR026501

    VAR_IXB
    Consulta PAR022PAR027

    PAR022PAR027

    101REMotivo de Emisión ReResponsable del FleteF3I
    PAR022PAR02720101Motivo de Emisión ReResponsable del FleteF812SXB("S022S027","Codigo")
    PAR022PAR027501

    VAR_IXB
    Consulta PAR023PAR028

    PAR023PAR028

    101REResponsable de EmisiónDocumento ImpresoF3I
    PAR023PAR02820101Responsable de EmisiónDocumento ImpresoF812SXB("S023S028","Codigo")
    PAR023PAR028501

    VAR_IXB
    Consulta PAR024PAR029

    PAR024PAR029

    101REVenta Tipo de VehículosOperaciónF3I
    PAR024PAR02920101Venta Tipo de VehículosOperaciónF812SXB("S024S029","Codigo")
    PAR024PAR029501

    VAR_IXB
    Consulta PAR025PAR031

    PAR025PAR031

    101RETipo de CombustibleDistritosF3I
    PAR025PAR03120101Tipo de CombustibleDistritosF812SXB("S025S031","Codigo")
    PAR025PAR031501

    VAR_IXB
    Consulta PAR026PAR032

    PAR026PAR032

    101REModalidad Proc. de TranspPagoF3I
    PAR026PAR03220101Modalidad Proc. de TranspPagoF812SXB("S026S032","Codigo")
    PAR026PAR032501

    VAR_IXB
    Consulta PAR027

    PAR027

    101REResponsable del FleteF3I
    PAR02720101Responsable del FleteF812SXB("S027","Codigo")
    PAR027501VAR_IXB
    Consulta PAR028

    PAR028

    101REDocumento ImpresoF3I
    PAR02820101Documento ImpresoF812SXB("S028","Codigo")
    PAR028501VAR_IXB
    Consulta PAR029

    PAR029

    101RETipo de OperaciónF3I
    PAR02920101Tipo de OperaciónF812SXB("S029","Codigo")
    PAR029501VAR_IXB
    Consulta PAR031

    PAR031

    101REDistritosF3I
    PAR03120101DistritosF812SXB("S031","Codigo")
    PAR031501VAR_IXB
    Consulta PAR032

    PAR032

    101REProc. de PagoF3I
    PAR03220101Proc. de PagoF812SXB("S032","Codigo")
    Totvs custom tabs box items
    defaultno
    referenciapaso4
    Nombre de la VariableTipoDescripción
    MV_PATH814CarácterRuta de donde serán cargados los catálogos
    MV_F3HNUMCarácterAlmacena el ultimo numero del código del parámetro
    MV_CFDI_AMCarácterConfiguración de ambiente para la comunicación con  los servicios web del SIFEN: T=(Teste) Pruebas;  P= Producción
    MV_CFDSMARCarácterCarpeta local en donde se procesarán las facturas para firmar y enviar al SIFEN.
    MV_CFDI_PACarácterNombre del archivo .exe encargado de firmar XML y consumir los servicios web del SIFEN.
    MV_CFDDOCSCarácterDirectorio donde se grabaran las facturas electrónicas.
    MV_CFDI_PXCarácterNombre del archivo en formato .pfx del certificado digital.
    MV_CFDICVECarácterContraseña del certificado digital para firmado de los XML y comunicación con el SIFEN.
    MV_IDCONENCarácterIdentificador control de envío Factura electrónica.
    MV_IDCSCCarácterIdentificador del código secreto del contribuyente
    MV_CSCCarácterCódigo secreto del contribuyente
    MV_CFDUSOCarácterIndica si las facturas electrónicas se utilizaran o no, configurándose con: 0 - No utiliza Fact-E, 1-Utiliza Fact-e, 2-Indica uso de Fact-E
    MV_CFDANULCarácterIndica el directorio donde se grabaran los CFD de facturas anuladas.  
    MV_RELACNTCarácterCuenta a ser utilizada en el envío de E-Mail para los informes.  
    MV_TIPTRANCarácterConfiguración del tipo transmisión usada con SIFEN, A= Asíncrona; S:Síncrona
    MV_ASYNLOTNúmericoMáximo de documentos en lote transmisión asíncrona
    Totvs custom tabs box items
    defaultno
    referenciapaso5
    VAR_IXB
    Índice OrdenClaveDescripciónPropietario
    F3H1F3H_FILIAL+F3H_CODIGOCódigoS
    F3H2F3H_FILIAL+F3H_DESCDescripciónS
    F3H3F3H_FILIAL+F3H_CAMPOS+F3H_CODIGOCampos + CódigoS
    F3I1F3I_FILIAL+F3I_CODIGO+F3I_SEQUENCódigo + SecuenciaS
    F7L1F7L_FILIAL+F7L_DOC+F7L_SERIE+F7L_CLIENT+F7L_LOJADocumento + Serie + Cliente + TiendaSPAR032501
    Totvs custom tabs box items
    defaultno
    referenciapaso4
    Nombre de la VariableTipoDescripción
    MV_PATH814CarácterRuta de donde serán cargados los catálogos
    MV_F3HNUMCarácterAlmacena el ultimo numero del código del parámetro
    MV_CFDI_AMCarácterConfiguración de ambiente para la comunicación con  los servicios web del SIFEN: T=(Teste) Pruebas;  P= Producción
    MV_CFDSMARCarácterCarpeta local en donde se procesarán las facturas para firmar y enviar al SIFEN.
    MV_CFDI_PACarácterNombre del archivo .exe encargado de firmar XML y consumir los servicios web del SIFEN.
    MV_CFDDOCSCarácterDirectorio donde se grabaran las facturas electrónicas.
    MV_CFDI_PXCarácterNombre del archivo en formato .pfx del certificado digital.
    MV_CFDICVECarácterContraseña del certificado digital para firmado de los XML y comunicación con el SIFEN.
    MV_IDCONENCarácterIdentificador control de envío Factura electrónica.
    MV_IDCSCCarácterIdentificador del código secreto del contribuyente
    MV_CSCCarácterCódigo secreto del contribuyente
    MV_CFDUSOCarácterIndica si las facturas electrónicas se utilizaran o no, configurándose con: 0 - No utiliza Fact-E, 1-Utiliza Fact-e, 2-Indica uso de Fact-E
    MV_CFDANULCarácterIndica el directorio donde se grabaran los CFD de facturas anuladas.  
    MV_RELACNTCarácterCuenta a ser utilizada en el envío de E-Mail para los informes.  
    Totvs custom tabs box items
    defaultno
    referenciapaso5
    Índice OrdenClaveDescripciónPropietario
    F3H1F3H_FILIAL+F3H_CODIGOCódigoS
    F3H2F3H_FILIAL+F3H_DESCDescripciónS
    F3H3F3H_FILIAL+F3H_CAMPOS+F3H_CODIGOCampos + CódigoS
    F3I1F3I_FILIAL+F3I_CODIGO+F3I_SEQUENCódigo + SecuenciaS
    F7L1F7L_FILIAL+F7L_DOC+F7L_SERIE+F7L_CLIENT+F7L_LOJADocumento + Serie + Cliente + TiendaS
    paso6

    MATA486

    X1_ORDEM

    X1_PERGUNTX1_TIPOX1_TAMANHOX1_VAR01X1_VALIDX1_F3X1_DEF01X1_DEF02X1_DEF03X1_DEF04X1_HELP
    01¿Tipo de Documento?Numérico1MV_PAR01

    FacturaNota de DébitoNota de CréditoRemisión

    Informe el tipo de documento con el que

    se estará trabajando durante la transmisión electrónica:

    1. Factura
    2. Nota de Débito
    3. Nota de Crédito
    4. Remisión 
    02¿Serie?Carácter3MV_PAR02
    SERNF



    Informe la serie del documento.

    03¿Estatus?Carácter1MV_PAR03
    SD



    Indica el estatus del documento electrónico.

    1-No transmitido

    2-Recibido

    3-Esperando Procesamiento

    4-Documento Rechazado

    5-Documento Autorizado

    04¿Fecha Inicial?Fecha8MV_PAR04





    Indique la fecha de digitación inicial.

    05¿Fecha Final?Fecha8MV_PAR05





    Indique la fecha de digitación final.


    MATA486A

    X1_ORDEM

    X1_PERGUNTX1_TIPOX1_TAMANHOX1_VAR01X1_VALIDX1_F3X1_DEF01X1_DEF02X1_DEF03X1_DEF04X1_HELP
    01¿Serie de la Factura?Carácter3MV_PAR01
    SERNF



    Informe el número de Serie de la Factura

    02¿Factura Inicial?Carácter13MV_PAR02





    Informe el número Factura Inicial

    03¿Factura Final?Carácter13MV_PAR03!Empty(MV_PAR03) .And. MV_PAR02<=MV_PAR03




    Informe el número Factura Final


    MATA486B

    Totvs custom tabs box items
    defaultno
    referenciapaso6

    MATA486

    X1_ORDEM

    X1_PERGUNTX1_TIPOX1_TAMANHOX1_VAR01X1_VALIDX1_F3X1_DEF01X1_DEF02X1_DEF03X1_DEF04X1_HELP
    01¿Tipo de Documento?Numérico1MV_PAR01FacturaNota de DébitoNota de CréditoRemisión

    Informe el tipo de documento con el que

    se estará trabajando durante la transmisión electrónica:

    1. Factura
    2. Nota de Débito
    3. Nota de Crédito
    4. Remisión 
    02¿Serie¿Serie de Nota de Debito?Carácter3MV_PAR02SERNF

    Informe la serie del documento.

    03¿Estatus?Carácter1MV_PAR03SD

    Indica el estatus del documento electrónico.

    1-No transmitido

    2-Recibido

    3-Esperando Procesamiento

    4-Documento Rechazado

    5-Documento Autorizado

    04¿Fecha Inicial?Fecha8MV_PAR04

    Indique la fecha de digitación inicial.

    05¿Fecha Final?Fecha8MV_PAR05

    Indique la fecha de digitación final.

    PAR01
    SERNF



    Informe el número de Serie de la Nota de Débito

    02¿Nota de Débito Inicial?Carácter13MV_PAR02





    Informe el número de la Nota de Débito Inicial

    03¿Nota de Débito Final?Carácter13MV_PAR03!Empty(MV_PAR03) .And. MV_PAR02<=MV_PAR03




    Informe el número de la Nota de Débito Final


    MATA486CMATA486A

    X1_ORDEM

    X1_PERGUNTX1_TIPOX1_TAMANHOX1_VAR01X1_VALIDX1_F3X1_DEF01X1_DEF02X1_DEF03X1_DEF04X1_HELP
    01¿Serie de la FacturaNota de Crédito?Carácter3MV_PAR01
    SERNF



    Informe el número de Serie de la FacturaSerie de la Nota de Crédito

    02¿Factura ¿Nota de Crédito Inicial?Carácter13MV_PAR02





    Informe el número Factura de la Nota de Crédito Inicial

    03¿Factura ¿Nota de Crédito Final?Carácter13MV_PAR03!Empty(MV_PAR03) .And. MV_PAR02<=MV_PAR03




    Informe el número Factura de la Nota de Crédito Final


    MATA486BMATA486E

    X1_ORDEM

    X1_PERGUNTX1_TIPOX1_TAMANHOX1_VAR01X1_VALIDX1_F3X1_DEF01X1_DEF02X1_DEF03X1_DEF04X1_HELP
    01¿Serie de Nota de Debitola Remisión?Carácter3MV_PAR01
    SERNF



    Informe el número de Serie de la Nota de Débitola Remisión

    02¿Nota de Débito ¿Remisión Inicial?Carácter13MV_PAR02





    Informe el número de la Nota de Débito Remisión Inicial

    03¿Nota de Débito ¿Remisión Final?Carácter13MV_PAR03!Empty(MV_PAR03) .And. MV_PAR02<=MV_PAR03




    Informe el número de la Nota de Débito la Remisión Final


    MATA486CMATA486F

    el número de Serie de la Nota de Crédito la Nota de Crédito Inicial!EmptyMV_PAR03PAR02<PAR03 la Nota de Crédito Final

    X1_ORDEM

    X1_PERGUNTX1_TIPOX1_TAMANHOX1_VAR01X1_VALIDX1_F3X1_DEF01X1_DEF02X1_DEF03X1_DEF04X1_HELP
    01¿Serie de Nota de Créditodocumento?Carácter3MV_PAR01NaoVazio()SERNF



    Informe

    serie del documento.

    02¿Nota de Crédito Inicial¿Documento inicial?Carácter13MV_PAR02





    Informe el número de

    documento inicial.

    03¿Nota de Crédito Final¿Documento final?Carácter13MV_PAR03NaoVazio() .And. MV_PAR03>=MV_PAR02




    Informe el número de

    MATA486E

    X1_ORDEM

    X1_PERGUNTX1_TIPOX1_TAMANHOX1_VAR01X1_VALIDX1_F3X1_DEF01X1_DEF02X1_DEF03X1_DEF04X1_HELP
    01¿Serie de la Remisión?Carácter3MV_PAR01SERNF

    Informe el número de Serie de la Remisión

    02¿Remisión Inicial?Carácter13MV_PAR02

    Informe el número de la Remisión Inicial

    documento final.

    04¿Formato?Numérico1MV_PAR04NaoVazio()
    PDF


    Informe formato de generación de representación impresa.

    Totvs custom tabs box items
    defaultno
    referenciapaso7

    SD - Estatus Documentos

    ClaveDescripción
    1NO TRANSMITIDA
    2RECIBIDO
    3ESPERANDO PROCESAMIENTO
    4DOCUMENTO RECHAZADO
    5DOCUMENTO AUTORIZADO
    8DOCUMENTO CANCELADO/INUTILIZADO

    MATA486F

    Informe formato de generación de representación impresa.

    Totvs custom tabs box items
    defaultno
    referenciapaso8

    Leyenda/Estatus

    ColorEstatusCondición
    GrisNo Transmitida(F1_FLFTEX/F2_FLFTEX = '' o F1_FLFTEX/F2_FLFTEX = '0')
    AzulRecibido (F1_FLFTEX/F2_FLFTEX = '1')
    AmarilloEsperando procesamiento(F1_FLFTEX/F2_FLFTEX = '4' o F1_FLFTEX/F2_FLFTEX = '2')
    RojoDocumento rechazado(F1_FLFTEX/F2_FLFTEX == '5' o F1_FLFTEX/F2_FLFTEX == '3')
    VerdeDocumento autorizado(F1_FLFTEX/F2_FLFTEX = '6')
    BlancoDocumento inutilizado(F1_FLFTEX/F2_FLFTEX = '8' y  F1_FECANF/ F2_FECANTF vacío).
    CaféDocumento cancelado (F1_FLFTEX/F2_FLFTEX = '8' y  F1_FECANF/ F2_FECANTF diferente de vacío (con fecha de cancelación)).



    Aviso
    titleIMPORTANTE

    Los documentos cancelados e inutilizados son identificados con el valor 8 en el campo Estatus Transmisión (F1_FLFTEX/F2_FLFTEX). Para diferenciar estos documentos, se verifica si fue informada la fecha de cancelación (F1_FECANTF/F2_FECANTF). Los documentos cancelados sí tienen informada una fecha de cancelación; y los documentos inutilizados no tienen informada fecha de cancelación. 


    Leyenda/Estatus de los documentos

    Image Added

    03¿Remisión Final?Carácter13MV_PAR03!Empty(MV_PAR03) .And. MV_PAR02<=MV_PAR03

    Informe el número de la Remisión Final

    X1_ORDEM

    X1_PERGUNTX1_TIPOX1_TAMANHOX1_VAR01X1_VALIDX1_F3X1_DEF01X1_DEF02X1_DEF03X1_DEF04X1_HELP
    01¿Serie de documento?Carácter3MV_PAR01NaoVazio()SERNF

    Informe serie del documento.

    02¿Documento inicial?Carácter13MV_PAR02

    Informe el número de documento inicial.

    03¿Documento final?Carácter13MV_PAR03NaoVazio() .And. MV_PAR03>=MV_PAR02

    Informe el número de documento final.

    04¿Formato?Numérico1MV_PAR04NaoVazio()PDF

    SD - Estatus Documentos

    Totvs custom tabs box items
    defaultno
    referenciapaso7
    ClaveDescripción
    1NO TRANSMITIDA
    2RECIBIDO
    3ESPERANDO PROCESAMIENTO
    4DOCUMENTO RECHAZADO
    5DOCUMENTO AUTORIZADO
    pasoERROR









    05. TABLAS UTILIZADAS

    • SA1 - Clientes
    • SE4 - Condiciones de pago

    • SYA - Países
    • CTO - Monedas
    • SAH - Unidades de medida
    • SFB - Impuestos variables
    • SFP - Control de 
    • SB1 - Productos
    • SD1 - Ítems de facturas de entrada.
    • SF1 - Encabezado de facturas de entrada.
    • SD2 - Ítems de facturas de salida.
    • SF2 - Encabezado de facturas de salida.
    • AQ2 - Lotes de facturación.
    • AQ3- Detalle lotes de facturación.



    HTML
    <!-- esconder o menu --> 
    
    
    <style>
    div.theme-default .ia-splitter #main {
        margin-left: 0px;
    }
    .ia-fixed-sidebar, .ia-splitter-left {
        display: none;
    }
    #main {
        padding-left: 10px;
        padding-right: 10px;: 10px;
        padding-right: 10px;
        overflow-x: hidden;
    }
    
    .aui-header-primary .aui-nav,  .aui-page-panel {
        margin-left: 0px !important;
    }
    .aui-header-primary .aui-nav {
        overflowmargin-xleft: hidden0px !important;
    }
    </style>
    
    .aui-header-primary .aui-nav,  .aui-page-panel {
        margin-left: 0px !important;
    }
    .aui-header-primary .aui-nav {
        margin-left: 0px !important;
    }
    </style>
    
    


    06. TEMAS RELACIONADOS

    DMICNS-14750 DT Transmisión asíncrona PAR

    16602764 DMICNS-16650 DT Tipo de operación PAR

    16237597 DMICNS-16301 DT Generación del XML del evento de cancelación PAR

    16158151 DMICNS-16302 DT Evento inutilización PAR

    16776831 DMICNS-16884 DT Fact Electrónica datos sucursal PAR

    DMICNS-14924 DT Retransmisión de documentos rechazados PAR

    DMICNS-15935 DT Condición de pago tipo 7 y cancelación PAR

    DMICNS-13164 DT Error log al transmitir Factura en Oracle PAR

    DMICNS-13287 DT problema con SUBSTR Oracle PAR

    16918885 DMICNS-17017 DT PDF Factura Electrónica RDMAKE PAR. 

    DMICNS-14068 DT Documentos electrónicos sin RUC para minoristas PAR

    16254964 DMICNS-16340 DT Generación de factura electrónica con bonificación PAR

    DMICNS-16024 DT Error al transmitir una NCC con factura no electrónica PAR

    18866781 DMICNS-19157 DT Leyenda en documentos cancelados/inutilizados PAR

    DT Ejecutable SIFENWS.EXE parámetros PAR

    20422822 DMICNS-20599 DT Tag iTipCont incorrecto PAR

    20421378 DMICNS-20636 DT Impresión de documentos de FCE aún no autorizadas parámetro MV_IMPKUDE PAR