// ***************************************************************************** // Funciones de librería. // ***************************************************************************** Incluye LibAdminPaq.rpt Incluye LibDigitales.rpt // ***************************************************************************** // Parámetros // ***************************************************************************** Parametro pFechaInicial = '20020101' Parametro pFechaFinal = '20021231' Parametro pDelCliente = ' ' Parametro pAlCliente = ' ' Parametro pConceptoPago = ' ' Parametro pIncluirIVA = 0 // 0 = Sí, 1 = No Parametro pIncluirIEPS = 0 Parametro pIncluirLocales = 0 Parametro pIncluirRetISR = 0 Parametro pIncluirNoObjOtros = 0 // ***************************************************************************** // Apertura de tablas. // ***************************************************************************** UsaEmpresa tEmpresa;'CONTPAQ I Facturacion' UsaTabla tParametros = tEmpresa['mgw10000'] UsaTabla tIngreso = tEmpresa['mgw10008'] Alias 'tIngresos' tIngreso.Usaindice[''] //ciddocumentoDe + cFecha + cSerie + cFolio Usatabla tAbono = tEmpresa['mgw10008'] Alias 'tAbonos' tAbono.Usaindice['IDOCUMEN01'] UsaTabla tCfdiIngreso = tEmpresa['mgw10045'] Alias 'tCfdiIng' tCfdiIngreso.Usaindice['CIDDOCTO'] UsaTabla tCfdiAbono = tEmpresa['mgw10045'] Alias 'tCfdiAbo' tCfdiAbono.Usaindice['CIDDOCTO'] UsaTabla tClientes = tEmpresa['mgw10002'] Alias 'tCliente1' tClientes.Usaindice['ICODIGOT01'] UsaTabla tCargosAbonos = tEmpresa['mgw10009'] tCargosAbonos.UsaIndice['PRIMARYKEY'] UsaTabla tCargosAbonosImp = tEmpresa['mgw10059'] tCargosAbonosImp.UsaIndice['PRIMARYKEY'] UsaTabla tConceptoIngreso = tEmpresa['mgw10006'] Alias 'tConceptoIng' tConceptoIngreso.UsaIndice['cIdConceptoDocumento'] UsaTabla tConceptoAbono = tEmpresa['mgw10006'] Alias 'tConceptoAbo' tConceptoAbono.UsaIndice['cIdConceptoDocumento'] UsaTabla tMonedaIngreso = tEmpresa['mgw10034'] tMonedaIngreso.Usaindice[''] UsaTabla tMonedaAbono = tEmpresa['mgw10034'] tMonedaAbono.Usaindice[''] tParametros.Busca Primero // ***************************************************************************** // Declaración de variables globales. // ***************************************************************************** gIncluirNoObjetoUOtros = false gHoy = '' gHoy = fFormateaFecha(@Hoy();0) // ***************************************************************************** // Definición de constantes de EXCEL. // ***************************************************************************** constante xlCentrarEnSeleccion 7 constante xlAutomatico -4105 constante xlManual -4135 constante xlInferior -4107 constante xlSubrayadoDoble -4119 constante xlIzquierda -4131 constante xlMediano -4138 constante xlNinguno -4142 constante xlDerecha -4152 constante xlSuperior -4160 constante xlHojaCalculo -4167 constante xlLineaSimple 1 constante xlBordeSuperior 8 constante xlBordeInferior 9 constante xlBordeIzquierda 7 constante xlBordeDerecha 10 constante xlCentro -4108 constante xlSaltoPagina -4135 // ***************************************************************************** // Inicializa EXCEL. // ***************************************************************************** Objeto Excel = @CreaObjeto('Excel.Application') Objeto wb = Excel.WorkBooks.Add(xlHojaCalculo) Objeto ws = wb.Worksheets(1) Excel.ActiveWindow.DisplayGridlines = FALSE[C0] Excel.Visible = -1[C0] gDecimales = tParametros(cDecimalesPrecioVenta) Decimales gDecimales gRenActual = 1 // Pone la longitud de cada columna ws.Columns(1).ColumnWidth = 11 // A Fecha ws.Columns(2).ColumnWidth = 10 // B Serie ws.Columns(3).ColumnWidth = 12 // C Folio ws.Columns(4).ColumnWidth = 25 // D Concepto ws.Columns(5).ColumnWidth = 50 // E UUID pago ws.Columns(6).ColumnWidth = 17 // F Código cliente ws.Columns(7).ColumnWidth = 35 // G Razón social ws.Columns(8).ColumnWidth = 12 // H Total ws.Columns(9).ColumnWidth = 10 // I Moneda ws.Columns(10).ColumnWidth = 12 // J Tipo de cambio ws.Columns(11).ColumnWidth = 10 // K Proporción ws.Columns(12).ColumnWidth = 12 // L Importe pagado // Factura ws.Columns(13).ColumnWidth = 10 // M Serie ws.Columns(14).ColumnWidth = 12 // N Folio ws.Columns(15).ColumnWidth = 25 // O Concepto ws.Columns(16).ColumnWidth = 50 // P UUID factura ws.Columns(17).ColumnWidth = 12 // Q Total ws.Columns(18).ColumnWidth = 10 // R Moneda ws.Columns(19).ColumnWidth = 12 // S Tipo de cambio ws.Columns(20).ColumnWidth = 10 // T Desglosa IEPS // Impuestos ws.Columns(21).ColumnWidth = 10 // U Objeto impuesto ws.Columns(22).ColumnWidth = 10 // V Tipo impuesto ws.Columns(23).ColumnWidth = 10 // W Tipo factor ws.Columns(24).ColumnWidth = 10 // X Tras/Ret ws.Columns(25).ColumnWidth = 12 // Y Tasa/Cuota ws.Columns(26).ColumnWidth = 12 // Z Importe base ws.Columns(27).ColumnWidth = 12 // AA Importe impuesto ws.Columns(28).ColumnWidth = 15 // AB Importe base MXN ws.Columns(29).ColumnWidth = 15 // AC Importe impuesto MXN lDigsDecimales = '0000000000' lDecimalesImportes = @SUBSTR(lDigsDecimales;1;gDecimales) lFormato = '#,##0.' & lDecimalesImportes & '_);(#,##0.' & lDecimalesImportes & ')' ws.Columns(8).NumberFormat = lFormato ws.Columns(12).NumberFormat = lFormato ws.Columns(17).NumberFormat = lFormato ws.Columns(25).NumberFormat = lFormato ws.Columns(26).NumberFormat = lFormato ws.Columns(27).NumberFormat = lFormato ws.Columns(28).NumberFormat = lFormato ws.Columns(29).NumberFormat = lFormato ws.Columns(6).NumberFormat = '@'[C0] // ========================================================================================== // fDiscriminaCliente() // Salidas: 1 = indica que el cliente no aplica, debe descartarse // 0 = indica que el cliente no debe descartarse. // ========================================================================================== DefFunc fDiscriminaCliente(aCliente:TABLA) Local lRegresa lRegresa = 0 // Se salta el Cliente NINGUNO Si aCliente(cIdClienteProveedor) = 0 lRegresa = 1 Finsi // Si se requieren los clientes y no se trata de un cliente:(1=cliente,2=cliente/provedor,3= proveedor) Si aCliente(cTipoCliente) > 2 lRegresa = 1 Finsi // Descarta inactivos Si aCliente(cEstatus) = 0 lRegresa = 1 Finsi Retorna lRegresa FinFunc // ***************************************************************************** // Encabezado // ***************************************************************************** Encab gColumnaEmpresa = 'N'[C0] gColumnaFinalPago = 'L'[C0] gColumnaFinalFactura = 'T'[C0] gColumnaFinal = 'AC' [C0] ws.Range('A' & gRenActual).Font.Color = @RGB(156;0;89)[C0] ws.Range('A' & gRenActual).Font.Size = 10[C0] ws.Range('A' & gRenActual).Value = 'Factura Electrónica'[C0] gRenActual = gRenActual + 1[C0] ws.Range(gColumnaFinal & gRenActual).NumberFormat = '@'[C0] ws.Range(gColumnaFinal & gRenActual).HorizontalAlignment = xlDerecha[C0] ws.Range(gColumnaFinal & gRenActual).Value = gHoy gRenActual = gRenActual + 1[C0] ws.Range(gColumnaEmpresa & gRenActual).Font.Size = 14[C0] ws.Range(gColumnaEmpresa & gRenActual).Font.Bold = true[C0] ws.Range(gColumnaEmpresa & gRenActual).HorizontalAlignment = xlCentrarEnSeleccion[C0] ws.Range(gColumnaEmpresa & gRenActual).Value = tEmpresa->Nombre gRenActual = gRenActual + 1[C0] ws.Range(gColumnaEmpresa & gRenActual).Font.Size = 12[C0] ws.Range(gColumnaEmpresa & gRenActual).Font.Bold = true[C0] ws.Range(gColumnaEmpresa & gRenActual).HorizontalAlignment = xlCentrarEnSeleccion[C0] ws.Range(gColumnaEmpresa & gRenActual).Value = 'Análisis de impuestos de pagos de clientes'[C0] gRenActual = gRenActual + 2[C0] lImpuestos = '' Si pIncluirIVA = 0 Y pIncluirIEPS = 0 Y pIncluirLocales = 0 Y pIncluirRetISR = 0 lImpuestos = 'Todos' Sino Si pIncluirIVA = 0 lImpuestos = 'IVA' FinSi Si pIncluirIEPS = 0 Si pIncluirIVA = 0 lImpuestos = lImpuestos & ', IEPS' Sino lImpuestos = 'IEPS' FinSi FinSi Si pIncluirLocales = 0 Si pIncluirIVA = 0 O pIncluirIEPS = 0 lImpuestos = lImpuestos & ', Local' Sino lImpuestos = 'Local' FinSi FinSi Si pIncluirRetISR = 0 Si pIncluirIVA = 0 O pIncluirIEPS = 0 O pIncluirLocales = 0 lImpuestos = lImpuestos & ', Retención ISR' Sino lImpuestos = 'Retención ISR' FinSi FinSi Si pIncluirNoObjOtros = 0 Si pIncluirIVA = 0 O pIncluirIEPS = 0 O pIncluirLocales = 0 O pIncluirRetISR = 0 lImpuestos = lImpuestos & ', No objeto - Otros' Sino lImpuestos = 'No objeto - Otros' FinSi FinSi FinSi ws.Range('A' & gRenActual).Font.Bold = true[C0] ws.Range('A' & gRenActual).Value = 'Impuestos a considerar: ' & lImpuestos[C0] gRenActual = gRenActual + 2 ws.Range('A' & gRenActual & ':' & gColumnaFinalPago & gRenActual).HorizontalAlignment = xlCentrarEnSeleccion[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinalPago & gRenActual).Borders(xlInferior).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinalPago & gRenActual).Borders(xlSuperior).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinalPago & gRenActual).Borders(xlIzquierda).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinalPago & gRenActual).Borders(xlDerecha).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinalPago & gRenActual).Interior.Color = @RGB(255;0;0)[C0] ws.Range('A' & gRenActual).Font.Color = @RGB(255;255;255)[C0] ws.Range('A' & gRenActual).Font.Bold = true[C0] ws.Range('A' & gRenActual).Value = 'Pago'[C0] ws.Range('M' & gRenActual & ':' & gColumnaFinalFactura & gRenActual).HorizontalAlignment = xlCentrarEnSeleccion[C0] ws.Range('M' & gRenActual & ':' & gColumnaFinalFactura & gRenActual).Borders(xlInferior).LineStyle = xlLineaSimple[C0] ws.Range('M' & gRenActual & ':' & gColumnaFinalFactura & gRenActual).Borders(xlSuperior).LineStyle = xlLineaSimple[C0] ws.Range('M' & gRenActual & ':' & gColumnaFinalFactura & gRenActual).Borders(xlIzquierda).LineStyle = xlLineaSimple[C0] ws.Range('M' & gRenActual & ':' & gColumnaFinalFactura & gRenActual).Borders(xlDerecha).LineStyle = xlLineaSimple[C0] ws.Range('M' & gRenActual & ':' & gColumnaFinalFactura & gRenActual).Interior.Color = @RGB(255;0;0)[C0] ws.Range('M' & gRenActual).Font.Color = @RGB(255;255;255)[C0] ws.Range('M' & gRenActual).Font.Bold = true[C0] ws.Range('M' & gRenActual).Value = 'Factura'[C0] ws.Range('U' & gRenActual & ':' & gColumnaFinal & gRenActual).HorizontalAlignment = xlCentrarEnSeleccion[C0] ws.Range('U' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlInferior).LineStyle = xlLineaSimple[C0] ws.Range('U' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlSuperior).LineStyle = xlLineaSimple[C0] ws.Range('U' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlIzquierda).LineStyle = xlLineaSimple[C0] ws.Range('U' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlDerecha).LineStyle = xlLineaSimple[C0] ws.Range('U' & gRenActual & ':' & gColumnaFinal & gRenActual).Interior.Color = @RGB(255;0;0)[C0] ws.Range('U' & gRenActual).Font.Color = @RGB(255;255;255)[C0] ws.Range('U' & gRenActual).Font.Bold = true[C0] ws.Range('U' & gRenActual).Value = 'Impuestos en la moneda de la factura'[C0] gRenActual = gRenActual + 1 ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlInferior).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlSuperior).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlIzquierda).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlDerecha).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).Interior.ColorIndex = 55[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).Font.Bold = true[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).Font.Color = @RGB(255;255;255)[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).WrapText = True[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).HorizontalAlignment = xlCentro[C0] ws.Range('A' & gRenActual).Value = 'Fecha'[C0] ws.Range('B' & gRenActual).Value = 'Serie'[C0] ws.Range('C' & gRenActual).Value = 'Folio'[C0] ws.Range('D' & gRenActual).Value = 'Concepto'[C0] ws.Range('E' & gRenActual).Value = 'UUID REP'[C0] ws.Range('F' & gRenActual).Value = 'Código cliente'[C0] ws.Range('G' & gRenActual).Value = 'Cliente'[C0] ws.Range('H' & gRenActual).Value = 'Total del pago'[C0] ws.Range('I' & gRenActual).Value = 'Moneda'[C0] ws.Range('J' & gRenActual).Value = 'Tipo de cambio'[C0] ws.Range('K' & gRenActual).Value = 'Proporción'[C0] ws.Range('L' & gRenActual).Value = 'Importe pagado'[C0] ws.Range('M' & gRenActual).Value = 'Serie'[C0] ws.Range('N' & gRenActual).Value = 'Folio'[C0] ws.Range('O' & gRenActual).Value = 'Concepto'[C0] ws.Range('P' & gRenActual).Value = 'UUID'[C0] ws.Range('Q' & gRenActual).Value = 'Total'[C0] ws.Range('R' & gRenActual).Value = 'Moneda'[C0] ws.Range('S' & gRenActual).Value = 'Tipo de cambio'[C0] ws.Range('T' & gRenActual).Value = 'Desglosa IEPS'[C0] ws.Range('U' & gRenActual).Value = 'Obj Imp'[C0] ws.Range('V' & gRenActual).Value = 'Tipo impuesto'[C0] ws.Range('W' & gRenActual).Value = 'Tipo factor'[C0] ws.Range('X' & gRenActual).Value = 'Tras/Ret'[C0] ws.Range('Y' & gRenActual).Value = 'Tasa/Cuota'[C0] ws.Range('Z' & gRenActual).Value = 'Importe base'[C0] ws.Range('AA' & gRenActual).Value = 'Importe impuesto'[C0] ws.Range('AB' & gRenActual).Value = 'Importe base MXN'[C0] ws.Range('AC' & gRenActual).Value = 'Importe impuesto MXN'[C0] gRenActual = gRenActual + 1 Excel.Rows(gRenActual & ':' & gRenActual).Select Excel.ActiveWindow.FreezePanes = True FinEncab // ***************************************************************************** // Cuerpo del reporte // ***************************************************************************** Si pDelCliente = ' ' tClientes.Busca Primero pDelCliente = tClientes(cCodigoCliente) FinSi Si pAlCliente = ' ' tClientes.Busca Ultimo pAlCliente = tClientes(cCodigoCliente) FinSi gFechaBusqueda = pFechaInicial lIncluir = 0 lDesglosaIEPS = '' lTipoImpuesto = '' lTipoFactor = '' lTrasRet = '' lTasaCuota = '' lNeto = 0 lTasa = 0 lNetoMXN = 0 lTasaMXN = 0 tAbono.Usaindice['cFecha'] tAbono.Busca[gFechaBusqueda] Si !tAbono->ENCONTRO Si tAbono->Llave >= pFechaInicial Y tAbono->Llave <= pFechaFinal // Realizar nuevamente la búsqueda a fin de posicionarnos en el registro y activar la propiedad Encontro gFechaBusqueda = tAbono->Llave tAbono.Busca[gFechaBusqueda] FinSi FinSi Mientras gFechaBusqueda <= pFechaFinal tAbono.Busca[gFechaBusqueda] Mientras tAbono->Encontro tConceptoAbono.BUSCA[@STR(tAbono(CIDCONCE01);0)] Si !tConceptoAbono->ENCONTRO tAbono.BUSCA SIGUIENTE[1] Continua FinSi Si tAbono(cCancelado) = 1 tAbono.BUSCA SIGUIENTE[1] Continua FinSi Si pConceptoPago != ' ' Y pConceptoPago != '' lConceptoIncluido = False lNum = 0 Mientras (!lConceptoIncluido) Y @Escoge(pConceptoPago;lNum) Si @Val(@Escoge(pConceptoPago;lNum)) > 0 Y @Val(@Escoge(pConceptoPago;lNum)) = tAbono(cIdConceptoDocumento) lConceptoIncluido = true FinSi lNum = lNum +1 FinMientras Si !lConceptoIncluido tAbono.BUSCA SIGUIENTE[1] Continua FinSi Sino Si tAbono(cIdDocumentoDe) != 9 Y tAbono(cIdDocumentoDe) != 10 Y tAbono(cIdDocumentoDe) != 12 tAbono.BUSCA SIGUIENTE[1] Continua FinSi FinSi tClientes.Usaindice['PrimaryKey'] tClientes.Busca[@STR(tAbono(cIdClien01);0)] Si fDiscriminaCliente(tClientes) = 1 tAbono.BUSCA SIGUIENTE[1] Continua Finsi Si !tClientes->ENCONTRO O tClientes(cCodigoC01) < pDelCliente O tClientes(cCodigoC01) > pAlCliente tAbono.BUSCA SIGUIENTE[1] Continua FinSi tCargosAbonosImp.Busca[@STR(tAbono(cIdDocumento);0)] Si !tCargosAbonosImp->Encontro tAbono.BUSCA SIGUIENTE[1] Continua FinSi tCfdiAbono.BUSCA[@STR(tAbono(cIdDocumento);0)] tMonedaAbono.BUSCA[@STR(tAbono(cIdMoneda);0)] Mientras tCargosAbonosImp->Encontro lIncluir = 0 lTrasRet = '' Si tCargosAbonosImp(cEsDetalle) != 0 tCargosAbonosImp.BUSCA SIGUIENTE[1] Continua FinSi Si tCargosAbonosImp(cTipoImp01) = 0 Y pIncluirRetISR = 0 lIncluir = 1 Sino Si tCargosAbonosImp(cTipoImp01) = 1 Y pIncluirIVA = 0 lIncluir = 1 Sino Si tCargosAbonosImp(cTipoImp01) = 2 Y pIncluirIEPS = 0 lIncluir = 1 Sino Si tCargosAbonosImp(cTipoImp01) = 3 Y pIncluirLocal = 0 lIncluir = 1 Sino Si (tCargosAbonosImp(cTipoImp01) = 4 O tCargosAbonosImp(cTipoImp01) = -1) Y pIncluirNoObjOtros = 0 lIncluir = 1 FinSi FinSi FinSi FinSi FinSi Si lIncluir = 0 tCargosAbonosImp.BUSCA SIGUIENTE[1] Continua FinSi tIngreso.BUSCA[@STR(tCargosAbonosImp(cIdDocum02);0)] Si tIngreso->Encontro Si tIngreso(cCancelado) = 1 tCargosAbonosImp.BUSCA SIGUIENTE[1] Continua FinSi tCfdiIngreso.BUSCA[@STR(tIngreso(cIdDocumento);0)] tConceptoIngreso.BUSCA[@STR(tIngreso(CIDCONCE01);0)] Si !tConceptoIngreso->ENCONTRO tCargosAbonosImp.BUSCA SIGUIENTE[1] Continua FinSi Sino tCargosAbonosImp.BUSCA SIGUIENTE[1] Continua FinSi tMonedaIngreso.BUSCA[@STR(tIngreso(cIdMoneda);0)] tCargosAbonos.Busca[@STR(tAbono(cIdDocumento);0)] Mientras tCargosAbonos->Encontro Y tCargosAbonos(cIdDocum02) != tIngreso(cIdDocum01) tCargosAbonos.BUSCA SIGUIENTE[1] FinMientras ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlInferior).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlIzquierda).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual & ':' & gColumnaFinal & gRenActual).Borders(xlDerecha).LineStyle = xlLineaSimple[C0] ws.Range('A' & gRenActual).Value = fFormateaFecha(tAbono(cFecha); 0)[C0] ws.Range('B' & gRenActual).Value = tAbono(cSerieDocumento)[C0] ws.Range('C' & gRenActual).Value = tAbono(cFolio)[C0] ws.Range('D' & gRenActual).Value = tConceptoAbono(cNombreConcepto)[C0] Si tCfdiAbono(cUUID) != '' ws.Range('E' & gRenActual).Value = tCfdiAbono(cUUID)[C0] FinSi ws.Range('F' & gRenActual).Value = fMascarilla(tClientes(cCodigoCliente);gMascarillaClientes)[C0] ws.Range('G' & gRenActual).Value = tClientes(cRazonSo01)[C0] ws.Range('H' & gRenActual).Value = tAbono(cTotal)[C0] ws.Range('I' & gRenActual).Value = tMonedaAbono(cClaveSAT)[C0] ws.Range('J' & gRenActual).Value = tAbono(cTipoCam01)[C0] ws.Range('K' & gRenActual).Value = tCargosAbonosImp(cProporc01)[C0] ws.Range('L' & gRenActual).Value = tCargosAbonos(cImporte01)[C0] ws.Range('M' & gRenActual).Value = tIngreso(cSerieDocumento)[C0] ws.Range('N' & gRenActual).Value = tIngreso(cFolio)[C0] ws.Range('O' & gRenActual).Value = tConceptoIngreso(cNombreConcepto)[C0] Si tCfdiIngreso->Encontro Y tCfdiIngreso(cUUID) != '' ws.Range('P' & gRenActual).Value = tCfdiIngreso(cUUID)[C0] FinSi ws.Range('Q' & gRenActual).Value = tIngreso(cTotal)[C0] ws.Range('R' & gRenActual).Value = tMonedaIngreso(cClaveSAT)[C0] ws.Range('S' & gRenActual).Value = tIngreso(cTipoCam01)[C0] Si tCfdiIngreso->Encontro Si tCargosAbonosImp(cTipoImp01) = 2 Si tCfdiIngreso(cAutusba02) = 0 lDesglosaIEPS = 'No' Sino lDesglosaIEPS = 'Sí' FinSi Sino lDesglosaIEPS = 'NA' FinSi ws.Range('T' & gRenActual).Value = lDesglosaIEPS[C0] FinSi ws.Range('U' & gRenActual).Value = tCargosAbonosImp(cObjImpu01)[C0] Si tCargosAbonosImp(cTipoImp01) = -1 lTipoImpuesto = 'Ninguno' Sino Si tCargosAbonosImp(cTipoImp01) = 0 lTipoImpuesto = 'ISR' Sino Si tCargosAbonosImp(cTipoImp01) = 1 lTipoImpuesto = 'IVA' Sino Si tCargosAbonosImp(cTipoImp01) = 2 lTipoImpuesto = 'IEPS' Sino Si tCargosAbonosImp(cTipoImp01) = 3 lTipoImpuesto = 'Local' Sino lTipoImpuesto = 'Otros' FinSi FinSi FinSi FinSi FinSi ws.Range('V' & gRenActual).Value = lTipoImpuesto[C0] Si tCargosAbonosImp(cTipoFac01) = -1 lTipoFactor = 'Ninguno' Sino Si tCargosAbonosImp(cTipoFac01) = 0 lTipoFactor = 'Tasa' Sino Si tCargosAbonosImp(cTipoFac01) = 1 lTipoFactor = 'Cuota' Sino lTipoFactor = 'Tasa' FinSi FinSi FinSi ws.Range('W' & gRenActual).Value = lTipoFactor[C0] Si tCargosAbonosImp(cEsReten01) = -1 lTrasRet = 'Ninguno' Sino Si tCargosAbonosImp(cEsReten01) = 0 lTrasRet = 'Trasladado' Sino Si tCargosAbonosImp(cEsReten01) = 1 lTrasRet = 'Retenido' FinSi FinSi FinSi ws.Range('X' & gRenActual).Value = lTrasRet[C0] Si tCargosAbonosImp(cTipoFac01) != -1 Y tCargosAbonosImp(cTipoFac01) != 2 lTasaCuota = tCargosAbonosImp(cTasaCuota) Sino Si tCargosAbonosImp(cTipoFac01) = 2 lTasaCuota = 'Exento' Sino lTasaCuota = '0.00' FinSi FinSi ws.Range('Y' & gRenActual).Value = lTasaCuota[C0] Si tCargosAbonosImp(cTipoFac01) != -1 lNeto = tCargosAbonosImp(cNeto) Sino lNeto = 0 FinSi ws.Range('Z' & gRenActual).Value = lNeto[C0] Si tCargosAbonosImp(cTipoFac01) != -1 Y tCargosAbonosImp(cTipoFac01) != 2 Y (tCargosAbonosImp(cObjImpu01) = '02' O @len(tCargosAbonosImp(cObjImpu01)) = 0) lTasa = tCargosAbonosImp(cTasa) Sino lTasa = 0 FinSi ws.Range('AA' & gRenActual).Value = lTasa[C0] Si tCargosAbonosImp(cTipoFac01) != -1 Si tMonedaIngreso(cClaveSAT) != 'MXN' lNetoMXN = tCargosAbonosImp(cNeto) * tAbono(cTipoCam01) Sino lNetoMXN = tCargosAbonosImp(cNeto) FinSi Sino lNetoMXN = 0 FinSi ws.Range('AB' & gRenActual).Value = lNetoMXN[C0] Si tCargosAbonosImp(cTipoFac01) != -1 Y tCargosAbonosImp(cTipoFac01) != 2 Y (tCargosAbonosImp(cObjImpu01) = '02' O @len(tCargosAbonosImp(cObjImpu01)) = 0) Si tMonedaIngreso(cClaveSAT) != 'MXN' lTasaMXN = tCargosAbonosImp(cTasa) * tAbono(cTipoCam01) Sino lTasaMXN = tCargosAbonosImp(cTasa) FinSi Sino lTasaMXN = 0 FinSi ws.Range('AC' & gRenActual).Value = lTasaMXN[C0] gRenActual = gRenActual + 1 tCargosAbonosImp.BUSCA SIGUIENTE[1] FinMientras tAbono.BUSCA SIGUIENTE[1] FinMientras gFechaBusqueda = fFechaSiguiente(gFechaBusqueda) FinMientras