/*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] //Serie (PRE) cCadOrig += _aTotal[078] + _aTotal[098] //Folio (PRE) cCadOrig += _aTotal[077] + _aTotal[098] //Fecha (PRE) cCadOrig += Alltrim(_aTotal[076]) + _aTotal[098] //Num Certificado (PRE) cCadOrig += SuperGetMv("MV_CFDI_CS",,"") + _aTotal[098] //Subtotal (PRE) cCadOrig += Alltrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP), 2), "99999999.99")) + _aTotal[098] //Descuento (PRE) cCadOrig += Alltrim(Transform(Round(nOtroDedu+nImpReten,2), "99999999.99")) + _aTotal[098] //Moneda (PRE) cCadOrig += Alltrim("MXN") + _aTotal[098] //Total (PRE) cCadOrig += Alltrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP) - (nOtroDedu + nImpReten), 2), "99999999.99")) + _aTotal[098] //Tipo Comprobante (PRE) cCadOrig += Alltrim("N") + _aTotal[098] //Exportacion (PRE) cCadOrig += Alltrim("01") + _aTotal[098] //Metodo Pago (PRE) cCadOrig += Alltrim("PUE") + _aTotal[098] //Lugar de expedición (PRE) cCadOrig += CFDCarEsp(AllTrim(RGC->RGC_CODPOS)) + _aTotal[098] //Tipo Relacionados (PRE) cCadOrig += NodoRelacc(3) //UUIDS Relacionados (PRE) cCadOrig += NodoRelacc(1) //COMPROBANTE:EMISOR //:RFC (PRE) cCadOrig += CFDCarEsp(Alltrim(SM0->M0_CGC)) + _aTotal[098] //:Nombre (PRE) cCadOrig += Alltrim(SM0->M0_NOMECOM) + _aTotal[098] //:Regimen (PRE) cCadOrig += cTipoReg + _aTotal[098] //COMPROBANTE:RECEPTOR //:RFC (PRE) cCadOrig += CFDCarEsp(AllTrim(SRA->RA_CIC)) + _aTotal[098] //:Nombre (PRE) cCadOrig += CFDCarEsp( Alltrim(SRA->RA_NOME)) + _aTotal[098] //:DomicilioFiscalReceptor (PRE) cCadOrig += CFDCarEsp(Alltrim(SRA->RA_CEP)) + _aTotal[098] //:RegimenFiscalReceptor (PRE) cCadOrig += CFDCarEsp(Alltrim(Iif(SRA->(ColumnPos("RA_FISCALI")) > 0,SRA->RA_FISCALI,""))) + _aTotal[098] //:UsoCFDI (PRE) cCadOrig += Alltrim("CN01") + _aTotal[098] //COMPROBANTE:CONCEPTOS //Clave Servicio (PRE) cCadOrig += AllTrim("84111505")+ _aTotal[098] //:Cantidad (PRE) cCadOrig += Alltrim("1")+ _aTotal[098] //:Unidad de medida (PRE) cCadOrig += Alltrim("ACT")+ _aTotal[098] //:Descripcion (PRE) cCadOrig += DECODEUTF8(AllTrim("Pago de nómina")) + _aTotal[098] //:valorUnitario (PRE) cCadOrig += AllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99")) + _aTotal[098] //Importe (PRE) cCadOrig += AllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99")) + _aTotal[098] //TotalDeducciones (PRE) cCadOrig += Alltrim(Transform(Round(nTotDGrav+nTotDExen,2), "99999999.99")) + _aTotal[098] //ObjetoImp (PRE) cCadOrig += Alltrim("01")+ _aTotal[098] //NOMINA //version (PRE) cCadOrig += "1.2" + _aTotal[098] //TipoNomina (PRE) cCadOrig += IIf(SRY->RY_TIPO == "1" .And. !lImprIndem, "O", "E") + _aTotal[098] //FechaPago (PRE) cCadOrig += Alltrim(STR(YEAR(dFchPag)))+"-"+ STRZERO(MONTH(dFchPag),2) +"-"+STRZERO(DAY(dFchPag),2) + _aTotal[098] //FechaInicialPago (PRE) cCadOrig += Alltrim(STR(YEAR(dFchInPag)))+"-"+ STRZERO(MONTH(dFchInPag),2) +"-"+STRZERO(DAY(dFchInPag),2) + _aTotal[098] //FechaFinalPago (PRE) cCadOrig += Alltrim(STR(YEAR(dFchFiPag)))+"-"+ STRZERO(MONTH(dFchFiPag),2) +"-"+STRZERO(DAY(dFchFiPag),2) + _aTotal[098] //NumDiasPagados (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")) + _aTotal[098], "") //NumDiasPagadosTotalDeducciones (PRE) cCadOrig += IIf(nTotDGrav+nTotDExen <> 0, Alltrim(StrTransform(IIf(nDiasPag == 0, 1, nDiasPag)Round(nTotDGrav+nTotDExen,2), "99999999.99")) + _aTotal[098], "") //TotalPercepcionesTotalOtrosPagos (PRE) cCadOrig += IIf(nTotPGrav+nTotPExen nTotOtroP <> 0 .And. !lRegAsimil, AlltrimAllTrim(Transform(Round(nTotPGrav+nTotPExennTotOtroP,2), "99999999.99")) + _aTotal[098], "") //EMISOR //TotalDeduccionesRegistroPatronal (PRE) cCadOrig += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, AllTrim(cRegPatr) + _aTotal[098], "") //RfcPatronOrigen (PRE) cCadOrig += CFDCarEsp(Alltrim(SM0->M0_CGC)) + _aTotal[098] //EntidadSNCF (PRE) IIf(!Empty(cOrigRecur), cCadOrig += Alltrim(cOrigRecurnTotDGrav+nTotDExen <> 0, Alltrim(Transform(Round(nTotDGrav+nTotDExen,2), "99999999.99")) + _aTotal[098], "") //TotalOtrosPagos (PRE) cCadOrig += IIf(nTotOtroP <> 0 .And. !lRegAsimil, AllTrim!Empty(cOrigRecur), cCadOrig += Alltrim(Transform(Round(nTotOtroPnTotPGrav+nTotPExen,2), "99999999.99")) + _aTotal[098], "") //EMISORRECEPTOR //RegistroPatronalCurp (PRE) cCadOrig += Alltrim(SRA->RA_CURP) + _aTotal[098] //NumSeguridadSocial (PRE) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += AllTrim(cRegPatrSRA->RA_RG) + _aTotal[098], "") //RfcPatronOrigenFechaInicioRelLaboral (PRE) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += CFDCarEspAllTrim(Str(Alltrim(SM0->M0_CGC)) + _aTotal[098]//EntidadSNCF (PRE) IIf(!Empty(cOrigRecur), cCadOrig += Alltrim(cOrigRecurYear(dFchInLab))) + "-" + StrZero(Month(dFchInLab),2) + "-" + StrZero(Day(dFchInLab),2) + _aTotal[098], "") //Antigüedad (PRE) IIf(!Empty(cOrigRecur)SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += Alltrim(Transform(Round(nTotPGrav+nTotPExen,2), "99999999.99")) 'P' + AllTrim(Str(nAntigue)) + 'W' + _aTotal[098], "") //RECEPTOR //CurpTipoContrato (PRE) cCadOrig += IIf(lImprIndem,"99", Alltrim(SRA->RA_CURPTIPCON)) + _aTotal[098] //NumSeguridadSocialSindicalizado (PRE) IIf(SRA->RA_CATFUNC <> 'A', cCadOrig += IIf(!Empty(SRA->RA_SINDICA) .And. !lRegAsimil .And. !lImprIndem, cCadOrig += AllTrim(SRA->RA_RG, "SÃ", "No") + _aTotal[098], "") //FechaInicioRelLaboralTipoJornada (PRE) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += AllTrim(Str(Year(dFchInLab))cTipJorn) + _aTotal[098], "-" + StrZero(Month(dFchInLab),2) + "-" + StrZero(Day(dFchInLab),2") //TipoRegimen (PRE) cCadOrig += IIf(lImprIndem,"13",AllTrim(SRA->RA_TIPREG)) + _aTotal[098], "") //AntigüedadNumEmpleado (PRE) IIfcCadOrig += AllTrim(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += 'P' + AllTrim(Str(nAntigue)) + 'W' + _MAT) + _aTotal[098] //Departamento //MOD (PRE) cCadOrig += IIf(!Empty(cDeptoIm), AllTrim(cDeptoIm), "") + _aTotal[098], "") //TipoContrato (PRE) cCadOrig += IIf(!Empty(lImprIndem,"99", Alltrim(SRA->RA_TIPCON)cDeptoIm), AllTrim(cDeptoIm) + _aTotal[098], "") //SindicalizadoPuesto (PRE) IIf(SRA->RA_CATFUNC <> 'A', cCadOrig += IIf(!Empty(SRA->RA_SINDICA) .And. !lRegAsimil, "SÃ", "No"cPuesCfdi), AllTrim(cPuesCfdi) + _aTotal[098], "") //TipoJornadaRiesgoPuesto (PRE) cCadOrig += IIf(!lRegAsimil .AND. !lImprIndem, IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil, cCadOrig += AllTrim(cTipJorn) , AllTrim(cRiegCFDi), AllTrim("99")) + _aTotal[098], "") //TipoRegimenPeriodicidadPago (PRE) cCadOrig += CFDCarEsp(Alltrim(IIf(lImprIndem,"13",AllTrim(SRA->RA_TIPREGSRY->RY_TIPO == "1",cPerCFDi, "99"))) + _aTotal[098] //NumEmpleadoBanco (PRE) cCadOrig += AllTrimIIf(!Empty(SRA->RA_MAT) + _aTotal[098] //Departamento //MOD (PRE) CLABE),,cCadOrig += IIf(!Empty(cDeptoImcBcoCfdi), AllTrimAlltrim(cDeptoImcBcoCfdi) , "") + _aTotal[098], "")) //CLABE (PRE) cCadOrig += IIf(!Empty(cDeptoIm(SRA->RA_CLABE), Alltrim(SRA->RA_CLABE), AllTrim(cDeptoImAlltrim(SRA->RA_CTDEPSA)) + _aTotal[098], "") //PuestoSalarioBaseCotApor (PRE) IIf(SRA->RA_CATFUNC <> 'A', cCadOrig += IIf(!Empty(cPuesCfdi), AllTrim(cPuesCfdiAlltrim(Transform(Round(nSalBasAp,2), "99999999.99")) + _aTotal[098], "") //RiesgoPuestoSalarioDiarioIntegrado (PRE) cCadOrig += IIf(!lRegAsimil .AND. !lImprIndem, ) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, cCadOrig += AllTrim(cRiegCFDiTransform(Round(SRA->RA_SALINT,2), AllTrim( "99999999.99")) + _aTotal[098], "") //PeriodicidadPagoClaveEntFed (PRE) cCadOrig += CFDCarEsp( Alltrim(IIf(SRY->RY_TIPO == "1",cPerCFDi, "99"))cEntFed) + _aTotal[098] //SUBCONTRATACION //BancoRfcLabora (PRE) cCadOrig += IIf(!Empty(SRA->RA_CLABE),,cCadOrig += IIf(!Empty(cBcoCfdi), Alltrim(cBcoCfdiPORSUB <> 0, Alltrim(SRA->RA_RFCLAB) + _aTotal[098], "")) //CLABEPorcentajeTiempo (PRE) cCadOrig += IIf(!Empty(SRA->RA_CLABE)PORSUB <> 0, Alltrim(SRA->RA_CLABE), AlltrimStr(SRA->RA_CTDEPSAPORSUB)) + _aTotal[098], "") //PERCEPCIONES //SalarioBaseCotAporTotalSueldos (PRE) IIf(SRA->RA_CATFUNC <> 'A'nTotSueld <> 0, cCadOrig += Alltrim(Transform(Round(nSalBasApnTotSueld,2), "99999999.99")) + _aTotal[098], "") //SalarioDiarioIntegradoTotalSeparacionIndemnizacion (PRE) IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndemnTotIndem <> 0, cCadOrig += AllTrimAlltrim(Transform(Round(SRA->RA_SALINTnTotIndem,2), "99999999.99")) + _aTotal[098], "") //ClaveEntFedTotalJubilacionPensionRetiro (PRE) IIf(nTotJubil <> 0, cCadOrig += Alltrim(cEntFed) + _aTotal[098]//SUBCONTRATACION //RfcLabora (PRE) cCadOrig += IIf(SRA->RA_PORSUB <> 0, Alltrim(SRA->RA_RFCLAB(Transform(Round(nTotJubil,2), "99999999.99")) + _aTotal[098], "") //PorcentajeTiempoTotalGravado (PRE) cCadOrig += IIf(SRA->RA_PORSUB <> 0, Alltrim(Str(SRA->RA_PORSUBAlltrim(Transform(Round(nTotPGrav,2), "99999999.99")) + _aTotal[098], "")098]//PERCEPCIONES //TotalSueldosTotalExento (PRE) IIf(nTotSueld <> 0, cCadOrig += Alltrim(Transform(Round(nTotSueldnTotPExen,2), "99999999.99")) + _aTotal[098], " //PERCEPCION (AccionesOTitulos y/o Horas Extras) (PRE) VldCad884("1") //TotalSeparacionIndemnizacionJubilacionPensionRetiro //TotalUnaExhibicion (PRE) IIf(nTotIndem nTotUnaEx <> 0, cCadOrig += Alltrim(Transform(Round(nTotIndemnTotUnaEx,2), "99999999.99")) + _aTotal[098], "") //TotalJubilacionPensionRetiroTotalParcialidad (PRE) IIf(nTotJubil nTotParci <> 0, cCadOrig += Alltrim(Transform(Round(nTotJubilnTotParci,2), "99999999.99")) + _aTotal[098], "") //TotalGravadoMontoDiario (PRE) IIf(nTotParci <> 0, cCadOrig += Alltrim(Transform(Round(nTotPGravnTotDiari,2), "99999999.99")) + _aTotal[098], "") //TotalExentoIngresoAcumulable (PRE) IIf(nTotUnaEx+nTotParci <> 0, cCadOrig += Alltrim(Transform(Round(nTotPExennTotIAcum,2), "99999999.99")) + _aTotal[098] //PERCEPCION (AccionesOTitulos y/o Horas Extras) (PRE) VldCad884("1, "") //JubilacionPensionRetiroIngresoNoAcumulable //TotalUnaExhibicion (PRE) IIf(nTotUnaEx+nTotParci <> 0, cCadOrig += Alltrim(Transform(Round(nTotUnaExNTotNAcum,2), "99999999.99")) + _aTotal[098], "") //SeparacionIndemnizacion //TotalParcialidadTotalPagado (PRE) IIf(nTotParci nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nTotParcinTotPagad,2), "99999999.99")) + _aTotal[098], "") //MontoDiarioNumAñosServicio (PRE) IIf(nTotParci nTotPagad <> 0, cCadOrig += Alltrim(TransformStr(Round(nTotDiari,2), "99999999.99"IIf(nNumAnios==0, 1, nNumAnios))) + _aTotal[098], "") //IngresoAcumulableUltimoSueldoMensOrd (PRE) IIf(nTotUnaEx+nTotParci nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nTotIAcumnUltSuelM,2), "99999999.99")) + _aTotal[098], "") //IngresoNoAcumulableIngresoAcumulable (PRE) IIf(nTotUnaEx+nTotParci nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(NTotNAcumnIngrAcum,2), "99999999.99")) + _aTotal[098], "") //SeparacionIndemnizacion //TotalPagadoIngresoNoAcumulable (PRE) IIf(nTotPagad <> 0, cCadOrig += Alltrim(Transform(Round(nTotPagadnIngrNAcu,2), "99999999.99")) + _aTotal[098], "") //NumAñosServicioDEDUCCIONES //TotalOtrasDeducciones (PRE) IIf(nTotPagad nOtroDedu <> 0, cCadOrig += Alltrim(StrTransform(IIf(nNumAnios==0, 1, nNumAnios)Round(nOtroDedu,2), "99999999.99")) + _aTotal[098], "") //UltimoSueldoMensOrdTotalImpuestosRetenidos (PRE) IIf(nTotPagad nImpReten <> 0, cCadOrig += Alltrim(Transform(Round(nUltSuelMnImpReten,2), "99999999.99")) + _aTotal[098], "") //IngresoAcumulableDEDUCCION (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" 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" //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//Certificado //CSD_XIA190128J61c.pem XIA190128J61 - pruebas SAT (PRE) cCert01 := "MIIFyDCCA7CgAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDI0NDMwDQYJKoZIhvcNAQEL" (PRE) cCert01 += "BQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFEARw4RX1ko2+9tbj0ntBtM7Vk1E8EWiA/h2Meq0LIv1+ySGTUrEW46FM01J5pzELv" (PRE) cCert01 += "TUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9y5XupBghuJxR5DG9fiOW7u3dR5s3tZoVLwA1KdjJtY0mmnfCwxg6i5AqhvY+FAI5D" (PRE) cCert01 += "aXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0w6CF6/lHA8PWg63WasvrhuIv70xCLjgPT/j00ZcPrLvBf1DefGVic980Ch/SDvC+M" (PRE) cCert01 += "GwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJdJ1F5wIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG" (PRE) cCert01 += "BgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhD9w0BAQsFAAOCAgEACjfTPoKY2N5MxjmAMltd5XZCV1vgAwEtrIRYTodhE8R0Tp1Q" (PRE) cCert01 += "T1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvanAXb0luPyBv5hIXWK4VqAI4fcTtP+n7kkrwfha6ErkPWFNJWJm8ZsMmby/3WgVo" (PRE) cCert01 += "bnNhYmxlOiBBQ0RNQS1TQVQwHhcNMTkwNjE3MjA0MDUxWhcNMjMwNjE3MjA0MDUxJkOFyRYQqr5Il3N6wMa5kiDBtDRbqB3iEXmvtrvjWSHyxAER+zo3jWGFlhBZ0nQN" (PRE) cCert01 += "WjCB7zEqMCgGA1UEAxMhWEVOT04gSU5EVVNUUklBTCBBUlRJQ0xFUyBTIERFIENWRtjx8sPFihVc5TUH682HJiU4oWvT63Dnra8ncqiW/uCuY86crnUq0fW7Lw/3+PY5" (PRE) cCert01 += "MSowKAYDVQQpEyFYRU5PTiBJTkRVU1RSSUFMIEFSVElDTEVTIFMgREUgQ1YxKjAoxXjNxR/Hh3sUPITfJrGaLWurD1J9npr9yGAJ6t9zrhhZnepIC0DUMc5+j4pg1DrO" (PRE) cCert01 += "BgNVBAoTIVhFTk9OIElORFVTVFJJQUwgQVJUSUNMRVMgUyBERSBDVjElMCMGA1UE32jzwUOLQqErDizh84NoJCWwbg+US8wi3zD0ZKiDv7XsTNWAW2Ap2JkzykKHjFTZ" (PRE) cCert01 += "LRMcWElBMTkwMTI4SjYxIC8gS0FITzY0MTEwMUIzOTEeMBwGA1UEBRMVIC8gS0FIiEm3uZOkJNfcu3o+kefr5HfXFT+iN9K5FUEhaQwgUeZBRJ8V5F6gmhz3d6ixVbiZ" (PRE) cCert01 += "TzY0MTEwMUhOVExLUzA2MSIwIAYDVQQLExlYZW5vbiBJbmR1c3RyaWFsIEFydGljoFNhYR8e2k8gF9gGrVMrEbJGQrl+6+ZYQLFiauXeG7fu1svk19PuyredRJGnseJq" (PRE) cCert01 += "bGVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiJQ5YcSgjwsGf29yV4RzcRGhJA+cLnmpdDOTEhignnvnhEuY6HVRYYXhOTyeeluET7KRCxbJGqO7TdW" (PRE) cCert01 += "3go7VGdtMZCcH9wUpn46ZMAlFwUojnCPTvwJ3gjrHL3HRbNE4NY5GAdOZuLaWxElG5ZVCHqtG0Nh7UQAhcz+cSwjqJnw8ahr3DuRwekvGR4BJAEKyZBAewv5XuH0Oom" (PRE) cCert01 += "b5b9Xi8kyoiWtwcGOSWxO38Bp9J1eZXw6mM2mY2soL6z1224NusM8/BO9HMbQBPAtLDuG47oqnH8zWLOeaoYRJDpBbJcYTQUlAEKblEChhGK1XlxiVOU2nc9KE=" (PRE) cCert01 += "ARw4RX1ko2+9tbj0ntBtM7Vk1E8EWiA/h2Meq0LIv1+ySGTUrEW46FM01J5pzELv"if (SM0->M0_CODIGO == '01', cCert := cCert01,cCert := cCert01) (PRE) cCert01 += "5XupBghuJxR5DG9fiOW7u3dR5s3tZoVLwA1KdjJtY0mmnfCwxg6i5AqhvY+FAI5D"_aTotal[001] := '<cfdi:Comprobante' (PRE) cCert01 _aTotal[001] += "6CF6/lHA8PWg63WasvrhuIv70xCLjgPT/j00ZcPrLvBf1DefGVic980Ch/SDvC+M"' xmlns:cfdi="http://www.sat.gob.mx/cfd/4"' (PRE) cCert01 += "dJ1F5wIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG" (PRE) cCert01 += "9w0BAQsFAAOCAgEACjfTPoKY2N5MxjmAMltd5XZCV1vgAwEtrIRYTodhE8R0Tp1Q"_aTotal[001] += ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' (PRE) cCert01 += "anAXb0luPyBv5hIXWK4VqAI4fcTtP+n7kkrwfha6ErkPWFNJWJm8ZsMmby/3WgVo"_aTotal[001] += ' xmlns:nomina12="http://www.sat.gob.mx/nomina12"' (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="_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) if (SM0->M0_CODIGO == '01', cCert := cCert01,cCert := cCert01) (PRE) _aTotal[001] :+= ' Certificado= '<cfdi:Comprobante"' + cCert + '"' (PRE) _aTotal[001] += ' xmlns:cfdi="http://www.sat.gob.mx/cfd/4SubTotal="' + AllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP), 2), "99999999.99")) + '"' (PRE) _aTotal[001] += ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanceDescuento="' + Alltrim(Transform(Round(nOtroDedu+nImpReten,2), "99999999.99")) + '"' (PRE) _aTotal[001] += ' xmlns:nomina12="http://www.sat.gob.mx/nomina12Moneda="' + Alltrim("MXN") + '"' (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.xsdTotal="' + AllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP) - (nOtroDedu + nImpReten), 2), "99999999.99")) + '"' (PRE) _aTotal[001] += ' Version="4.0TipoDeComprobante="' + AllTrim("N") + '"' (PRE) _aTotal[001] += ' SerieExportacion="' + Alltrim("01") + '"' (PRE) _aTotal[078001] += ' MetodoPago="' + Alltrim("PUE") + '"' (PRE) _aTotal[001] += ' FolioLugarExpedicion="' + CFDCarEsp(AllTrim(RGC->RGC_aTotal[077] + '"'CODPOS)) + '"' (PRE) _aTotal[001] += '>' (PRE) _aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001] //COMPROBANTE: CFDI:CfdiRelacionado [XXX CfdiRelacionados] (PRE) _aTotal[001] += ' Fecha="' + _aTotal[076]+ '"' := NodoRelacc(2) (PRE) _aTotal[001] += ' Sello="' + Alltrim:= ENCODEUTF8(_aTotal[100001]) + '"' (PREPREREG) _aTotal[001] //COMPROBANTE: CFDI:EMISOR [XXX EMISOR] += ' NoCertificado="' + SuperGetMv("MV_CFDI_CS",,"") + '"' (PRE) _aTotal[001] +:= ' Certificado="' + cCert + '"' <cfdi:Emisor' (PRE) _aTotal[001] += ' SubTotalRfc="' + AllTrimCFDCarEsp(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP), 2), "99999999.99"Alltrim(SM0->M0_CGC)) + '"' (PRE) _aTotal[001] += ' DescuentoNombre="' + Alltrim(Transform(Round(nOtroDedu+nImpReten,2), "99999999.99")) + _aTotal[075] + '"' (PRE) _aTotal[001] += ' MonedaRegimenFiscal="' + Alltrim("MXN") + '"+ cTipoReg + '"' (PRE) _aTotal[001] += '/>' (PRE) _aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001] //COMPROBANTE: CFDI:RECEPTOR [XXX RECEPTOR] (PREREG) (_aTotal[001] := ' <cfdi:Receptor' , .T.) (PREREG) (_aTotal[001] += ' TotalRfc="' + AllTrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP) - (nOtroDedu + nImpReten), 2), "99999999.99")) CFDCarEsp(AllTrim(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"ColumnPos("RA_FISCALI")) > 0,SRA->RA_FISCALI,""))) + '"' , .T.) (PREPREREG) (_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]) (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[002PREREG) _aTotal[001]//COMPROBANTE: CFDI:EMISOR [XXX EMISOR] (PRE) _aTotal[001] := ' <cfdi:EmisorConcepto',.T.) (PREPREREG) (_aTotal[001002] += ' RfcClaveProdServ="'+ CFDCarEsp(Alltrim(SM0->M0_CGC)AllTrim("84111505")+'"',.T.) (PREPREREG) (_aTotal[001002] += ' NombreCantidad="' + _aTotal[075] Alltrim("1") + '"',.T.) (PREPREREG) (_aTotal[001002] += ' RegimenFiscalClaveUnidad="' + cTipoReg + '"' (PRE) _aTotal[001] += '/>' (PRE) _aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001]//COMPROBANTE: CFDI:RECEPTOR [XXX RECEPTOR] (PREREG) (_aTotal[001] := ' <cfdi:ReceptorAlltrim("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[001002] += ' DomicilioFiscalReceptorImporte="' + CFDCarEsp(Alltrim(SRA->RA_CEPAlltrim(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 <nomina12:Nomina' (PRE) _aTotal[001] += ' Version="1.2"' (PRE) _aTotal[001] += ' ClaveProdServTipoNomina="' + AllTrim("84111505IIf(SRY->RY_TIPO == "1" .And. !lImprIndem, "O", "E") + '"',.T.) (PREREGPRE) ( _aTotal[002001] += ' CantidadFechaPago="' + Alltrim(STR(YEAR("1") dFchPag)))+"-"+ STRZERO(MONTH(dFchPag),2) +"-"+STRZERO(DAY(dFchPag),2)+ '"' ,.T.) (PREREGPRE) ( _aTotal[002001] += ' ClaveUnidadFechaInicialPago="' + Alltrim(STR(YEAR("ACT"dFchInPag)))+"-"+ STRZERO(MONTH(dFchInPag),2) +"-"+STRZERO(DAY(dFchInPag),2)+ '"',.T.)' (PREREGPRE) ( _aTotal[002001] += ' DescripcionFechaFinalPago="' + DECODEUTF8(AllTrim("Pago de nómina")Alltrim(STR(YEAR(dFchFiPag)))+"-"+ STRZERO(MONTH(dFchFiPag),2) +"-"+STRZERO(DAY(dFchFiPag),2)+ '"',.T.) (PREREGPRE) ( _aTotal[002001] += ' ValorUnitarioNumDiasPagados="' + Alltrim(Transform(Round(nTotPGrav + nTotPExen + IIf(lRegAsimil, 0, nTotOtroP),2), "99999999.99"Str(IIf(nDiasPag == 0, 1, nDiasPag))) + '"',.T.) (PREREGPRE) ( _aTotal[002001] += ' ImporteIIf(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) ENCODEUTF8(_aTotal[002]) [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)) 001] := ENCODEUTF8(_aTotal[001]) (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"11" (PREREG) (NodOpcion(6),.T.) (PRE) _aTotal[001] := ' <nomina12:Emisor' (PRE) _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' RegistroPatronal="' + Alltrim(cRegPatr) +'"', "") (PRE) _aTotal[001] :+= ' RfcPatronOrigen="' <nomina12:Nomina+ CFDCarEsp(Alltrim(SM0->M0_CGC)) + '"' (PREPREREG) (_aTotal[001] += ' Version= IIf(Alltrim(cOrigRecur) == "1.2", '/>', '>'),.T.) (PREPREREG) (_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.)= ' 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)+ '":= ' <nomina12:Receptor' (PRE) _aTotal[001] += ' FechaFinalPagoCurp="' + Alltrim(STR(YEAR(dFchFiPag)))+"-"+ STRZERO(MONTH(dFchFiPag),2) +"-"+STRZERO(DAY(dFchFiPag),2)SRA->RA_CURP) + '"' (PRE) _aTotal[001] += ' NumDiasPagados="' + Alltrim(Str(IIf(nDiasPag == 0, 1, nDiasPag))IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' NumSeguridadSocial="' + AllTrim(SRA->RA_RG) +'"', "") (PRE) _aTotal[001] += IIf(nTotPGrav+nTotPExen <> 0, ' TotalPercepcionesSRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' FechaInicioRelLaboral="' + AlltrimAllTrim(TransformStr(Round(nTotPGrav+nTotPExenYear(dFchInLab))) + "-" + StrZero(Month(dFchInLab),2) , + "99999999.99")-" + StrZero(Day(dFchInLab),2) + '"', "") (PRE) _aTotal[001] += IIf(nTotDGrav+nTotDExen <> 0, ' TotalDeducciones="' + Alltrim(Transform(Round(nTotDGrav+nTotDExen,2), "99999999.99")) SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, DecodeUTF8(' Antigüedad="') + 'P' + AllTrim(Str(nAntigue)) + 'W' + '" ', "") (PRE) _aTotal[001] += IIf(nTotOtroP <> 0 .And. !lRegAsimil, ' TotalOtrosPagos' TipoContrato="' + Alltrim(Transform(Round(nTotOtroP,2)Iif(lImprIndem,"99999999.99",Alltrim(SRA->RA_TIPCON)) + '"', "") (PRE) _aTotal[001] += '>' (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', ' Sindicalizado="' + IIf(!Empty(SRA->RA_SINDICA) .And. !lRegAsimil, "S�", "No") + '"', "")(PREREG) (NodOpcion(6),.T.) (PRE) _aTotal[001] := ' <nomina12:Emisor' (PRE) _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' RegistroPatronalTipoJornada="' + AlltrimAllTrim(cRegPatrcTipJorn) + '"', "") (PRE) _aTotal[001] += ' RfcPatronOrigenTipoRegimen="' + CFDCarEsp(Iif(lImprIndem,"13",Alltrim(SM0SRA->M0>RA_CGCTIPREG)) + '"' (PREREG) (PRE) _aTotal[001] += ' NumEmpleado="' + Alltrim(SRA->RA_MAT) +'"' (PRE) _aTotal[001] += IIf(Alltrim(cOrigRecur) == "", '/>', '>'),.T.) (PREREG) (' Departamento="' + Alltrim(cDeptoIm) + '"' (PRE) _aTotal[001] += ' Puesto="' + Alltrim(cPuesCfdi) + '"' (PRE) IIf(!lRegAsimil .AND. !lImprIndem, _aTotal[001] += IIf(Alltrim(cOrigRecur) == "", "", cCRLF + cNodoSNCFSRA->RA_CATFUNC <> 'A', ' RiesgoPuesto="' + AllTrim(cRiegCFDi) + '"', ' RiesgoPuesto="' + AllTrim("99") + '"'), .T.) (PREREGPRE) 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.) (PRE) _aTotal[001] := ' <nomina12:Receptor+= ' PeriodicidadPago="' + CFDCarEsp(Alltrim(IIf(SRY->RY_TIPO == "1",cPerCFDi, "99"))) + '"' (PRE) IIf(!Empty(SRA->RA_CLABE), ,_aTotal[001] += ' Banco="' + Alltrim(cBcoCfdi) + '"') (PRE) _aTotal[001] += ' CuentaBancaria="' + IIf(!Empty(SRA->RA_CLABE), Alltrim(SRA->RA_CLABE), Alltrim(SRA->RA_CTDEPSA)) + '"' (PRE) _aTotal[001] += ' CurpIIf(SRA->RA_CATFUNC <> 'A', ' SalarioBaseCotApor="' + Alltrim(SRA->RA_CURP(Transform(Round(nSalBasAp,2), "99999999.99")) + '"', "") (PRE) _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' NumSeguridadSocialSalarioDiarioIntegrado="' + AllTrimAlltrim(Transform(Round(SRA->RA_RG) +'"', "") (PRE) SALINT,2), "99999999.99")) + '"', "") (PRE) _aTotal[001] += ' ClaveEntFed="' + Alltrim(cEntFed) + '"' (PREREG) (_aTotal[001] += IIf(cNodoSubC <> "", '>', '/>'),.T.) (PREREG) (_aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' FechaInicioRelLaboral="' + AllTrim(Str(Year(dFchInLab))) + "-" + StrZero(Month(dFchInLab),2) + "-" + StrZero(Day(dFchInLab),2) + '"', "") (PRE) _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, DecodeUTF8(' Antigüedad="') + 'P' + AllTrim(Str(nAntigue)) + 'W' + '" ', "") (PRE) _aTotal[001] += ' TipoContrato="' + Iif(lImprIndem,"99",Alltrim(SRA->RA_TIPCON)) + '"' (PRE) _aTotal[001] += IIf(SRA->RA_CATFUNC <> 'A', ' Sindicalizado="' + IIf(!Empty(SRA->RA_SINDICA) .And. !lRegAsimil, "S�", "No") + '"', ""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[001] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil, ' TipoJornada="' + AllTrim(cTipJorn) + '"', "")002] := ' <nomina12:Percepciones' (PRE) _aTotal[001002] += IIf(nTotSueld<>0, ' TipoRegimenTotalSueldos="' + Iif(lImprIndem,"13",Alltrim(SRA->RA_TIPREGAlltrim(Transform(Round(nTotSueld,2), "99999999.99")) + '"', "") (PRE) _aTotal[001002] += IIf(nTotIndem<>0, ' NumEmpleadoTotalSeparacionIndemnizacion="' + Alltrim(SRA->RA_MAT(Transform(Round(nTotIndem,2), "99999999.99")) + '"', "") (PRE) _aTotal[001002] += IIf(nTotJubil<>0, ' DepartamentoTotalJubilacionPensionRetiro="' + Alltrim(cDeptoIm(Transform(Round(nTotJubil,2), "99999999.99")) + '"', "") (PRE) _aTotal[001002] += ' PuestoTotalGravado="' + Alltrim(cPuesCfdiTransform(Round(nTotPGrav,2), "99999999.99")) + '"' (PRE) IIf(!lRegAsimil .AND. !lImprIndem, _aTotal[001002] += IIf(SRA->RA_CATFUNC <> 'A', ' RiesgoPuesto' TotalExento="' + AllTrim(cRiegCFDiAlltrim(Transform(Round(nTotPExen,2), "99999999.99")) + '"' (PRE) _aTotal[002] += '>' (PRE) _aTotal[002] := ENCODEUTF8(_aTotal[002]) (PREREG) _aTotal[002] [SRVPD PERCEPCION] (PRE) SRVPD->(DbGotop()) (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) , ' RiesgoPuesto="' + AllTrim("99") + '"'), .T.) (PRE) _aTotal[001] += ' PeriodicidadPago="' + CFDCarEsp(Alltrim(IIf(SRY->RY_TIPO =="1"),cPerCFDi, "99".T.,.F.))) + '"' (PRE) IIf(!Empty(SRA->RA_CLABE), ,_aTotal[001] += ' Banco="' + Alltrim(cBcoCfdi (PREREG) NodOpcion(1) (PREREG) NodOpcion(2) (PREREG) (_aTotal[002] := ' <nomina12:Percepcion',.T.) (PREREG) (_aTotal[002] += ' TipoPercepcion="' + Alltrim(Substr(SRVPD->RV_TIPSAT,1,3)) + '"',.T.) (PREPREREG) (_aTotal[001002] += ' CuentaBancariaClave="' + IIf(!Empty(SRA->RA_CLABE), Alltrim(SRASRVPD->RA>RV_CLABE), Alltrim(SRA->RA_CTDEPSA)) COD) + '"',.T.) (PREPREREG) (_aTotal[001002] += IIf(SRA->RA_CATFUNC <> 'A', ' SalarioBaseCotApor' Concepto="' + Alltrim(Transform(Round(nSalBasAp,2), "99999999.99")) SRVPD->RV_DESCDET) + '"', "".T.) (PREPREREG) (_aTotal[001002] += IIf(SRA->RA_CATFUNC <> 'A' .And. !lRegAsimil .And. !lImprIndem, ' SalarioDiarioIntegrado' ImporteGravado="' + Alltrim(Transform(Round(SRASRVPD->RA>RC_SALINTVALORGV,2), "99999999.99")) + '"', "".T.) (PREPREREG) (_aTotal[001002] += ' ClaveEntFedImporteExento="' + Alltrim(cEntFed(Transform(Round(SRVPD->RC_VALOREX,2), "99999999.99")) + '"',.T.) (PREREG) (_aTotal[001002] += IIf(cNodoSubC cNodoAccT <> "" .Or. cNodoHExt <> "", '>', '/>'),.T.) (PREREG) (_aTotal[001002] += IIf(cNodoAccT == "", "", cCRLF + cNodoAccT),.T.) (PREREG) (_aTotal[002] += IIf(cNodoSubC cNodoHExt == "", "", cCRLF + cNodoSubCcNodoHExt),.T.) (PREREG) ENCODEUTF8(_aTotal[001002]) (PREREG) ( Iif ((cNodoSubC cNodoAccT <> "" .Or. cNodoHExt <> ""),.T.,.F.)) RECEPTOR PERCEPCION C 028 036 0 ENCODEUTF8(XMLConv("",,,"nomina12:ReceptorPercepcion",.F.,.T.,8))12)) [SRVPD JUBILACION]//COMPLEMENTO: NOMINA:PERCEPCIONES [XXX PERCEPCION] (PRE) DBSELECTAREA("SRVPD") (PRE) SRVPD->(DbGotop()) (PREREG) ( Iif((Alltrim(SRVPD->RV_TIPO) =="1"nTotUnaEx+nTotParci+nTotDiari+nTotIAcum+NTotNAcum<>0),.T.,.F. )) (PRE) _aTotal[002] := ' <nomina12:PercepcionesJubilacionPensionRetiro' (PRE) _aTotal[002] += IIf(nTotSueld<>0nTotUnaEx <> 0, ' TotalSueldosTotalUnaExhibicion="' + Alltrim(Transform(Round(nTotSueldnTotUnaEx,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += IIf(nTotIndem<>0nTotParci <> 0, ' TotalSeparacionIndemnizacionTotalParcialidad="' + Alltrim(Transform(Round(nTotIndemnTotParci,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += IIf(nTotJubil<>0nTotParci <> 0, ' TotalJubilacionPensionRetiroMontoDiario="' + Alltrim(Transform(Round(nTotJubilnTotDiari,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += ' TotalGravadoIIf(nTotUnaEx+nTotParci <> 0, ' IngresoAcumulable="' + Alltrim(Transform(Round(nTotPGravnTotIAcum,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += ' TotalExentoIIf(nTotUnaEx+nTotParci <> 0, ' IngresoNoAcumulable="' + Alltrim(Transform(Round(nTotPExenNTotNAcum,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += '/>' (PRE) _aTotal[002] := PREREG) ENCODEUTF8(_aTotal[002]) (PREREG) _aTotal[002]) VldNodJub() [SRVPD PERCEPCION] (PRE) SRVPD->(DbGotop())INDEMNIZACION] (PREREG) ( Iif((Alltrim(SRVPD->RV_TIPO) =="1"nTotPagad+nNumAnios+nUltSuelM+nIngrAcum+nIngrNAcu<>0),.T.,.F. ) ) (PREREG) NodOpcion(1) (PREREG) NodOpcion(2) (PREREG) (PRE) _aTotal[002] := ' <nomina12:PercepcionSeparacionIndemnizacion',.T.) (PREREGPRE) ( _aTotal[002] += ' TipoPercepcionTotalPagado="' + Alltrim(Transform(Substr(SRVPD->RV_TIPSAT,1,3Round(nTotPagad,2), "99999999.99")) + '"',.T.) (PREREGPRE) ( _aTotal[002] += ' ClaveNumAñosServicio="' + Alltrim(SRVPD->RV_COD) + '"',.T.) (PREREG) (_aTotal[002] += ' Concepto="' + Alltrim(SRVPD->RV_DESCDETStr(IIf(nNumAnios==0, 1, nNumAnios))) + '"',.T.) (PREREGPRE) ( _aTotal[002] += ' ImporteGravadoUltimoSueldoMensOrd="' + Alltrim(Transform(Round(SRVPD->RC_VALORGVnUltSuelM,2), "99999999.99")) + '"',.T.) (PREREGPRE) ( _aTotal[002] += ' ImporteExentoIngresoAcumulable="' + Alltrim(Transform(Round(SRVPD->RC_VALOREXnIngrAcum,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.)= ' IngresoNoAcumulable="' + Alltrim(Transform(Round(nIngrNAcu,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))[SRVPD JUBILACION] (PREREG) Iif((nTotUnaEx+nTotParci+nTotDiari+nTotIAcum+NTotNAcum<>0),.T.,.F. ) (PRE) _aTotal[002] 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)) //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.)) (PRE) _aTotal[002] := ' <nomina12:Deducciones' := ' <nomina12:JubilacionPensionRetiro' (PRE) _aTotal[002] += IIf(nTotUnaEx <> 0, ' TotalUnaExhibicion="' + Alltrim(Transform(Round(nTotUnaEx,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += IIf(nTotParci <> 0, ' TotalParcialidad="' + Alltrim(Transform(Round(nTotParci,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += IIf(nTotParci <> 0, ' MontoDiario="' + Alltrim(Transform(Round(nTotDiari,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += IIf(nTotUnaEx+nTotParci nOtroDedu <> 0, ' IngresoAcumulableTotalOtrasDeducciones="' + Alltrim(Transform(Round(nTotIAcumnOtroDedu,2), "99999999.99")) + '"', "") (PRE) _aTotal[002] += IIf(nTotUnaEx+nTotParci nImpReten <> 0, ' IngresoNoAcumulableTotalImpuestosRetenidos="' + Alltrim(Transform(Round(NTotNAcumnImpReten,2), "99999999.99")) + '" ', "") (PRE) _aTotal[002] += '/>' (PREREG) ENCODEUTF8(_aTotal[002]) (PREREG) VldNodJub() [SRVPD INDEMNIZACIONDEDUCCION] (PREREG) ( Iif (((nTotPagad+nNumAnios+nUltSuelM+nIngrAcum+nIngrNAcu<>0Alltrim(SRVPD->RV_TIPO) =="2"),.T.,.F.)) (PREPREREG) (_aTotal[002] := ' <nomina12:SeparacionIndemnizacion' (PRE) _aTotal[002] += ' TotalPagado="' + Alltrim(Transform(Round(nTotPagad,2), "99999999.99")) + '"' (PRE) Deduccion',.T.) (PREREG) (_aTotal[002] += ' NumAñosServicioTipoDeduccion="' + Alltrim(Str(IIf(nNumAnios==0Substr(SRVPD->RV_TIPSAT,1, nNumAnios)3)) + '"',.T.) (PREPREREG) (_aTotal[002] += ' UltimoSueldoMensOrdClave="' + Alltrim(Transform(Round(nUltSuelM,2), "99999999.99")) SRVPD->RV_COD) + '"',.T.) (PREPREREG) (_aTotal[002] += ' IngresoAcumulable="' + Alltrim(Transform(Round(nIngrAcum,2), "99999999.99")) Concepto="' + Alltrim(SRVPD->RV_DESCDET) + '"',.T.) (PREPREREG) (_aTotal[002] += ' IngresoNoAcumulableImporte="' + Alltrim(Transform(Round(nIngrNAcuSRVPD->RC_VALORGV + SRVPD->RC_VALOREX,2), "99999999.99")) + '"',.T.) (PREPREREG) (_aTotal[002] += '/>' (PREREG) ENCODEUTF8(_aTotal[002]) (PREREG) VldNodInde()[XXX PERCEPCION] (PRE) SRVPD->(DbGotop()) (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) =="1"),.T.) (PREREG) ENCODEUTF8(_aTotal[002]) ,.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") ( Iif ((Alltrim(SRVPD->RV_TIPO) =="2"),.T.,.F.)) 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) ,.T.,.F.)) (PRE) _aTotal[002] := ' <nomina12:Deducciones' (PRE) _aTotal[002] += 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] (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) =="2"),.T.,.F.)) (PREREG) ( _aTotal[002] := ' <nomina12:Deduccion',.T.) (PREREG) ( _aTotal[002] += ' TipoDeduccion="' + Alltrim(Substr(SRVPD->RV_TIPSAT,1,3)) + '"',.T.):= fOtrosPag() (PREREG) ENCODEUTF8(_aTotal[002] += ' Clave="' + Alltrim(SRVPD->RV_COD) + '"',.T.)(PREREG) (_aTotal[002] += ' Concepto="' + Alltrim(SRVPD->RV_DESCDET [XXX INCAPACIDS] (PRE) SRCIN->(DbGotop()) ) + '"',.T.) (PREREG) (_aTotal[002] += ' Importe="' + Alltrim(Transform(Round(SRVPD->RC_VALORGV + SRVPD->RC_VALOREX,2), "99999999.99")) + '"',.TIif(!SRCIN->(Eof()),.T.,.F. ) (PREREGPRE) ( _aTotal[002001] +:= ' />',.T.) <nomina12:Incapacidades>' (PREREG) ENCODEUTF8(_aTotal[002001]) //COMPLEMENTO: NOMINA:INCAPACIDAD [XXX DEDUCCIONSSRCIN INCAPACIDAD] (PRE) DBSELECTAREA("SRVPD"SRCIN->(DbGotop()) (PRE) SRVPD->(DbGotop()) (PRE) DbSeekPREREG) (_aTotal[002] := ' <nomina12:Incapacidad',.T.) (PREREG) (_aTotal[072002] +_aTotal[073]+"2") (PREREG) ( Iif ((Alltrim(SRVPD->RV_TIPO) =="2"),.T.,.F.)) 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(= ' 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[002] += '/>',.T.) (PREREG) ENCODEUTF8(_aTotal[002]) [XXX INCAPACIDSINCAPACIDAD] (PRE) SRCIN->(DbGotop()) (PREREG) Iif(!SRCIN->(Eof()),.T.,.F. ) (PRE) _aTotal[001] := ' <nomina12:Incapacidades>' (PREREG) ENCODEUTF8(_aTotal[001])//COMPLEMENTOINCAPACIDAD C 030 0 ENCODEUTF8(XMLConv("",,,"nomina12:Incapacidad",.F.,.T.,8)) [XXX INCAPACIDS] : NOMINA:INCAPACIDAD [SRCIN INCAPACIDAD] (PRE) SRCIN->(DbGotop()) (PREREG) (_aTotal[002] := ' <nomina12:Incapacidad'Iif(!SRCIN->(Eof()),.T.,.F. ) (PREREG) (_aTotal[002] += ' DiasIncapacidad="' + Alltrim(Str(SRCIN->RC_HORAS)) + '"',.T.) (PREREG) (_aTotal[002] += ' TipoIncapacidad="' + Alltrim(SRCIN->RCM_TIPSAT) + '"',.T.) (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 0 ENCODEUTF8(XMLConv("",,,"cfdi:Addenda",.T.,.F.,4)) [XXX ADDENDA1]PREREG) (_aTotal[002] += ' ImporteMonetario="' + Alltrim(Transform(Round(SRCIN->RC_VALOR,2), "99999999.99")) + '"',.T.) (PREREG) (_aTotal[002003] +:= ' /> <cfdi:t_obs',.T.) (PREREG) ENCODEUTF8 (_aTotal[002])[XXX INCAPACIDAD] (PRE) SRCIN->(DbGotop()) (PREREG) Iif(!SRCIN->(Eof())003] += ' CadenaOrig="' + Alltrim(_aTotal[074]) + '"',.T.,.F. ) INCAPACIDAD C 030 0 ENCODEUTF8(XMLConv("",,,"nomina12:Incapacidad",.F.,.T.,8))[XXX INCAPACIDS] (PRE) SRCIN->(DbGotop()) (PREREG) (_aTotal[003] += ' Sucursal="' + SRA->RA_FILIAL + '"',.T.) (PREREG) Iif(!SRCIN->(Eof())(_aTotal[003] += '/>',.T.,.F.) INCAPACIDS C 033 0 ENCODEUTF8(XMLConv("",,,"nomina12:Incapacidades",.F.,.T.,8)(PREREG) _aTotal[003] (POS) DelATbr884() [XXX NOMINAADDENDA] NOMINA C 023 ADDENDA C 019 0 ENCODEUTF8(XMLConv("",,,"nomina12cfdi:NominaAddenda",.F.,.T.,4))/ /COMPLEMENTO: CFDI:COMPLEMENTO [XXX COMPLEMCFDI] CFDI COMPLEM C 023 C 019 0 ENCODEUTF8(XMLConv("",,,"cfdi:ComplementoComprobante",.F.,.T.,40)) |