/*GPER884.INI V1.2 - Modelo 2017 - 20/03/2017*/ [XXX POSICIONAMENTOS] [XXX INICIALIZACION] (PRE) SRVPD->(DbSetOrder(1)) (PRE) _aTotal[072] := SRA->RA_FILIAL (PRE) _aTotal[073] := SRA->RA_MAT (PRE) _aTotal[074] := "" (PRE) _aTotal[075] := CFDCarEsp(Alltrim(SM0->M0_NOMECOM)) (PRE) _aTotal[076] := StrZero(Year(Date()),4) + "-" + StrZero(Month(Date()),2) + "-" + StrZero(Day(Date()),2) + "T" + Time() (PRE) _aTotal[077] := Alltrim(MV_PAR01)+Alltrim(MV_PAR02)+Alltrim(MV_PAR03)+Alltrim(MV_PAR04) (PRE) _aTotal[078] := Alltrim(SRA->RA_MAT)+Alltrim(SRA->RA_FILIAL) (PRE) _aTotal[098] := "|" (PRE) _aTotal[099] := "||" (PRE) _aTotal[100] := "" //CADENA ORIGINAL [SRA CADENAORIGINAL_SELLO] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11" //Cadena Original (PRE) cCadOrig := _aTotal[099] //Version (PRE) cCadOrig += "4.0" + _aTotal[098] //SerieExportacion (PRE) cCadOrig += _aTotal[078] Alltrim("01") + _aTotal[098] //FolioMetodo Pago (PRE) cCadOrig += _aTotal[077] Alltrim("PUE") + _aTotal[098] //FechaLugar de expedición (PRE) cCadOrig += Alltrim(_aTotal[076]CFDCarEsp(AllTrim(RGC->RGC_CODPOS)) + _aTotal[098] //Num CertificadoTipo Relacionados (PRE) cCadOrig += SuperGetMv("MV_CFDI_CS",,"") + _aTotal[098]NodoRelacc(3) //SubtotalUUIDS Relacionados (PRE) cCadOrig += Alltrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP), 2), "99999999.99")) + _aTotal[098] //DescuentoNodoRelacc(1) //COMPROBANTE:EMISOR //:RFC (PRE) cCadOrig += Alltrim(Transform(Round(nOtroDedu+nImpReten,2), "99999999.99"CFDCarEsp(Alltrim(SM0->M0_CGC)) + _aTotal[098] //Moneda:Nombre (PRE) cCadOrig += Alltrim("MXN"SM0->M0_NOMECOM) + _aTotal[098] //Total:Regimen (PRE) cCadOrig += Alltrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP) - (nOtroDedu + nImpReten), 2), "99999999.99")) + cTipoReg + _aTotal[098] //COMPROBANTE:RECEPTOR //Tipo Comprobante:RFC (PRE) cCadOrig += Alltrim("N"CFDCarEsp(AllTrim(SRA->RA_CIC)) + _aTotal[098] //Exportacion:Nombre (PRE) cCadOrig += Alltrim("01"SRA->RA_NOME) + _aTotal[098] //Metodo Pago:DomicilioFiscalReceptor (PRE) cCadOrig += Alltrim("PUE"CFDCarEsp(Alltrim(SRA->RA_CEP)) + _aTotal[098] //Lugar de expedición:RegimenFiscalReceptor (PRE) cCadOrig += CFDCarEsp(AllTrim(RGC->RGC_CODPOS(Alltrim(Iif(SRA->(ColumnPos("RA_FISCALI")) > 0,SRA->RA_FISCALI,""))) + _aTotal[098] //Tipo Relacionados:UsoCFDI (PRE) cCadOrig += NodoRelaccAlltrim("CN01") + _aTotal[098] //COMPROBANTE:CONCEPTOS3) //UUIDS RelacionadosClave Servicio (PRE) cCadOrig += NodoRelaccAllTrim(1)"84111505")+ _aTotal[098] //COMPROBANTE:EMISOR //:RFC:Cantidad (PRE) cCadOrig += CFDCarEsp( Alltrim(SM0->M0_CGC)) "1")+ _aTotal[098] //:NombreUnidad de medida (PRE) cCadOrig += Alltrim(SM0->M0_NOMECOM"ACT")+ _aTotal[098] //:RegimenDescripcion (PRE) cCadOrig += cTipoReg DECODEUTF8(AllTrim("Pago de nómina")) + _aTotal[098]//COMPROBANTE:RECEPTOR //:RFCvalorUnitario (PRE) cCadOrig += CFDCarEsp(AllTrim(SRA->RA_CICAllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99")) + _aTotal[098] //:NombreImporte (PRE) cCadOrig += CFDCarEsp(Alltrim(SRA->RA_NOMEAllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99")) + _aTotal[098] //:DomicilioFiscalReceptorTotalDeducciones (PRE) cCadOrig += CFDCarEspAlltrim(Transform(Alltrim(SRA->RA_CEPRound(nTotDGrav+nTotDExen,2), "99999999.99")) + _aTotal[098] //:RegimenFiscalReceptorObjetoImp (PRE) cCadOrig += CFDCarEsp( Alltrim(Iif(SRA->(ColumnPos("RA_FISCALI")) > 0,SRA->RA_FISCALI,""))) "01")+ _aTotal[098] //NOMINA //:UsoCFDIversion (PRE) cCadOrig += Alltrim( "CN011.2" ) + _aTotal[098] //COMPROBANTE:CONCEPTOS //Clave Servicio TipoNomina (PRE) cCadOrig += AllTrim("84111505IIf(SRY->RY_TIPO == "1" .And. !lImprIndem, "O", "E") + _aTotal[098] //:CantidadFechaPago (PRE) cCadOrig += Alltrim(STR(YEAR("1"dFchPag)))+"-"+ STRZERO(MONTH(dFchPag),2) +"-"+STRZERO(DAY(dFchPag),2) + _aTotal[098] //:Unidad de medidaFechaInicialPago (PRE) cCadOrig += Alltrim(STR(YEAR(dFchInPag)))+"-"+ STRZERO("ACT")MONTH(dFchInPag),2) +"-"+STRZERO(DAY(dFchInPag),2) + _aTotal[098] //:Descripcion (PRE) cCadOrig += DECODEUTF8(AllTrim("Pago de nómina")FechaFinalPago (PRE) cCadOrig += Alltrim(STR(YEAR(dFchFiPag)))+"-"+ STRZERO(MONTH(dFchFiPag),2) +"-"+STRZERO(DAY(dFchFiPag),2) + _aTotal[098] //:valorUnitarioNumDiasPagados (PRE) cCadOrig += AllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99")) Alltrim(IIf(nDiasPag == 0, "1", Transform(nDiasPag, "99999.999"))) + _aTotal[098] //ImporteTotalPercepciones (PRE) cCadOrig += AllTrimIIf(nTotPGrav+nTotPExen <> 0, Alltrim(Transform(Round(nTotPGrav+nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99")) + _aTotal[098], "") //TotalDeducciones (PRE) cCadOrig += IIf(nTotDGrav+nTotDExen <> 0, Alltrim(Transform(Round(nTotDGrav+nTotDExen,2), "99999999.99")) + _aTotal[098], "") //ObjetoImpTotalOtrosPagos (PRE) cCadOrig += Alltrim("01")IIf(nTotOtroP <> 0 .And. !lRegAsimil, AllTrim(Transform(Round(nTotOtroP,2), "99999999.99")) + _aTotal[098], "") //NOMINAEMISOR //versionRegistroPatronal (PRE) cCadOrig += "1.2" IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, AllTrim(cRegPatr) + _aTotal[098], "") //TipoNominaRfcPatronOrigen (PRE) cCadOrig += IIfCFDCarEsp(Alltrim(SRYSM0->RY_TIPO == "1" .And. !lImprIndem, "O", "E">M0_CGC)) + _aTotal[098] //FechaPagoEntidadSNCF (PRE) IIf(!Empty(cOrigRecur), cCadOrig += Alltrim(STR(YEAR(dFchPag))cOrigRecur) + _aTotal[098], "-"+ STRZERO(MONTH(dFchPag),2) +"-"+STRZERO(DAY(dFchPag),2") (PRE) IIf(!Empty(cOrigRecur), cCadOrig += Alltrim(Transform(Round(nTotPGrav+nTotPExen,2), "99999999.99")) + _aTotal[098], "") //RECEPTOR //FechaInicialPagoCurp (PRE) cCadOrig += Alltrim(STR(YEAR(dFchInPag)))+"-"+ STRZERO(MONTH(dFchInPag),2) +"-"+STRZERO(DAY(dFchInPag),2SRA->RA_CURP) + _aTotal[098] //NumSeguridadSocial (PRE) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += AllTrim(SRA->RA_RG) + _aTotal[098], "") //FechaFinalPagoFechaInicioRelLaboral (PRE) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += AlltrimAllTrim(STRStr(YEARYear(dFchFiPagdFchInLab))) + "-" + STRZEROStrZero(MONTHMonth(dFchFiPagdFchInLab),2) + "-" + STRZEROStrZero(DAYDay(dFchFiPagdFchInLab),2) + _aTotal[098], "") //NumDiasPagadosAntigüedad (PRE) cCadOrig += Alltrim(Str(IIf(nDiasPag == 0, 1, nDiasPag))) + _aTotal[098] //TotalPercepciones (PRE) cCadOrig += IIf(nTotPGrav+nTotPExen <> 0, Alltrim(Transform(Round(nTotPGrav+nTotPExen,2), "99999999.99")) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += 'P' + AllTrim(Str(nAntigue)) + 'W' + _aTotal[098], "") //TotalDeduccionesTipoContrato (PRE) cCadOrig += IIf(nTotDGrav+nTotDExen <> 0, Alltrim(Transform(Round(nTotDGrav+nTotDExen,2), "99999999.99"lImprIndem,"99", Alltrim(SRA->RA_TIPCON)) + _aTotal[098], "")] //TotalOtrosPagosSindicalizado (PRE) IIf(SRA->RA_CATFUNC <> 'A', cCadOrig += IIf(nTotOtroP <> 0 !Empty(SRA->RA_SINDICA) .And. !lRegAsimil, AllTrim(Transform(Round(nTotOtroP,2), "99999999.99")"SÃ", "No") + _aTotal[098], "") //EMISORTipoJornada //RegistroPatronal (PRE) cCadOrig += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, , cCadOrig += AllTrim(cRegPatrcTipJorn) + _aTotal[098], "") //RfcPatronOrigenTipoRegimen (PRE) cCadOrig += CFDCarEsp(Alltrim(SM0->M0_CGC)IIf(lImprIndem,"13",AllTrim(SRA->RA_TIPREG)) + _aTotal[098] //NumEmpleado (PRE) cCadOrig += AllTrim(SRA->RA_MAT) + _aTotal[098] //EntidadSNCFDepartamento //MOD (PRE) cCadOrig += IIf(!Empty(cOrigRecurcDeptoIm), cCadOrig += Alltrim(cOrigRecurAllTrim(cDeptoIm), "") + _aTotal[098], "") (PRE) cCadOrig += IIf(!Empty(cOrigRecurcDeptoIm), cCadOrig += Alltrim(Transform(Round(nTotPGrav+nTotPExen,2), "99999999.99")AllTrim(cDeptoIm) + _aTotal[098], "") //RECEPTOR //CurpPuesto (PRE) cCadOrig += Alltrim(SRA->RA_CURPIIf(!Empty(cPuesCfdi), AllTrim(cPuesCfdi) + _aTotal[098], "") //NumSeguridadSocialRiesgoPuesto (PRE) cCadOrig += IIf(!lRegAsimil .AND. !lImprIndem, IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += AllTrim(SRA->RA_RG) , AllTrim(cRiegCFDi), AllTrim("99")) + _aTotal[098], "") //FechaInicioRelLaboralPeriodicidadPago (PRE) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += AllTrimCFDCarEsp(StrAlltrim(Year(dFchInLab))) + "-" + StrZero(Month(dFchInLab),2) + "-" + StrZero(Day(dFchInLab),2IIf(SRY->RY_TIPO == "1",cPerCFDi, "99"))) + _aTotal[098], "") //AntigüedadBanco (PRE) IIf(!Empty(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndemCLABE),,cCadOrig += 'P' + AllTrim(Str(nAntigue)) + 'W' + IIf(!Empty(cBcoCfdi), Alltrim(cBcoCfdi) + _aTotal[098], "")) //TipoContratoCLABE (PRE) cCadOrig += IIf(lImprIndem,"99"!Empty(SRA->RA_CLABE), Alltrim(SRA->RA_CLABE), Alltrim(SRA->RA_TIPCONCTDEPSA)) + _aTotal[098] //SindicalizadoSalarioBaseCotApor (PRE) IIf(SRA->RA_CATFUNC <> 'A', cCadOrig += IIf(!Empty(SRA->RA_SINDICA) .And. !lRegAsimil, "SÃ", "No"Alltrim(Transform(Round(nSalBasAp,2), "99999999.99")) + _aTotal[098], "") //TipoJornadaSalarioDiarioIntegrado (PRE) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += AllTrim(cTipJorn) + _aTotal[098], "") //TipoRegimen (PRE) cCadOrig += IIf(lImprIndem,"13",AllTrim(SRA->RA_TIPREG(Transform(Round(SRA->RA_SALINT,2), "99999999.99")) + _aTotal[098], "") //NumEmpleadoClaveEntFed (PRE) cCadOrig += AllTrim(SRA->RA_MATAlltrim(cEntFed) + _aTotal[098] //DepartamentoSUBCONTRATACION //MOD RfcLabora (PRE) cCadOrig += IIf(!Empty(cDeptoIm), AllTrim(cDeptoIm), "") + _aTotal[098] (PRE) cCadOrig += IIf(!Empty(cDeptoIm), AllTrim(cDeptoIm) + SRA->RA_PORSUB <> 0, Alltrim(SRA->RA_RFCLAB) + _aTotal[098], "") //PuestoPorcentajeTiempo (PRE) cCadOrig += IIf(!Empty(cPuesCfdi), AllTrim(cPuesCfdi+= IIf(SRA->RA_PORSUB <> 0, Alltrim(Str(SRA->RA_PORSUB)) + _aTotal[098], "") //PERCEPCIONES //RiesgoPuestoTotalSueldos (PRE) IIf(nTotSueld <> 0, cCadOrig += IIf(!lRegAsimil .AND. !lImprIndem, IIf(SRA->RA_CATFUNC <> 'A', AllTrim(cRiegCFDi), AllTrim("Alltrim(Transform(Round(nTotSueld,2), "99999999.99")) + _aTotal[098], "") //PeriodicidadPagoTotalSeparacionIndemnizacion (PRE) IIf(nTotIndem <> 0, cCadOrig += CFDCarEspAlltrim(AlltrimTransform(IIf(SRY->RY_TIPO == "1",cPerCFDi, "99")Round(nTotIndem,2), "99999999.99")) + _aTotal[098], "") //BancoTotalJubilacionPensionRetiro (PRE) IIf(!Empty(SRA->RA_CLABE),nTotJubil <> 0, cCadOrig += IIf(!Empty(cBcoCfdi), Alltrim(cBcoCfdiAlltrim(Transform(Round(nTotJubil,2), "99999999.99")) + _aTotal[098], "")) //CLABETotalGravado (PRE) cCadOrig += IIf(!Empty(SRA->RA_CLABE), Alltrim(SRA->RA_CLABE), Alltrim(SRA->RA_CTDEPSAAlltrim(Transform(Round(nTotPGrav,2), "99999999.99")) + _aTotal[098] //SalarioBaseCotAporTotalExento (PRE) IIf(SRA->RA_CATFUNC <> 'A', cCadOrig += Alltrim(Transform(Round(nSalBasApnTotPExen,2), "99999999.99")) + _aTotal[098], " //PERCEPCION (AccionesOTitulos y/o Horas Extras) (PRE) VldCad884("1") //JubilacionPensionRetiro /SalarioDiarioIntegrado/TotalUnaExhibicion (PRE) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndemnTotUnaEx <> 0, cCadOrig += AllTrimAlltrim(Transform(Round(SRA->RA_SALINTnTotUnaEx,2), "99999999.99")) + _aTotal[098], "") //ClaveEntFed (PRE) cCadOrig += Alltrim(cEntFed")) + _aTotal[098], "") //SUBCONTRATACIONTotalParcialidad //RfcLabora (PRE) cCadOrig += IIf(SRA->RA_PORSUB nTotParci <> 0, cCadOrig += Alltrim(SRA->RA_RFCLAB(Transform(Round(nTotParci,2), "99999999.99")) + _aTotal[098], "") //PorcentajeTiempoMontoDiario (PRE) cCadOrig += IIf(SRA->RA_PORSUB nTotParci <> 0, cCadOrig += Alltrim(Transform(Str(SRA->RA_PORSUBRound(nTotDiari,2), "99999999.99")) + _aTotal[098], "") //PERCEPCIONES //TotalSueldosIngresoAcumulable (PRE) IIf(nTotSueld nTotUnaEx+nTotParci <> 0, cCadOrig += Alltrim(Transform(Round(nTotSueldnTotIAcum,2), "99999999.99")) + _aTotal[098], "") //TotalSeparacionIndemnizacionIngresoNoAcumulable (PRE) IIf(nTotIndem nTotUnaEx+nTotParci <> 0, cCadOrig += Alltrim(Transform(Round(nTotIndemNTotNAcum,2), "99999999.99")) + _aTotal[098], "") //TotalJubilacionPensionRetiroSeparacionIndemnizacion //TotalPagado (PRE) IIf(nTotJubil nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nTotJubilnTotPagad,2), "99999999.99")) + _aTotal[098], "") //TotalGravadoNumAñosServicio (PRE) IIf(nTotPagad <> 0, cCadOrig += Alltrim(TransformStr(Round(nTotPGrav,2), "99999999.99"IIf(nNumAnios==0, 1, nNumAnios))) + _aTotal[098], "") //TotalExentoUltimoSueldoMensOrd (PRE) IIf(nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nTotPExennUltSuelM,2), "99999999.99")) + _aTotal[098] //PERCEPCION (AccionesOTitulos y/o Horas Extras) (PRE) VldCad884("1, "") //JubilacionPensionRetiro //TotalUnaExhibicionIngresoAcumulable (PRE) IIf(nTotUnaEx nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nTotUnaExnIngrAcum,2), "99999999.99")) + _aTotal[098], "") //TotalParcialidadIngresoNoAcumulable (PRE) IIf(nTotParci nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nTotParcinIngrNAcu,2), "99999999.99")) + _aTotal[098], "") //DEDUCCIONES //MontoDiarioTotalOtrasDeducciones (PRE) IIf(nTotParci nOtroDedu <> 0, cCadOrig += Alltrim(Transform(Round(nTotDiarinOtroDedu,2), "99999999.99")) + _aTotal[098], "") //IngresoAcumulableTotalImpuestosRetenidos (PRE) IIf(nTotUnaEx+nTotParci nImpReten <> 0, cCadOrig += Alltrim(Transform(Round(nTotIAcumnImpReten,2), "99999999.99")) + _aTotal[098], "") //IngresoNoAcumulableDEDUCCION (PRE) VldCad884("2") //OtroPago //TipoOtroPago (SubsidioAlEmpleo - CompensacionSaldosAFavor) (PRE) IIf(nTotUnaEx+nTotParci <> 0, cCadOrig += Alltrim(Transform(Round(NTotNAcum,2), "99999999.99")) + _aTotal[098], "") //SeparacionIndemnizacion //TotalPagado (PRE) IIf(nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nTotPagad,2), "99999999.99")) + _aTotal[098], "") //NumAñosServicio (PRE) IIf(nTotPagad <> 0, cCadOrig += Alltrim(Str(IIf(nNumAnios==0, 1, nNumAnios))) + _aTotal[098], "") //UltimoSueldoMensOrd (PRE) IIf(nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nUltSuelM,2), "99999999.99")) + _aTotal[098], "") //IngresoAcumulable (PRE) IIf(nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nIngrAcum,2), "99999999.99")) + _aTotal[098], "") //IngresoNoAcumulable (PRE) IIf(nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nIngrNAcu,2), "99999999.99")) + _aTotal[098], "") //DEDUCCIONES //TotalOtrasDeducciones (PRE) IIf(nOtroDedu <> 0, cCadOrig += Alltrim(Transform(Round(nOtroDedu,2), "99999999.99")) + _aTotal[098], "") //TotalImpuestosRetenidos (PRE) IIf(nImpReten <> 0, cCadOrig += Alltrim(Transform(Round(nImpReten,2), "99999999.99")) + _aTotal[098], "") //DEDUCCION (PRE) VldCad884("2") //OtroPago //TipoOtroPago (SubsidioAlEmpleo - CompensacionSaldosAFavor) (PRE) IIf(!lRegAsimil, VldCad884("3"), .T.) //Incapacidad (PRE) VldCad884("4") (PRE) cCadOrig += _aTotal[098] (POS) _aTotal[074] := ENCODEUTF8(cCadOrig) (POS) cCadOrig := ENCODEUTF8(cCadOrig) //Sello (POS) _aTotal[100] := LjHex2Asc(SHA256(cCadOrig,2)) (POS) _aTotal[100] := PrivSignRSA(&(SuperGetMv("MV_CFDDIRS",,""))+SuperGetMv("MV_CFDI_KP",,""),_aTotal[100],6,"assinatura") (POS) _aTotal[100] := ENCODE64(_aTotal[100]) // C O N F I G U R A C I O N D E L A R C H I V O : R E C N O M . INI [XXX CABECERA] Linha1 C 041 0 Chr(239) + Chr(187) + Chr(191) + '<?xml version="1.0" encoding="UTF-8"?>' //CFDI: CFDI:COMPROBANTE [XXX CFDI] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11" !lRegAsimil, VldCad884("3"), .T.) //Incapacidad (PRE) VldCad884("4") (PRE) cCadOrig += _aTotal[098] (POS) _aTotal[074] := ENCODEUTF8(cCadOrig) (POS) cCadOrig := ENCODEUTF8(cCadOrig) //Sello (POS) _aTotal[100] := LjHex2Asc(SHA256(cCadOrig,2)) (POS) _aTotal[100] := PrivSignRSA(&(SuperGetMv("MV_CFDDIRS",,""))+SuperGetMv("MV_CFDI_KP",,""),_aTotal[100],6,"assinatura") (POS) _aTotal[100] := ENCODE64(_aTotal[100]) // C O N F I G U R A C I O N D E L A R C H I V O : R E C N O M . INI [XXX CABECERA] Linha1 C 041 0 Chr(239) + Chr(187) + Chr(191) + '<?xml version="1.0" encoding="UTF-8"?>' //CFDI: CFDI:COMPROBANTE [XXX CFDI] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11" //Certificado //CSD_XIA190128J61c.pem XIA190128J61 - pruebas SAT (PRE) cCert01 := "MIIFyDCCA7CgAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDI0NDMwDQYJKoZIhvcNAQEL" (PRE) cCert01 += "BQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFE" (PRE) cCert01 += "TUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9y" (PRE) cCert01 += "aXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0w" (PRE) cCert01 += "GwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJ" (PRE) cCert01 += "BgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhD" (PRE) cCert01 += "T1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3Bv" (PRE) cCert01 += "bnNhYmxlOiBBQ0RNQS1TQVQwHhcNMTkwNjE3MjA0MDUxWhcNMjMwNjE3MjA0MDUx" (PRE) cCert01 += "WjCB7zEqMCgGA1UEAxMhWEVOT04gSU5EVVNUUklBTCBBUlRJQ0xFUyBTIERFIENW" (PRE) cCert01 += "MSowKAYDVQQpEyFYRU5PTiBJTkRVU1RSSUFMIEFSVElDTEVTIFMgREUgQ1YxKjAo" (PRE) cCert01 += "BgNVBAoTIVhFTk9OIElORFVTVFJJQUwgQVJUSUNMRVMgUyBERSBDVjElMCMGA1UE" (PRE) cCert01 += "LRMcWElBMTkwMTI4SjYxIC8gS0FITzY0MTEwMUIzOTEeMBwGA1UEBRMVIC8gS0FI" (PRE) cCert01 += "TzY0MTEwMUhOVExLUzA2MSIwIAYDVQQLExlYZW5vbiBJbmR1c3RyaWFsIEFydGlj" (PRE) cCert01 += "bGVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiJQ5YcSgjwsGf29+" (PRE) cCert01 += "3go7VGdtMZCcH9wUpn46ZMAlFwUojnCPTvwJ3+cSwjqJnw8ahr3DuRwekvGR4BJA" (PRE) cCert01 += "b5b9Xi8kyoiWtwcGOSWxO38Bp9J1e/BO9HMbQBPAtLDuG47oqnH8zWLOeaoYRJDp" (PRE) cCert01 += "ARw4RX1ko2+9tbj0ntBtM7Vk1E8EWiA/h2Meq0LIv1+ySGTUrEW46FM01J5pzELv" (PRE) cCert01 += "5XupBghuJxR5DG9fiOW7u3dR5s3tZoVLwA1KdjJtY0mmnfCwxg6i5AqhvY+FAI5D" (PRE) cCert01 += "6CF6/lHA8PWg63WasvrhuIv70xCLjgPT/j00ZcPrLvBf1DefGVic980Ch/SDvC+M" (PRE) cCert01 += "dJ1F5wIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG" (PRE) cCert01 += "9w0BAQsFAAOCAgEACjfTPoKY2N5MxjmAMltd5XZCV1vgAwEtrIRYTodhE8R0Tp1Q" (PRE) cCert01 += "anAXb0luPyBv5hIXWK4VqAI4fcTtP+n7kkrwfha6ErkPWFNJWJm8ZsMmby/3WgVo" (PRE) cCert01 += "JkOFyRYQqr5Il3N6wMa5kiDBtDRbqB3iEXmvtrvjWSHyxAER+zo3jWGFlhBZ0nQN//Certificado //CSD_XIA190128J61c.pem XIA190128J61 - pruebas SAT (PRE) cCert01 := "MIIFyDCCA7CgAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDI0NDMwDQYJKoZIhvcNAQEL" (PRE) cCert01 += "BQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFERtjx8sPFihVc5TUH682HJiU4oWvT63Dnra8ncqiW/uCuY86crnUq0fW7Lw/3+PY5" (PRE) cCert01 += "TUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yxXjNxR/Hh3sUPITfJrGaLWurD1J9npr9yGAJ6t9zrhhZnepIC0DUMc5+j4pg1DrO" (PRE) cCert01 += "aXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0w32jzwUOLQqErDizh84NoJCWwbg+US8wi3zD0ZKiDv7XsTNWAW2Ap2JkzykKHjFTZ" (PRE) cCert01 += "GwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJ"cCert01 += "iEm3uZOkJNfcu3o+kefr5HfXFT+iN9K5FUEhaQwgUeZBRJ8V5F6gmhz3d6ixVbiZ" (PRE) cCert01 += "BgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDoFNhYR8e2k8gF9gGrVMrEbJGQrl+6+ZYQLFiauXeG7fu1svk19PuyredRJGnseJq" (PRE) cCert01 += "T1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvyV4RzcRGhJA+cLnmpdDOTEhignnvnhEuY6HVRYYXhOTyeeluET7KRCxbJGqO7TdW" (PRE) cCert01 += "bnNhYmxlOiBBQ0RNQS1TQVQwHhcNMTkwNjE3MjA0MDUxWhcNMjMwNjE3MjA0MDUxgjrHL3HRbNE4NY5GAdOZuLaWxElG5ZVCHqtG0Nh7UQAhcz+EKyZBAewv5XuH0Oom" (PRE) cCert01 += "WjCB7zEqMCgGA1UEAxMhWEVOT04gSU5EVVNUUklBTCBBUlRJQ0xFUyBTIERFIENWZXw6mM2mY2soL6z1224NusM8/BbJcYTQUlAEKblEChhGK1XlxiVOU2nc9KE=" (PRE) cCert01 += "MSowKAYDVQQpEyFYRU5PTiBJTkRVU1RSSUFMIEFSVElDTEVTIFMgREUgQ1YxKjAo"if (SM0->M0_CODIGO == '01', cCert := cCert01,cCert := cCert01) (PRE) cCert01 += "BgNVBAoTIVhFTk9OIElORFVTVFJJQUwgQVJUSUNMRVMgUyBERSBDVjElMCMGA1UE"_aTotal[001] := '<cfdi:Comprobante' (PRE) cCert01 _aTotal[001] += "LRMcWElBMTkwMTI4SjYxIC8gS0FITzY0MTEwMUIzOTEeMBwGA1UEBRMVIC8gS0FI"' xmlns:cfdi="http://www.sat.gob.mx/cfd/4"' (PRE) cCert01 _aTotal[001] += "TzY0MTEwMUhOVExLUzA2MSIwIAYDVQQLExlYZW5vbiBJbmR1c3RyaWFsIEFydGlj"' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' (PRE) cCert01 += "bGVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiJQ5YcSgjwsGf29+"_aTotal[001] += ' xmlns:nomina12="http://www.sat.gob.mx/nomina12"' (PRE) cCert01 += "3go7VGdtMZCcH9wUpn46ZMAlFwUojnCPTvwJ3+cSwjqJnw8ahr3DuRwekvGR4BJA" (PRE) cCert01 += "b5b9Xi8kyoiWtwcGOSWxO38Bp9J1e/BO9HMbQBPAtLDuG47oqnH8zWLOeaoYRJDp" (PRE) cCert01 += "ARw4RX1ko2+9tbj0ntBtM7Vk1E8EWiA/h2Meq0LIv1+ySGTUrEW46FM01J5pzELv" (PRE) cCert01 += "5XupBghuJxR5DG9fiOW7u3dR5s3tZoVLwA1KdjJtY0mmnfCwxg6i5AqhvY+FAI5D" (PRE) cCert01 += "6CF6/lHA8PWg63WasvrhuIv70xCLjgPT/j00ZcPrLvBf1DefGVic980Ch/SDvC+M" (PRE) cCert01 += "dJ1F5wIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG" (PRE) cCert01 += "9w0BAQsFAAOCAgEACjfTPoKY2N5MxjmAMltd5XZCV1vgAwEtrIRYTodhE8R0Tp1Q" (PRE) cCert01 += "anAXb0luPyBv5hIXWK4VqAI4fcTtP+n7kkrwfha6ErkPWFNJWJm8ZsMmby/3WgVo" (PRE) cCert01 += "JkOFyRYQqr5Il3N6wMa5kiDBtDRbqB3iEXmvtrvjWSHyxAER+zo3jWGFlhBZ0nQN" (PRE) cCert01 += "Rtjx8sPFihVc5TUH682HJiU4oWvT63Dnra8ncqiW/uCuY86crnUq0fW7Lw/3+PY5" (PRE) cCert01 += "xXjNxR/Hh3sUPITfJrGaLWurD1J9npr9yGAJ6t9zrhhZnepIC0DUMc5+j4pg1DrO" (PRE) cCert01 += "32jzwUOLQqErDizh84NoJCWwbg+US8wi3zD0ZKiDv7XsTNWAW2Ap2JkzykKHjFTZ" (PRE) cCert01 += "iEm3uZOkJNfcu3o+kefr5HfXFT+iN9K5FUEhaQwgUeZBRJ8V5F6gmhz3d6ixVbiZ" (PRE) cCert01 += "oFNhYR8e2k8gF9gGrVMrEbJGQrl+6+ZYQLFiauXeG7fu1svk19PuyredRJGnseJq" (PRE) cCert01 += "yV4RzcRGhJA+cLnmpdDOTEhignnvnhEuY6HVRYYXhOTyeeluET7KRCxbJGqO7TdW" (PRE) cCert01 += "gjrHL3HRbNE4NY5GAdOZuLaWxElG5ZVCHqtG0Nh7UQAhcz+EKyZBAewv5XuH0Oom" (PRE) cCert01 += "ZXw6mM2mY2soL6z1224NusM8/BbJcYTQUlAEKblEChhGK1XlxiVOU2nc9KE=" (PRE) if (SM0->M0_CODIGO == '01', cCert := cCert01,cCert := cCert01) (PRE) _aTotal[001] := '<cfdi:Comprobante_aTotal[001] += ' xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd http://www.sat.gob.mx/nomina12 http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina12.xsd"' (PRE) _aTotal[001] += ' Version="4.0"' (PRE) _aTotal[001] += ' Serie="' + _aTotal[078] + '"' (PRE) _aTotal[001] += ' Folio="' + _aTotal[077] + '"' (PRE) _aTotal[001] += ' Fecha="' + _aTotal[076]+ '"' (PRE) _aTotal[001] += ' Sello="' + Alltrim(_aTotal[100]) + '"' (PRE) _aTotal[001] += ' NoCertificado="' + SuperGetMv("MV_CFDI_CS",,"") + '"' (PRE) _aTotal[001] += ' Certificado="' + cCert + '"' (PRE) _aTotal[001] += ' SubTotal="' + AllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP), 2), "99999999.99")) + '"' (PRE) _aTotal[001] += ' Descuento="' + Alltrim(Transform(Round(nOtroDedu+nImpReten,2), "99999999.99")) + '"' (PRE) _aTotal[001] += ' Moneda="' + Alltrim("MXN") + '"' (PRE) _aTotal[001] += ' Total="' + AllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP) - (nOtroDedu + nImpReten), 2), "99999999.99")) + '"' (PRE) _aTotal[001] += ' xmlns:cfdi="http://www.sat.gob.mx/cfd/4TipoDeComprobante="' + AllTrim("N") + '"' (PRE) _aTotal[001] += ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanceExportacion="' + Alltrim("01") + '"' (PRE) _aTotal[001] += ' xmlns:nomina12="http://www.sat.gob.mx/nomina12MetodoPago="' + Alltrim("PUE") + '"' (PRE) _aTotal[001] += ' xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd http://www.sat.gob.mx/nomina12 http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina12.xsdLugarExpedicion="' + CFDCarEsp(AllTrim(RGC->RGC_CODPOS)) + '"' (PRE) _aTotal[001] += ' Version="4.0">' (PRE) _aTotal[001] += ' Serie="' + := ENCODEUTF8(_aTotal[078] + '"'001]) (PREPREREG) _aTotal[001] += ' Folio="' + ] //COMPROBANTE: CFDI:CfdiRelacionado [XXX CfdiRelacionados] (PRE) _aTotal[077] + '"'001] := NodoRelacc(2) (PRE) _aTotal[001] += ' Fecha="' + := ENCODEUTF8(_aTotal[076]+ '"' 001]) (PREPREREG) _aTotal[001] //COMPROBANTE: CFDI:EMISOR [XXX EMISOR] (PRE) += ' Sello="' + Alltrim( _aTotal[100001] ) + '":= ' <cfdi:Emisor' (PRE) _aTotal[001] += ' NoCertificadoRfc="' + SuperGetMv("MV_CFDI_CS",,""CFDCarEsp(Alltrim(SM0->M0_CGC)) + '"' (PRE) _aTotal[001] += ' CertificadoNombre="' + cCert _aTotal[075] + '"' (PRE) _aTotal[001] += ' SubTotalRegimenFiscal="' + AllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP), 2), "99999999.99")) cTipoReg + '"' (PRE) _aTotal[001] += ' Descuento="' + Alltrim(Transform(Round(nOtroDedu+nImpReten,2)/>' (PRE) _aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001] //COMPROBANTE: CFDI:RECEPTOR [XXX RECEPTOR] (PREREG) (, "99999999.99")) + '"' (PRE) _aTotal[001] +:= ' Moneda="' + Alltrim("MXN") + '"' (PRE) <cfdi:Receptor' , .T.) (PREREG) (_aTotal[001] += ' TotalRfc="' + CFDCarEsp(AllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP) - (nOtroDedu + nImpReten), 2), "99999999.99")) SRA->RA_CIC)) + '"' , .T.) (PREPREREG) (_aTotal[001] += ' TipoDeComprobanteNombre="' + AllTrim("N"Alltrim(SRA->RA_NOME) + '"' , .T.) (PREPREREG) (_aTotal[001] += ' ExportacionDomicilioFiscalReceptor="' + CFDCarEsp(Alltrim("01"SRA->RA_CEP)) + '"' , .T.) (PREPREREG) (_aTotal[001] += ' MetodoPagoRegimenFiscalReceptor="' + CFDCarEsp(Alltrim(Iif(SRA->("PUE") + '"' (PRE) ColumnPos("RA_FISCALI")) > 0,SRA->RA_FISCALI,""))) + '"' , .T.) (PREREG) (_aTotal[001] += ' LugarExpedicionUsoCFDI="' + CFDCarEsp( AllTrim(RGC->RGC_CODPOS)"CN01") + '"' , .T.) (PREPREREG) (_aTotal[001] += '/>' ,.T.) (PREPREREG) (_aTotal[001] := ENCODEUTF8(_aTotal[001]) , .T.) (PREREG) _aTotal[001] //COMPROBANTE: CFDI CFDI:CfdiRelacionadoCOCEPTOS [XXX CfdiRelacionadosCONCEPTOS] (PRE) _aTotal[001] := NodoRelacc(2) (PRE) _aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001] //COMPROBANTE: CFDI:EMISOR [XXX EMISOR] (PRE) _aTotal[001] := ' <cfdi:Emisor' (PRE) _aTotal[001] += ' Rfc="' + CFDCarEsp(Alltrim(SM0->M0_CGC)) + '"' (PRE) _aTotal[001] += ' Nombre="' + _aTotal[075] + '"' (PRE) _aTotal[001] += ' RegimenFiscal="' + cTipoReg + '"' (PRE) _aTotal[001] += '/>' (PRE) _aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001] CONCEPTOS C 021 0 ENCODEUTF8(XMLConv("",,,"cfdi:Conceptos",.T.,.F.,4)) [XXX CONCEPTO] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11" (PREREG) (_aTotal[002] := ' <cfdi:Concepto',.T.) (PREREG) (_aTotal[002] += ' ClaveProdServ="'+AllTrim("84111505")+'"',.T.) (PREREG) (_aTotal[002] += ' Cantidad="' + Alltrim("1") + '"',.T.) //COMPROBANTE: CFDI:RECEPTOR [XXX RECEPTOR] (PREREG) (_aTotal[001] := ' <cfdi:Receptor002] += ' ClaveUnidad="' + Alltrim("ACT") + '"',.T.) (PREREG) (_aTotal[001002] += ' RfcDescripcion="' + CFDCarEspDECODEUTF8(AllTrim(SRA->RA_CIC"Pago de nómina")) + '"',.T.) (PREREG) (_aTotal[001002] += ' NombreValorUnitario="' + CFDCarEsp(Alltrim(SRA->RA_NOMEAlltrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99")) + '"',.T.) (PREREG) (_aTotal[001] += ' DomicilioFiscalReceptor="' + CFDCarEsp(Alltrim(SRA->RA_CEP002] += ' Importe="' + Alltrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99")) + '"',.T.) (PREREG) (_aTotal[001002] += ' RegimenFiscalReceptorDescuento="' + CFDCarEsp( Alltrim(IifTransform(SRA->(ColumnPos("RA_FISCALI")) > 0,SRA->RA_FISCALI,"Round(nTotDGrav+nTotDExen,2), "99999999.99")) ) + '"',.T.) (PREREG) (_aTotal[001002] += ' UsoCFDIObjetoImp="' + CFDCarEspAlltrim("CN0101") + '"',.T.) (PREREG) (_aTotal[001002] += '/>',.T.) (PREREG) (_aTotal[001] := 078] ++,.T.) (PREREG) ENCODEUTF8(_aTotal[001002]) [XXX CONCEPTOS] CONCEPTOS C 021 0 ENCODEUTF8(XMLConv("",,,"cfdi:Conceptos",.F.,.T.,4) (PREREG) _aTotal[001] //COMPROBANTECOMPLEMENTO: CFDI:COCEPTOSCOMPLEMENTO [XXX CONCEPTOSCOMPLEM] CONCEPTOS COMPLEM C 021 023 0 ENCODEUTF8(XMLConv("",,,"cfdi:ConceptosComplemento",.T.,.F.,4)) //COMPLEMENTO: NOMINA:NOMINA [XXX CONCEPTONOMINA] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11" (PREREGPRE) ( _aTotal[002001] := ' <cfdi:Concepto',.T.) (PREREG) (_aTotal[002] += ' ClaveProdServ="'+AllTrim("84111505")+'"',.T.) (PREREG) (_aTotal[002] += ' Cantidad="' + Alltrim("1") + '"',.T.) (PREREG) (_aTotal[002] += ' ClaveUnidad="' + Alltrim("ACT") + '"',.T.) (PREREG) (_aTotal[002] += ' Descripcion="' + DECODEUTF8(AllTrim("Pago de nómina")) + '"',.T.) (PREREG) (_aTotal[002] += ' ValorUnitario="' + Alltrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99")) + '"',.T.) (PREREG) (_aTotal[002] += ' Importe <nomina12:Nomina' (PRE) _aTotal[001] += ' Version="1.2"' (PRE) _aTotal[001] += ' TipoNomina="' + IIf(SRY->RY_TIPO == "1" .And. !lImprIndem, "O", "E") + '"' (PRE) _aTotal[001] += ' FechaPago="' + Alltrim(STR(YEAR(dFchPag)))+"-"+ STRZERO(MONTH(dFchPag),2) +"-"+STRZERO(DAY(dFchPag),2)+ '"' (PRE) _aTotal[001] += ' FechaInicialPago="' + Alltrim(STR(YEAR(dFchInPag)))+"-"+ STRZERO(MONTH(dFchInPag),2) +"-"+STRZERO(DAY(dFchInPag),2)+ '"' (PRE) _aTotal[001] += ' FechaFinalPago="' + Alltrim(STR(YEAR(dFchFiPag)))+"-"+ STRZERO(MONTH(dFchFiPag),2) +"-"+STRZERO(DAY(dFchFiPag),2)+ '"' (PRE) _aTotal[001] += ' NumDiasPagados="' + Alltrim(IIf(nDiasPag == 0, "1", Transform(nDiasPag, "99999.999"))) + '"' (PRE) _aTotal[001] += IIf(nTotPGrav+nTotPExen <> 0, ' TotalPercepciones="' + Alltrim(Transform(Round(nTotPGrav+nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99")) + '"', .T."") (PREREGPRE) ( _aTotal[002001] += ' DescuentoIIf(nTotDGrav+nTotDExen <> 0, ' TotalDeducciones="' + Alltrim(Transform(Round(nTotDGrav+nTotDExen,2), "99999999.99")) + '"', .T."") (PREREGPRE) ( _aTotal[002001] += ' ObjetoImpIIf(nTotOtroP <> 0 .And. !lRegAsimil, ' TotalOtrosPagos="' + Alltrim(Transform(Round("01nTotOtroP,2), "99999999.99")) + '" ', .T."") (PREREGPRE) ( _aTotal[002001] += '/>',.T.) (PREREGPRE) ( _aTotal[078] ++,.T.) (PREREG) 001] := ENCODEUTF8(_aTotal[002001])
[XXX CONCEPTOS] CONCEPTOS C 021 0 ENCODEUTF8(XMLConv("",,,"cfdi:Conceptos",.F.,.T.,4)) //COMPLEMENTO: CFDI:COMPLEMENTO [XXX COMPLEM] COMPLEM C 023 0 ENCODEUTF8(XMLConv("",,,"cfdi:Complemento",.T.,.F.,4)) (PREREG) _aTotal[001] [XXX EMISOR//COMPLEMENTO: NOMINA:NOMINA [XXX NOMINA] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11" (PREREG) (NodOpcion(6),.T.) (PRE) _aTotal[001] := ' <nomina12:NominaEmisor' (PRE) _aTotal[001] += ' Version="1.2"' (PRE) _aTotal[001] += ' TipoNomina="' + IIf(SRY->RY_TIPO == "1" IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, "O", "E") + '"' (PRE) _aTotal[001] += ' FechaPago' RegistroPatronal="' + Alltrim(STR(YEAR(dFchPag)))+"-"+ STRZERO(MONTH(dFchPag),2) +"-"+STRZERO(DAY(dFchPag),2cRegPatr) +'"' , "") (PRE) _aTotal[001] += ' FechaInicialPagoRfcPatronOrigen="' + CFDCarEsp(Alltrim(STR(YEAR(dFchInPag)))+"-"+ STRZERO(MONTH(dFchInPag),2) +"-"+STRZERO(DAY(dFchInPag),2)+ SM0->M0_CGC)) + '"' (PREPREREG) (_aTotal[001] += ' FechaFinalPago="' + IIf(Alltrim(STR(YEAR(dFchFiPag)))+"-"+ STRZERO(MONTH(dFchFiPag),2) +"-"+STRZERO(DAY(dFchFiPag),2)+ '"' (PRE) cOrigRecur) == "", '/>', '>'),.T.) (PREREG) (_aTotal[001] += ' NumDiasPagados="' + Alltrim(Str(IIf(nDiasPag == 0, 1, nDiasPag))) + '"' (PRE) IIf(Alltrim(cOrigRecur) == "", "", cCRLF + cNodoSNCF),.T.) (PREREG) ENCODEUTF8(_aTotal[001] += IIf(nTotPGrav+nTotPExen <> 0, ' TotalPercepciones="' + Alltrim(Transform(Round(nTotPGrav+nTotPExen,2), "99999999.99")) + '"', "")) (PREREG) ( Iif ((cOrigRecur <> ""),.T.,.F.)) EMISOR C 026 0 ENCODEUTF8(XMLConv("",,,"nomina12:Emisor",.F.,.T.,8)) //COMPROBANTE: CFDI:RECEPTOR [XXX RECEPTOR] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11" (PREREG) (NodOpcion(5),.T.) (PRE) _aTotal[001] := ' <nomina12:Receptor' (PRE) _aTotal[001] += IIf(nTotDGrav+nTotDExen <> 0, ' TotalDeducciones' Curp="' + Alltrim(Transform(Round(nTotDGrav+nTotDExen,2), "99999999.99")) SRA->RA_CURP) + '"', "") (PRE) _aTotal[001] += IIf(nTotOtroP <> 0 SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' TotalOtrosPagosNumSeguridadSocial="' + Alltrim(Transform(Round(nTotOtroP,2), "99999999.99")) + '" ', "") (PRE) _aTotal[001] += '>'AllTrim(SRA->RA_RG) +'"', "") (PRE) _aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001] [XXX EMISOR] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11" += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' FechaInicioRelLaboral="' + AllTrim(Str(Year(dFchInLab))) + "-" + StrZero(Month(dFchInLab),2) + "-" + StrZero(Day(dFchInLab),2) + '"', "")(PREREG) (NodOpcion(6),.T.) (PRE) _aTotal[001] := ' <nomina12:Emisor' (PRE) _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, DecodeUTF8(' RegistroPatronalAntigüedad="' + Alltrim(cRegPatr) ) + 'P' + AllTrim(Str(nAntigue)) + 'W' + '" ', "") (PRE) _aTotal[001] += ' RfcPatronOrigenTipoContrato="' + CFDCarEsp(Iif(lImprIndem,"99",Alltrim(SM0SRA->M0>RA_CGCTIPCON)) + '"' (PREREGPRE) ( _aTotal[001] += IIf(Alltrim(cOrigRecur) == "", '/>SRA->RA_CATFUNC <> 'A', ' >'),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(cOrigRecur) == "", "", cCRLF + cNodoSNCF),.T.) (PREREG) ENCODEUTF8(_aTotal[001]) (PREREG) ( Iif ((cOrigRecur <> ""),.T.,.F.)) EMISOR C 026 0 ENCODEUTF8(XMLConv("",,,"nomina12:Emisor",.F.,.T.,8)) //COMPROBANTE: CFDI:RECEPTOR [XXX RECEPTOR] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11" (PREREG) (NodOpcion(5),.T.Sindicalizado="' + IIf(!Empty(SRA->RA_SINDICA) .And. !lRegAsimil, "S�", "No") + '"', "") (PRE) _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil, ' TipoJornada="' + AllTrim(cTipJorn) + '"', "") (PRE) _aTotal[001] :+= ' TipoRegimen= ' <nomina12:Receptor"' + Iif(lImprIndem,"13",Alltrim(SRA->RA_TIPREG)) + '"' (PRE) _aTotal[001] += ' CurpNumEmpleado="' + Alltrim(SRA->RA_CURPMAT) +'"' (PRE) _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' NumSeguridadSocial= ' Departamento="' + Alltrim(cDeptoIm) + '"' (PRE) _aTotal[001] += ' Puesto="' + AllTrim(SRA->RA_RGAlltrim(cPuesCfdi) + '"', "") (PRE) IIf(!lRegAsimil .AND. !lImprIndem, _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' FechaInicioRelLaboral="' + AllTrim(Str(Year(dFchInLab))) + "-" + StrZero(Month(dFchInLab),2) + "-" + StrZero(Day(dFchInLab),2, ' RiesgoPuesto="' + AllTrim(cRiegCFDi) + '"', ' RiesgoPuesto="' + AllTrim("99") + '"'), "".T.) (PRE) _aTotal[001] += ' PeriodicidadPago="' + CFDCarEsp(Alltrim(IIf(SRASRY->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, DecodeUTF8(' Antigüedad="') + 'P' + AllTrim(Str(nAntigue)) + 'W' + '" ', "">RY_TIPO == "1",cPerCFDi, "99"))) + '"' (PRE) IIf(!Empty(SRA->RA_CLABE), ,_aTotal[001] += ' Banco="' + Alltrim(cBcoCfdi) + '"') (PRE) _aTotal[001] += ' TipoContratoCuentaBancaria="' + Iif(lImprIndem,"99"+ IIf(!Empty(SRA->RA_CLABE), Alltrim(SRA->RA_CLABE), Alltrim(SRA->RA_TIPCONCTDEPSA)) + '"' (PRE) _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A', ' SindicalizadoSalarioBaseCotApor="' + IIf(!Empty(SRA->RA_SINDICA) .And. !lRegAsimil, "S�", "No"Alltrim(Transform(Round(nSalBasAp,2), "99999999.99")) + '"', "") (PRE) _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' TipoJornadaSalarioDiarioIntegrado="' + AllTrim(cTipJorn) + '"', "") (PRE) _aTotal[001] += ' TipoRegimen="' + Iif(lImprIndem,"13",AlltrimAlltrim(Transform(Round(SRA->RA_TIPREG)) + '"' (PRE) _aTotal[001] += ' NumEmpleado="' + Alltrim(SRA->RA_MATSALINT,2), "99999999.99")) + '"', "") (PRE) _aTotal[001] += ' DepartamentoClaveEntFed="' + Alltrim(cDeptoImcEntFed) + '"' (PREPREREG) (_aTotal[001] += ' Puesto="' + Alltrim(cPuesCfdi) + '"' (PRE) IIf(!lRegAsimil .AND. !lImprIndem, IIf(cNodoSubC <> "", '>', '/>'),.T.) (PREREG) (_aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A', ' RiesgoPuesto="' + AllTrim(cRiegCFDi) + '"', ' RiesgoPuesto="' + AllTrim("99") + '"'), .T.) (PRE) _aTotal[001] += ' PeriodicidadPago="' + CFDCarEsp(Alltrim(IIf(SRY->RY_TIPO == "1",cPerCFDi, "99"))) + '"' (PRE) IIf(!Empty(SRA->RA_CLABE), ,_aTotal[001] += ' Banco="' + Alltrim(cBcoCfdi) + '"')cNodoSubC == "", "", cCRLF + cNodoSubC),.T.) (PREREG) ENCODEUTF8(_aTotal[001]) (PREREG) ( Iif ((cNodoSubC <> ""),.T.,.F.)) RECEPTOR C 028 0 ENCODEUTF8(XMLConv("",,,"nomina12:Receptor",.F.,.T.,8)) //COMPLEMENTO: NOMINA:PERCEPCIONES [XXX PERCEPCION] (PRE) DBSELECTAREA("SRVPD") (PRE) SRVPD->(DbGotop()) (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) =="1"),.T.,.F.)) (PRE) _aTotal[002] := ' <nomina12:Percepciones' (PRE) _aTotal[001002] += IIf(nTotSueld<>0, ' CuentaBancariaTotalSueldos="' + IIf(!Empty(SRA->RA_CLABE), Alltrim(SRA->RA_CLABE), Alltrim(SRA->RA_CTDEPSAAlltrim(Transform(Round(nTotSueld,2), "99999999.99")) + '"', "") (PRE) _aTotal[001002] += IIf(SRA->RA_CATFUNC <> 'A'nTotIndem<>0, ' SalarioBaseCotAporTotalSeparacionIndemnizacion="' + Alltrim(Transform(Round(nSalBasApnTotIndem,2), "99999999.99")) + '"', "") (PRE) _aTotal[001002] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndemnTotJubil<>0, ' SalarioDiarioIntegradoTotalJubilacionPensionRetiro="' + Alltrim(Transform(Round(SRA->RA_SALINTnTotJubil,2), "99999999.99")) + '"', "") (PRE) _aTotal[001002] += ' ClaveEntFedTotalGravado="' + Alltrim(Transform(Round(nTotPGrav,2), "99999999.99")) + '"' (PRE) _aTotal[002] += ' TotalExento="' + Alltrim(Transform(Round(nTotPExen,2), "99999999.99")) + '"' (PRE) _aTotal[002] += '>' (PRE) _aTotal[002] := ENCODEUTF8(_aTotal[002]) (PREREG) _aTotal[002] [SRVPD PERCEPCION]cEntFed) + '"' (PREREG) (_aTotal[001] += IIf(cNodoSubC <> "", '>', '/>'),.T.) (PREREG) (_aTotal[001] += IIf(cNodoSubC == "", "", cCRLF + cNodoSubC),.T.) (PREREG) ENCODEUTF8(_aTotal[001]) (PREREG) ( Iif ((cNodoSubC <> ""),.T.,.F.)) RECEPTOR C 028 0 ENCODEUTF8(XMLConv("",,,"nomina12:Receptor",.F.,.T.,8))//COMPLEMENTO: NOMINA:PERCEPCIONES [XXX PERCEPCION] (PRE) DBSELECTAREA("SRVPD") (PRE) SRVPD->(DbGotop()) (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) =="1"),.T.,.F.)) (PREREG) NodOpcion(1) (PREREG) NodOpcion(2) (PREPREREG) (_aTotal[002] := ' <nomina12:PercepcionesPercepcion',.T.) (PREPREREG) (_aTotal[002] += IIf(nTotSueld<>0, ' TotalSueldosTipoPercepcion="' + Alltrim(Transform(Round(nTotSueld,2), "99999999.99")) Substr(SRVPD->RV_TIPSAT,1,3)) + '"',.T.) (PREREG) (_aTotal[002] += ' Clave="' + Alltrim(SRVPD->RV_COD) + '"',.T.) (PREREG) (_aTotal[002] += ' Concepto="' + Alltrim(SRVPD->RV_DESCDET) + '"', "".T.) (PREPREREG) (_aTotal[002] += IIf(nTotIndem<>0, ' TotalSeparacionIndemnizacionImporteGravado="' + Alltrim(Transform(Round(nTotIndemSRVPD->RC_VALORGV,2), "99999999.99")) + '"', "".T.) (PREPREREG) (_aTotal[002] += IIf(nTotJubil<>0, ' TotalJubilacionPensionRetiroImporteExento="' + Alltrim(Transform(Round(nTotJubilSRVPD->RC_VALOREX,2), "99999999.99")) + '"', "".T.) (PREPREREG) (_aTotal[002] += ' TotalGravado="' + Alltrim(Transform(Round(nTotPGrav,2), "99999999.99")) + '"' (PRE) IIf(cNodoAccT <> "" .Or. cNodoHExt <> "", '>', '/>'),.T.) (PREREG) (_aTotal[002] += ' TotalExento="' + Alltrim(Transform(Round(nTotPExen,2), "99999999.99")) + '"' (PRE) IIf(cNodoAccT == "", "", cCRLF + cNodoAccT),.T.) (PREREG) (_aTotal[002] += '>' (PRE) _aTotal[002] := IIf(cNodoHExt == "", "", cCRLF + cNodoHExt),.T.) (PREREG) ENCODEUTF8(_aTotal[002]) (PREREG) ( Iif ((cNodoAccT <> "" .Or. cNodoHExt <> ""),.T.,.F.)) PERCEPCION C 036 0 ENCODEUTF8(XMLConv("",,,"nomina12:Percepcion",.F.,.T.,12)) [SRVPD JUBILACION] (PREREG) Iif((nTotUnaEx+nTotParci+nTotDiari+nTotIAcum+NTotNAcum<>0) _aTotal[002][SRVPD PERCEPCION] (PRE) SRVPD->(DbGotop()) (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) =="1"),.T.,.F. )) (PREREG) NodOpcion(1) (PREREG) NodOpcion(2) (PREREG) (PRE) _aTotal[002] := ' <nomina12:PercepcionJubilacionPensionRetiro',.T.) (PREREGPRE) ( _aTotal[002] += ' TipoPercepcionIIf(nTotUnaEx <> 0, ' TotalUnaExhibicion="' + Alltrim(Transform(Substr(SRVPD->RV_TIPSAT,1,3Round(nTotUnaEx,2), "99999999.99")) + '"', .T."") (PREREGPRE) ( _aTotal[002] += ' ClaveIIf(nTotParci <> 0, ' TotalParcialidad="' + Alltrim(SRVPD->RV_COD) + '"',.T.) (PREREG) (_aTotal[002] += ' Concepto="' + Alltrim(SRVPD->RV_DESCDET) + '"',.T.) (PREREG) ((Transform(Round(nTotParci,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += ' ImporteGravadoIIf(nTotParci <> 0, ' MontoDiario="' + Alltrim(Transform(Round(SRVPD->RC_VALORGVnTotDiari,2), "99999999.99")) + '"', .T."") (PREREGPRE) ( _aTotal[002] += ' ImporteExentoIIf(nTotUnaEx+nTotParci <> 0, ' IngresoAcumulable="' + Alltrim(Transform(Round(SRVPD->RC_VALOREXnTotIAcum,2), "99999999.99")) + '"', .T."") (PREREGPRE) ( _aTotal[002] += IIf(cNodoAccT <> "" .Or. cNodoHExt <> "", '>', '/>'),.T.) (PREREG) (_aTotal[002] += IIf(cNodoAccT == "", "", cCRLF + cNodoAccT),.T.) (PREREG) (_aTotal[002] += IIf(cNodoHExt == "", "", cCRLF + cNodoHExt),.T.)nTotUnaEx+nTotParci <> 0, ' IngresoNoAcumulable="' + Alltrim(Transform(Round(NTotNAcum,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += '/>' (PREREG) ENCODEUTF8(_aTotal[002]) (PREREG) ( Iif ((cNodoAccT <> "" .Or. cNodoHExt <> ""),.T.,.F.)) PERCEPCION C 036 0 ENCODEUTF8(XMLConv("",,,"nomina12:Percepcion",.F.,.T.,12)VldNodJub() [SRVPD JUBILACIONINDEMNIZACION] (PREREG) Iif((nTotUnaExnTotPagad+nTotParcinNumAnios+nTotDiarinUltSuelM+nTotIAcumnIngrAcum+NTotNAcum<>0nIngrNAcu<>0),.T.,.F. ) (PRE) _aTotal[002] := ' <nomina12:JubilacionPensionRetiroSeparacionIndemnizacion' (PRE) _aTotal[002] += IIf(nTotUnaEx <> 0, ' TotalUnaExhibicion' TotalPagado="' + Alltrim(Transform(Round(nTotUnaExnTotPagad,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += IIf(nTotParci <> 0, ' TotalParcialidad' NumAñosServicio="' + Alltrim(TransformStr(Round(nTotParci,2), "99999999.99"IIf(nNumAnios==0, 1, nNumAnios))) + '"', "") (PRE) _aTotal[002] += IIf(nTotParci <> 0, ' MontoDiario' UltimoSueldoMensOrd="' + Alltrim(Transform(Round(nTotDiarinUltSuelM,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += IIf(nTotUnaEx+nTotParci <> 0, ' IngresoAcumulable="' + Alltrim(Transform(Round(nTotIAcumnIngrAcum,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += IIf(nTotUnaEx+nTotParci <> 0, ' IngresoNoAcumulable="' + Alltrim(Transform(Round(NTotNAcumnIngrNAcu,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += '/>' (PREREG) ENCODEUTF8(_aTotal[002]) (PREREG) VldNodJubVldNodInde() [XXX PERCEPCION] (PRE) SRVPD->(DbGotop()) (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) =="1"),.T.,.F.)) PERCEPCION C 032 0 ENCODEUTF8(XMLConv("",,,"nomina12:Percepciones",.F.,.T.,8)) //COMPLEMENTO: NOMINA:DEDUCCIONES [XXX DEDUCCIONS] (PRE) DBSELECTAREA("SRVPD") (PRE) SRVPD->(DbGotop()) (PRE) DbSeek(_aTotal[072]+_aTotal[073]+"2") (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) =="2"),.T.,.F.))SRVPD INDEMNIZACION] (PREREG) Iif((nTotPagad+nNumAnios+nUltSuelM+nIngrAcum+nIngrNAcu<>0),.T.,.F. ) (PRE) _aTotal[002] := ' <nomina12:SeparacionIndemnizacion' (PRE) _aTotal[002] += ' TotalPagado="' + Alltrim(Transform(Round(nTotPagad,2), "99999999.99")) + '"' (PRE) _aTotal[002] += ' NumAñosServicio="' + Alltrim(Str(IIf(nNumAnios==0, 1, nNumAnios))) + '"' (PRE) _aTotal[002] += ' UltimoSueldoMensOrd="' + Alltrim(Transform(Round(nUltSuelM,2), "99999999.99")) + '"' (PRE) _aTotal[002] += ' IngresoAcumulable="' + Alltrim(Transform(Round(nIngrAcum,2), "99999999.99")) + '"' (PRE) _aTotal[002] += ' IngresoNoAcumulable="' + Alltrim(Transform(Round(nIngrNAcu,2), "99999999.99")) + '"' (PRE) _aTotal[002] +:= ' /> <nomina12:Deducciones' (PREREGPRE) ENCODEUTF8( _aTotal[002] ) (PREREG) VldNodInde() [XXX PERCEPCION] (PRE) SRVPD->(DbGotop()) (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) =="1"),.T.,.F.)) PERCEPCION C 032 0 ENCODEUTF8(XMLConv("",,,"nomina12:Percepciones",.F.,.T.,8)) += IIf(nOtroDedu <> 0, ' TotalOtrasDeducciones="' + Alltrim(Transform(Round(nOtroDedu,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += IIf(nImpReten <> 0, ' TotalImpuestosRetenidos="' + Alltrim(Transform(Round(nImpReten,2), "99999999.99")) + '" ', "") (PRE) _aTotal[002] += '>' (PREREG) ENCODEUTF8(_aTotal[002]) [SRVPD DEDUCCION] //COMPLEMENTO: NOMINA:DEDUCCIONES [XXX DEDUCCIONS] (PRE) DBSELECTAREA("SRVPD") (PRE) SRVPD->(DbGotop()) (PRE) DbSeek(_aTotal[072]+_aTotal[073]+"2") (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) =="2"),.T.,.F.)) (PREPREREG) (_aTotal[002] := ' <nomina12:DeduccionesDeduccion',.T.) (PREPREREG) (_aTotal[002] += IIf(nOtroDedu <> 0, ' TotalOtrasDeducciones' TipoDeduccion="' + Alltrim(Transform(Round(nOtroDedu,2), "99999999.99")Substr(SRVPD->RV_TIPSAT,1,3)) + '"',.T.) (PREREG) (_aTotal[002] += ' Clave="' + Alltrim(SRVPD->RV_COD) + '"',.T.) (PREREG) (_aTotal[002] += ' Concepto="' + Alltrim(SRVPD->RV_DESCDET) + '"', "".T.) (PREPREREG) (_aTotal[002] += IIf(nImpReten <> 0, ' TotalImpuestosRetenidos' Importe="' + Alltrim(Transform(Round(nImpRetenSRVPD->RC_VALORGV + SRVPD->RC_VALOREX,2), "99999999.99")) + '"', "".T.) (PREPREREG) (_aTotal[002] += '/>',.T.) (PREREG) ENCODEUTF8(_aTotal[002]) [SRVPD DEDUCCIONXXX DEDUCCIONS] (PREREGPRE) DBSELECTAREA( Iif ((Alltrim(SRVPD->RV_TIPO) =="2"),.T.,.F.)"SRVPD") (PREREGPRE) (_aTotal[002] := ' <nomina12:Deduccion',.T.) (PREREG) (_aTotal[002] += ' TipoDeduccion="' + Alltrim(Substr(SRVPD->RV_TIPSAT,1,3)) + '"',.T.) (PREREG) (_aTotal[002] += ' Clave="' + SRVPD->(DbGotop()) (PRE) DbSeek(_aTotal[072]+_aTotal[073]+"2") (PREREG) ( Iif ((Alltrim(SRVPD->RV_COD) + '"'TIPO) =="2"),.T.,.F.)) (PREREG) (_aTotal[002] += ' Concepto="' + Alltrim(SRVPD->RV_DESCDET) + '"',.T.) (PREREG) (_aTotal[002] += ' Importe="' + Alltrim(Transform(Round(SRVPD->RC_VALORGV + SRVPD->RC_VALOREX,2), "99999999.99")) + '"',.T.) (PREREG) (_aTotal[002] += '/>',.T.DEDUCCIONS C 032 0 ENCODEUTF8(XMLConv("",,,"nomina12:Deducciones",.F.,.T.,8)) //COMPLEMENTO: NOMINA:OTROSPAGOS [XXX OTROSPAGOS] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11" (PREREG) !lRegAsimil (PREREG) _aTotal[002] := '' (PREREG) _aTotal[002] := fOtrosPag() (PREREG) ENCODEUTF8(_aTotal[002]) [XXX DEDUCCIONSINCAPACIDS] (PRE) DBSELECTAREA("SRVPD") (PRE) SRVPDSRCIN->(DbGotop()) (PRE) DbSeek(_aTotal[072]+_aTotal[073]+"2") (PREREG) ( Iif((Alltrim(SRVPD->RV_TIPO) =="2"!SRCIN->(Eof()),.T.,.F. ) (PRE) DEDUCCIONS C 032 0 ENCODEUTF8(XMLConv("",,,"nomina12:Deducciones",.F.,.T.,8)_aTotal[001] := ' <nomina12:Incapacidades>' (PREREG) ENCODEUTF8(_aTotal[001]) //COMPLEMENTO: NOMINA:OTROSPAGOSINCAPACIDAD [XXX OTROSPAGOSSRCIN INCAPACIDAD] //Variable utilizada para validar si es Regimen Asimilado (PRE) lRegAsimil := SRA->RA_TIPREG $ "05|06|07|08|09|10|11"SRCIN->(DbGotop()) (PREREG) (_aTotal[002] := ' <nomina12:Incapacidad',.T.)(PREREG) !lRegAsimil (PREREG) (_aTotal[002] :+= ' DiasIncapacidad="' + Alltrim(Str(SRCIN->RC_HORAS)) + '"',.T.) (PREREG) (_aTotal[002] := fOtrosPag()+= ' TipoIncapacidad="' + Alltrim(SRCIN->RCM_TIPSAT) + '"',.T.) (PREREG) ENCODEUTF8 (_aTotal[002] )[XXX INCAPACIDS] (PRE) SRCIN->(DbGotop()) (PREREG) Iif(!SRCIN->(Eof()),.T.,.F. ) (PRE) _aTotal[001] := ' <nomina12:Incapacidades>'+= ' ImporteMonetario="' + Alltrim(Transform(Round(SRCIN->RC_VALOR,2), "99999999.99")) + '"',.T.) (PREREG) (_aTotal[002] += '/>',.T.) (PREREG) ENCODEUTF8(_aTotal[001002])//COMPLEMENTO: NOMINA:INCAPACIDAD [SRCIN [XXX INCAPACIDAD] (PRE) SRCIN->(DbGotop()) (PREREG) Iif(!SRCIN->(Eof()),.T.,.F. ) (_aTotal[002] := ' <nomina12:Incapacidad' INCAPACIDAD C 030 0 ENCODEUTF8(XMLConv("",,,"nomina12:Incapacidad",.F.,.T.,8))(PREREG) (_aTotal[002] += ' DiasIncapacidad="' + Alltrim(Str(SRCIN->RC_HORAS)) + '"',.T.) (PREREG) (_aTotal[002] += ' TipoIncapacidad="' + Alltrim(SRCIN->RCM_TIPSAT) + '"',.T.) (PREREG) (_aTotal[002] += ' ImporteMonetario="' + Alltrim(Transform(Round(SRCIN->RC_VALOR,2), "99999999.99")) + '"',.T.) (PREREG) (_aTotal[ [XXX INCAPACIDS] (PRE) SRCIN->(DbGotop()) (PREREG) Iif(!SRCIN->(Eof()),.T.,.F. ) INCAPACIDS C 033 0 ENCODEUTF8(XMLConv("",,,"nomina12:Incapacidades",.F.,.T.,8)) [XXX NOMINA] NOMINA C 023 0 ENCODEUTF8(XMLConv("",,,"nomina12:Nomina",.F.,.T.,4)) //COMPLEMENTO: CFDI:COMPLEMENTO [XXX COMPLEM] COMPLEM C 023 0 ENCODEUTF8(XMLConv("",,,"cfdi:Complemento",.F.,.T.,4)) [XXX ADDENDA] ADDENDA C 019 002] += '/>',.T.) (PREREG) ENCODEUTF8(_aTotal[002])[XXX INCAPACIDAD] (PRE) SRCIN->(DbGotop()) (PREREG) Iif(!SRCIN->(Eof()),.T.,.F. ) INCAPACIDAD C 030 0 ENCODEUTF8(XMLConv("",,,"nomina12cfdi:IncapacidadAddenda",.FT.,.TF.,84)) [XXX INCAPACIDS] (PRE) SRCIN->(DbGotop()) ADDENDA1] (PREREG) (_aTotal[003] := ' <cfdi:t_obs',.T.) (PREREG) (_aTotal[003] += ' CadenaOrig="' + Alltrim(_aTotal[074]) + '"',.T.) (PREREG) Iif(!SRCIN->(Eof())(_aTotal[003] += ' Sucursal="' + SRA->RA_FILIAL + '"',.T.,.F. ) INCAPACIDS C 033 0 ENCODEUTF8(XMLConv("",,,"nomina12:Incapacidades",.F.,.T.,8)) [XXX NOMINA] NOMINA C 023 0 ENCODEUTF8(XMLConv("",,,"nomina12:Nomina",.F.,.T.,4)) (PREREG) (_aTotal[003] += '/>',.T.) (PREREG) _aTotal[003] (POS) DelATbr884() [XXX ADDENDA] ADDENDA C 019 //COMPLEMENTO: CFDI:COMPLEMENTO [XXX COMPLEM] COMPLEM C 023 0 ENCODEUTF8(XMLConv("",,,"cfdi:ComplementoAddenda",.F.,.T.,4)) [XXX ADDENDACFDI] ADDENDA CFDI C C 019 0 ENCODEUTF8(XMLConv("",,,"cfdi:AddendaComprobante",.TF.,.FT.,4)) [XXX ADDENDA1] (PREREG) (_aTotal[003] := ' <cfdi:t_obs',.T.) (PREREG) (_aTotal[003] += ' CadenaOrig="' + Alltrim(_aTotal[074]) + '"',.T.) (PREREG) (_aTotal[003] += ' Sucursal="' + SRA->RA_FILIAL + '"',.T.) (PREREG) (_aTotal[003] += '/>',.T.) (PREREG) _aTotal[003] (POS) DelATbr884() [XXX ADDENDA] ADDENDA C 019 0 ENCODEUTF8(XMLConv("",,,"cfdi:Addenda",.F.,.T.,4)) [XXX CFDI] CFDI C 019 0 ENCODEUTF8(XMLConv("",,,"cfdi:Comprobante",.F.,.T.,0)) |