//FATEMEXFATSMEX.INI V4.0 --- Modelo 2022 [XXX POSICIONAMENTOS] (PRE) If(AllTrim(SF1SF2->F1>F2_ESPECIE)=="NCCNDI",SA2->(MSSeek(xFilial("SA2")+SF1SF2->F1>F2_FORNECECLIENTE+SF1SF2->F1>F2_LOJA)) , .T.) (PRE) If(AllTrim(SF1SF2->F1>F2_ESPECIE)<>"NCCNDI",SA1->(MSSeek(xFilial("SA1")+SF1SF2->F1>F2_FORNECECLIENTE+SF1SF2->F1>F2_LOJA)) , .T.) (PRE) (SE4->(MSSeek(xFilial("SE4")+SF1SF2->F1>F2_COND)) , .T.) (PRE) (AI0->(MSSeek(xFilial("AI0")+SF1SF2->F1>F2_FORNECECLIENTE+SF1SF2->F1>F2_LOJA)) , .T.) [XXX INICIALIZACION] (PRE) SD1SD2->(DbSetOrder(1)) (PRE) SB1->(DbSetOrder(1)) (PRE) SYA->(DbSetOrder(1)) (PRE) SC6->(DbSetOrder(1)) (PRE) SE4->(DbSetOrder(1)) (PRE) CTO->(DbSetOrder(1)) (PRE) SAH->(DbSetOrder(1)) (PRE) _aTotal[094009] := SuperGetMV("MV_CFDICPG", .F., "") (PRE) _aTotal[095010] := FindFunction("zh_FechaHoraUTC") .And. !Empty(_aTotal[009]) (PRE) _aTotal[033011] := FindFunction("LxFunaCaPo") (PRE) _aTotal[034094] := "" (PRE) _aTotal[035095] := "" (PRE) _aTotal[036033] := 0"" (PRE) _aTotal[075034] := Alltrim(SM0->M0_NOMECOM)"" (PRE) _aTotal[096035] := DtoS(SF1->F1_EMISSAO)"" (PRE) _aTotal[096036] := Left0 (PRE) _aTotal[096],4) + "-" + Substr(_aTotal[096],5,2)+ "-" + Right(037] := 0 (PRE) _aTotal[096],2)038] := 0 (PRE) _aTotal[096075] += "T" + SF1->F1_HORA:= Alltrim(SM0->M0_NOMECOM) (PRE) IIf(_aTotal[097] := {"SD1",""} (PRE) 010],_aTotal[098096] := "|" (PRE) zh_FechaHoraUTC(Alltrim(_aTotal[099] := "||"009]),Alltrim(SM0->M0_CEPENT),SF2->F2_EMISSAO,SF2->F2_HORA),"") (PRE) IIf(!_aTotal[100] := ""010],_aTotal[096] := DtoS(SF2->F2_EMISSAO),"") (PRE) IIf(!_aTotal[101010],_aTotal[096] := IIF(SuperGetMv("MV_DESCSAI",.T.,"2") == "1", .T., .F.) (PRE) lCCCE := .F. (PRE) cNodoCCE := "" (PREREG) FsQuery(_aTotal[097],1,"D1_DOC='" + SF1->F1_DOC + "' AND D1_SERIE='" + SF1->F1_SERIE + "' AND D1_FORNECE='" + SF1->F1_FORNECE + "' AND D1_LOJA='" + SF1->F1_LOJA + "'","SD1->D1_DOC=SF1->F1_DOC .AND. SD1->D1_SERIE=SF1->F1_SERIE .AND. SD1->D1_FORNECE=SF1->F1_FORNECE .AND. SD1->D1_LOJA=SF1->F1_LOJA","D1_ITEM") .And. .T. (PRE) fImptosD(SF1->F1_DOC,SF1->F1_SERIE,SF1->F1_FORNECE,SF1->F1_LOJA, .F. , "SD1", .F., @(_aTotal[036])) [SD1 CADENAORIGINAL_SELLO] (PRE) If(AllTrim(SF1->F1_ESPECIE)=="NCC",SA1->(MSSeek(xFilial("SA1")+SF1->F1_FORNECE+SF1->F1_LOJA)) , .T.) (PRE) If(AllTrim(SF1->F1_ESPECIE)=="NCC",SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS)) , .T.) (PRE) If(AllTrim(SF1->F1_ESPECIE)=="NCC",CTO->(MsSeek(xFilial("CTO")+Strzero(SF1->F1_MOEDA,2))) , .T.) (PRE) If(AllTrim(SF1->F1_ESPECIE)<>"NCC",SA2->(MSSeek(xFilial("SA2")+SF1->F1_FORNECE+SF1->F1_LOJA)) , .T.) (PRE) If(AllTrim(SF1->F1_ESPECIE)<>"NCC",SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS)) , .T.) (PRE) If(AllTrim(SF1->F1_ESPECIE)<>"NCC",CTO->(MsSeek(xFilial("CTO")+Strzero(SF1->F1_MOEDA,2))) , .T.) //////////////////////////////////////////////CADENA ORIGINAL////////////////////////////////////////////// (PRE) cCadOrig := _aTotal[099] (PRE) lCCCE := IIf(SuperGetMV("MV_CFDIEXP",.F.,.F.) .And. !Empty(SF1->F1_TIPOPE), .T., .F.) (PRE) cCadOriCCE := "" //Cadena Original | Complemento de Comercio Exterior (PREREG) IIf(lCCCE .And. !Empty(SD1->D1_ITEM + SD1->D1_COD), (cCadOriCCE += Alltrim(SD1->D1_ITEM + SD1->D1_COD) + _aTotal[098],.T.), ("",,.T.)) (PREREG) IIf(lCCCE .And. !Empty(SD1->D1_FRACCA), (cCadOriCCE += Alltrim(SD1->D1_FRACCA) + Alltrim(SD1->D1_NICO) + _aTotal[098],.T.), ("",,.T.)) (PREREG) IIf(lCCCE .And. !Empty(Str(SD1->D1_CANADU)), (cCadOriCCE += Alltrim(Str(SD1->D1_CANADU)) + _aTotal[098],.T.), ("",,.T.)) (PREREG) IIf(lCCCE .And. !Empty(SD1->D1_FRACCA), (cCadOriCCE += AllTrim(ObtColSAT("S014",AllTrim(SD1->D1_FRACCA),1,8,9,2)) + _aTotal[098],.T.), ("",,.T.)) (PREREG) IIf(lCCCE .And. !Empty(Str(SD1->D1_VALADU)), (cCadOriCCE += Alltrim(Str(SD1->D1_VALADU,14,2)) + _aTotal[098],.T.), ("",,.T.)) (PREREG) IIf(lCCCE .And. !Empty(Str(SD1->D1_USDADU)), (cCadOriCCE += Alltrim(Str(SD1->D1_USDADU,14,2)) + _aTotal[098],.T.), ("",,.T.)) Left(_aTotal[096],4) + "-" + Substr(_aTotal[096],5,2)+ "-" + Right(_aTotal[096],2),"") (PRE) IIf(!_aTotal[010],_aTotal[096] += "T" + SF2->F2_HORA,"") (PRE) _aTotal[097] := {"SD2",""} (PRE) _aTotal[098] := "|" (PRE) _aTotal[099] := "||" (PRE) _aTotal[100] := "" (PRE) _aTotal[101] := "OPERACION DE CONFORMIDAD CON EL ART. 29 FRACCION I DE LIVA Y LO ESTIPULADO EN LAS RGCE 5.2.6. FRACCION I, 5.2.7 Y 4.3.21" (PRE) _aTotal[102] := "OPERACION DE CONFORMIDAD CON EL ART. 29 FRACCION I DE LIVA Y LO ESTIPULADO EN LAS RGCE 5.2.6. FRACCION II, 5.2.7 Y 4.3.21" (PRE) _aTotal[103] := fSumBC(SF2->F2_DOC,SF2->F2_SERIE,SF2->F2_CLIENTE,SF2->F2_LOJA) (PRE) _aTotal[104] := IIf(SF2->(ColumnPos("F2_TPCOMPL")) > 0 .And. AllTrim(SF2->F2_TPCOMPL)=="S",.T.,.F.) (PRE) _aTotal[105] := "" (PRE) _aTotal[106] := IIf(_aTotal[104] .And. Alltrim(SF2->F2_TIPODOC) == "21",0,2) (PRE) lCCCE := .F. (PRE) cNodoCCE := "" (PREREG) FsQuery(_aTotal[097],1,"D2_DOC='" + SF2->F2_DOC + "' AND D2_SERIE='" + SF2->F2_SERIE + "' AND D2_CLIENTE='" + SF2->F2_CLIENTE + "' AND D2_LOJA='" + SF2->F2_LOJA + "'","SD2->D2_DOC=SF2->F2_DOC .AND. SD2->D2_SERIE=SF2->F2_SERIE .AND. SD2->D2_CLIENTE=SF2->F2_CLIENTE .AND. SD2->D2_LOJA=SF2->F2_LOJA","D2_ITEM") .And. .T. (PRE) fImptosD(SF2->F2_DOC,SF2->F2_SERIE,SF2->F2_CLIENTE,SF2->F2_LOJA,IIf(ALLTRIM(SF2->F2_TIPODOC) == "21",.T.,.F.),"SD2", SF2->F2_GLOBAL == "1",@(_aTotal[036]),_aTotal[104],@_aTotal[037], @_aTotal[038] ) [SD2 CADENAORIGINAL_SELLO] (PRE) If(AllTrim(SF2->F2_ESPECIE)=="NDI",SA2->(MSSeek(xFilial("SA2")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.) (PRE) If(AllTrim(SF2->F2_ESPECIE)=="NDI",SYA->(MsSeek(xFilial("SYA")+SA2->A2_PAIS)) , .T.) (PRE) If(AllTrim(SF2->F2_ESPECIE)=="NDI",CTO->(MsSeek(xFilial("CTO")+Strzero(SF2->F2_MOEDA,2))) , .T.) (PRE) If(AllTrim(SF2->F2_ESPECIE)<>"NDI",SA1->(MSSeek(xFilial("SA1")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.) (PRE) If(AllTrim(SF2->F2_ESPECIE)<>"NDI",SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS)) , .T.) (PRE) If(AllTrim(SF2->F2_ESPECIE)<>"NDI",CTO->(MsSeek(xFilial("CTO")+Strzero(SF2->F2_MOEDA,2))) , .T.) //////////////////////////////////////////////CADENA ORIGINAL////////////////////////////////////////////// (PRE) cCadOrig := _aTotal[099] (PRE) lCCCE := IIf(SuperGetMV("MV_CFDIEXP",.F.,.F.) .And. !Empty(SF2->F2_TIPOPE), .T., .F.) (PRE) cCadOriCCE := "" //Cadena Original | Complemento de Comercio Exterior (POS) IIf(lCCCE, cCadOrig += "1.1" + _aTotal[098], "") (POSMercancias) (PREREG) IIf(lCCCE .And. !Empty(SF1->F1_TRASLA), cCadOrig SD2->D2_ITEM + SD2->D2_COD), (cCadOriCCE += Alltrim(SF1->F1_TRASLASD2->D2_ITEM + SD2->D2_COD) + _aTotal[098],.T.),("",,.T.)) (POSPREREG) IIf(lCCCE .And. !Empty(SF1SD2->F1>D2_TIPOPEFRACCA), cCadOrig (cCadOriCCE += Alltrim(SF1->F1_TIPOPESD2->D2_FRACCA) + Alltrim(SD2->D2_NICO) + _aTotal[098],.T.), ("",,.T.)) (POSPREREG) IIf(lCCCE .And. !Empty(SF1Str(SD2->F1>D2_CVEPEDCANADU)), cCadOrig (cCadOriCCE += Alltrim(Str(SF1SD2->F1>D2_CVEPEDCANADU)) + _aTotal[098],.T.), ("",,.T.)) (POSPREREG) IIf(lCCCE .And. !Empty(SF1SD2->F1>D2_CERORIFRACCA), cCadOrig (cCadOriCCE += Alltrim(SF1->F1_CERORIAllTrim(ObtColSAT("S014",AllTrim(SD2->D2_FRACCA),1,8,9,2)) + _aTotal[098],.T.), ("",,.T.)) (POSPREREG) IIf(lCCCE .And. !Empty(Str(SF1SD2->F1>D2_NUMCERVALADU)), cCadOrig (cCadOriCCE += Alltrim(Str(SF1SD2->F1_NUMCER>D2_VALADU,14,2)) + _aTotal[098],.T.), ("",,.T.)) (POSPREREG) IIf(lCCCE .And. !Empty(Str(SF1SD2->F1>D2_EXPCONFUSDADU)), cCadOrig (cCadOriCCE += Alltrim(SF1Str(SD2->F1_EXPCONF>D2_USDADU,14,2)) + _aTotal[098],.T.), ("",,.T.)) (POSPREREG) IIf(lCCCE .And. !Empty(SF1->F1_INCOTER), cCadOrig += Alltrim(SF1->F1_INCOTER) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SF1->F1_SUBDIV), cCadOrig += Alltrim(SF1->F1_SUBDIV) SA1->A1_CONTRBE=="1" .And. Alltrim(SF2->F2_ESPECIE) == "NF", (cCadOriCCE += '1.0' +_aTotal[098],.T.), ("",,.T.)) (POSPREREG) IIf(lCCCE .And. SF1->(ColumnPos("F1_OBSCE")) > 0 .And. !Empty(SF1->F1_OBSCE), cCadOrig += CFDCarEsp(Alltrim(SF1->F1_OBSCE),.F.) SA1->A1_CONTRBE=="1" .And. SF2->F2_CONUNI=="1", (cCadOriCCE += 'IMMEX:' + ALLTRIM(SA1->A1_PFISICA) + ' ' + _aTotal[101] + _aTotal[098], "") (POS) .T.), IIf (lCCCE .And. !Empty(Str(SF1->F1_TCUSD)), cCadOrig += Alltrim(Str(SF1->F1_TCUSD)) . SA1->A1_CONTRBE=="1" .And. SF2->F2_CONUNI=="2", (cCadOriCCE += 'IMMEX:' + ALLTRIM(SA1->A1_PFISICA) + ' ' + _aTotal[102] + _aTotal[098],.T.), ("") (POS) IIf(lCCCE .And. !Empty(Str(SF1->F1_TOTUSD)), cCadOrig += Alltrim(Str(SF1->F1_TOTUSD,14,2)) + _aTotal[098], ""),,.T.))) ////////////DATOS DE LA FACTURA///////////////// (PRE) (SE4->(MSSeek(xFilial("SE4")+SF1SF2->F1>F2_COND)) , .T.) (PRE) (AI0->(MSSeek(xFilial("AI0")+SF1SF2->F1>F2_FORNECECLIENTE+SF1SF2->F1>F2_LOJA)) , .T.) //Version (PRE) cCadOrig += "4.0" + _aTotal[098] //Serie (PRE) cCadOrig += Alltrim(SF1SF2->F1>F2_SERIE) + _aTotal[098] //Folio (PRE) cCadOrig += Alltrim(SF1SF2->F1>F2_DOC) + _aTotal[098] //Fecha (PRE) cCadOrig += Alltrim(_aTotal[096]) + _aTotal[098] //FormaPago (PRE) cCadOrig += IIf(Alltrim(SF2->F2_TIPODOC) == "21", "", IIf(SF2->F2_GLOBAL == '1',FormPagGlo(SF2->F2_DOC,SF2->F2_SERIE),IIf(Empty(AI0->AI0_MPAGO).Or. Alltrim(SE4->E4_MPAGSAT) == "PPD","99",Alltrim(AI0->AI0_MPAGO))) + _aTotal[098] ) //NoCertificado (PRE) cCadOrig += Alltrim(SF1SF2->F1>F2_CERTFOL) + _aTotal[098] //CondicionesDePago (PRE) cCadOrig += IIf(Alltrim(SF2->F2_TIPODOC) == "21", "", CFDCarEsp(Alltrim(SE4->E4_DESCRI)) + _aTotal[098] ) //Subtotal (PRE) cCadOrig += Alltrim(STR(IIF(ALLTRIM((SF1->F1SF2->F2_TIPODOC) == "21", 0, (SF2->F2_VALMERC + IIF( _aTotal[101103] , SF1+ SF2->F1>F2_DESCONT, 0 )) - _aTotal[036] ,14,2- _aTotal[037]),14,_aTotal[106])) + _aTotal[098] //Descuento (PRE) cCadOrig += IIF(ALLTRIM(SF2->F2_TIPODOC) == "21", "", IIf( SF1SF2->F1>F2_DESCONT == 0, "", Alltrim(STR(SF1SF2->F1>F2_DESCONT,14,2)) + _aTotal[098]) ) //Moneda (PRE) cCadOrig += IIf(_aTotal[104] .And. Alltrim(SF2->F2_TIPODOC) == "21","XXX",Alltrim(CTO->CTO_MOESAT)) + _aTotal[098] //TipoCambio (PRE) cCadOrig += IIf(_aTotal[104] .And. Alltrim(SF2->F2_TIPODOC) == "21","",IIf(!(Alltrim(CTO->CTO_MOESAT) <> $ "MXN|XXX"), Alltrim(STR(SF1SF2->F1>F2_TXMOEDA,14,2)), "1") + _aTotal[098]) //Total (PRE) cCadOrig += Alltrim(STR(Str(IIf(ALLTRIM(SF2->F2_TIPODOC) == "21", 0, iif(GetSx3Cache("F1F2_VALBRUT","X3_DECIMAL")<= 2,SF1SF2->F1>F2_VALBRUT + _aTotal[103]- _aTotal[037],Round(SF1SF2->F1>F2_VALBRUT,2) + _aTotal[103] - _aTotal[037])),14,2_aTotal[106])) + _aTotal[098] //TipoDeComprobante (PRE) cCadOrig += IIf(Alltrim(SF1SF2->F1>F2_ESPECIE) == "NF",IIf(ALLTRIM(SF2->F2_TIPODOC) == "21", "T", "I" ), "E") + _aTotal[098] //Exportacion (PRE) cCadOrig += IIf(lCCCE .And. Alltrim(SF2->F2_ESPECIE) == "NF","02", "01") + _aTotal[098] //MetodoPago (PRE) cCadOrig += IIf(Alltrim(SF1SF2->F1>F2_TIPODOC) == "21", "", Alltrim(SE4->E4_MPAGSAT) + _aTotal[098] ) //LugarExpedicion (PRE) cCadOrig += CFDCarEsp(AllTrim(SM0->M0_CEPENT)) + _aTotal[098] //Confirmacion //(PRE) cCadOrig += "ClavePAC" + _aTotal[098] //////////////////////CFDI Relacionados////////////////////////// (PREREG) AllTrim(SF1SF2->F1>F2_RELSATUUIDREL) <> "" (PRE) fGetFolRel("E",.T.)IIf(_aTotal[104] .And. Alltrim(SF2->F2_TIPODOC) == "21","",fGetFolRel("S",.T.)) ///////////DATOS DEL EMISOR/////////////////////// //Rfc (PRE) cCadOrig += CFDCarEsp(AllTrim(SM0->M0_CGC),.F.) + _aTotal[098] //Nombre (PRE) cCadOrig += CFDCarEsp(_aTotal[075],.F.) + _aTotal[098] //RegimenFiscal (PRE) cCadOrig += CFDCarEsp(Alltrim(SM0->M0_DSCCNA)) + _aTotal[098] //////////////////////DATOS DEL RECEPTOR////////////////////////// (PRE) AllTrim(SF1SF2->F1>F2_ESPECIE) == <> "NCCNDI" (PRE) SA1->(MSSeek(xFilial("SA1")+SF1SF2->F1>F2_FORNECECLIENTE+SF1SF2->F1>F2_LOJA)) (PRE) SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS)) //Rfc (PRE) (cCadOrig += IIf(!_aTotal[104] .And. (ALLTRIM(SF2->F2_TIPODOC) == "21" .Or. SF2->F2_GLOBAL == "1"), "XAXX010101000", CFDCarEsp(AllTrim(SA1->A1_CGC), .F.)) + _aTotal[098], .T.) //Nombre (PRE) (cCadOrig += IIf(SF2->F2_GLOBAL <> "1",CFDCarEsp(Alltrim(SA1->A1_NOME),.F.) + _aTotal[098],""), .T.) //DomicilioFiscalReceptor (PRE) (cCadOrig += IIf(SF2->F2_GLOBAL <> "1",CFDCarEsp(Alltrim(SA1->A1_CEP),.F.) + _aTotal[098],""), .T.) //ResidenciaFiscal (PRE) IIf(lCCCE ,(cCadOrig += .And. !Empty(CFDCarEsp(Alltrim(SYASF2->YA>F2_CCESAT) + _aTotal[098], .T.),"")RESIDE))), cCadOrig += AllTrim(Posicione("SYA",1,xFilial("SYA")+SF2->F2_RESIDE,"YA_CCESAT")) + _aTotal[098], "") //NumRegIdTrib (PRE) IIf(lCCCE ,(.And. !Empty(CFDCarEsp(Alltrim(SF2->F2_IDTRIB))), cCadOrig += Alltrim(AI0->AI0_IDFISCFDCarEsp(AllTrim(AllTrim(SF2->F2_IDTRIB))) + _aTotal[098], .T.), "") //RegimenFiscalReceptor (PRE) (cCadOrig += IIf(SF2->F2_GLOBAL <> "1" .And. AI0->(ColumnPos("AI0_REGFIS")) > 0,CFDCarEsp(Alltrim(AI0->AI0_REGFIS),.F.) + _aTotal[098],""), .T.) //UsoCFDI (PRE) (cCadOrig += Alltrim(SF1SF2->F1>F2_USOCFDI) + _aTotal[098], .T.) (PRE) (cCadOrig += fXMLFUN("CO",.T., .F. ,.F.)) (PRE) (cCadOrig += fXMLFUN("TIIIf(ALLTRIM(SF2->F2_TIPODOC) == "21",.T.,.F.),_aTotal[104]),.T.)) (PRE) (cCadOrig += fXMLFUN("ILTI",.T., .F. ,.T.)) //Cadena Original | Complemento de Comercio Exterior IIf(ALLTRIM(SF2->F2_TIPODOC) == "21",.T.,.F.)),.T.) (PRE) (cCadOrig += fXMLFUN("IL",.T., IIf(ALLTRIM(SF2->F2_TIPODOC) == "21",.T.,.F.)),.T.) //Carta Porte (PRE) IIf(_aTotal[011],(cCadOrig += LxFunaCaPo(SF2->F2_FILIAL,SF2->F2_DOC,SF2->F2_SERIE,.T.,IIf(ALLTRIM(SF2->F2_TIPODOC) == "21",.T.,.F.),_aTotal[104]),.T.),//Emisor (POS) IIf(lCCCE, cCadOrig += CFDCarEsp(AllTrim(SM0->M0_ENDCOB)) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SM0->M0_BAIRENT), cCadOrig += ObtColSAT("S015",AllTrim(SM0->M0_CEPENT),5,5,1,4) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SM0->M0_CODMUN), cCadOrig += AllTrim(SM0->M0_CODMUN) "1.1" + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SF2->F2_TRASLA), cCadOrig += CFDCarEsp( Alltrim(ObtColSAT("S004",AllTrim(SM0->M0_CEPENT),1,5,6,3))) SF2->F2_TRASLA) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SF2->F2_TIPOPE), cCadOrig += "MEX" Alltrim(SF2->F2_TIPOPE) + _aTotal[098], "") (POS) IIf(lCCCE , cCadOrig += AllTrim(SM0->M0_CEPENT) + _aTotal[098], "")//Receptor Domicilio (POS) IIf(lCCCE.And. !Empty(SF2->F2_CVEPED), cCadOrig += CFDCarEspAlltrim(AllTrim(SA1SF2->A1>F2_END)CVEPED) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(AllTrim(SA1SF2->A1>F2_NR_ENDCERORI)), cCadOrig += AllTrimAlltrim(SA1SF2->A1>F2_NR_ENDCERORI) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(AllTrim(SA1SF2->A1>F2_NROINTNUMCER)), cCadOrig += AllTrimAlltrim(SA1SF2->A1>F2_NROINTNUMCER) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(CFDCarEsp(AllTrim(SA1->A1_BAIRRO))SF2->F2_EXPCONF), cCadOrig += CFDCarEsp(CFDCarEsp(AllTrim(SA1->A1_BAIRRO))) Alltrim(SF2->F2_EXPCONF) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(CFDCarEsp(AllTrim(SA1->A1_MUN)))SF2->F2_INCOTER), cCadOrig += CFDCarEspAlltrim(AllTrim(SA1SF2->A1_MUN),.F.>F2_INCOTER) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SF2->F2_SUBDIV), cCadOrig += CFDCarEsp( Alltrim(Posicione("SX5",1,xFilial("SX5")+"12"+SA1->A1_EST,"X5_DESCRI"))SF2->F2_SUBDIV) + _aTotal[098], "") (POS) IIf(lCCCE .And. SF2->(ColumnPos("F2_OBSCE")) > 0 .And. !Empty(AllTrim(SA1SF2->A1>F2_PAISOBSCE)), cCadOrig += CFDCarEsp(AllTrim(Posicione("SYA",1,xFilial("SYA")+SA1->A1_PAIS,"YA_CCESAT")) SF2->F2_OBSCE), .F.) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(AllTrimStr(SA1SF2->A1>F2_CEPTCUSD)), cCadOrig += AllTrimAlltrim(Str(SA1SF2->A1>F2_CEPTCUSD)) + _aTotal[098], "") (POS) cCadOrig += IIf(lCCCE .And. !Empty(cCadOriCCE), cCadOriCCE, "")(POS) cCadOrig += Str(SF2->F2_TOTUSD)), cCadOrig += Alltrim(Str(SF2->F2_TOTUSD,14,2)) + _aTotal[098] (POS) _aTotal[033] := cCadOrig, "") //SELLOEmisor (POS) IIf(lCCCE , cCadOrig += CFDCarEsp(AllTrim(SM0->M0_ENDCOB)) + _aTotal[100098] := EVPDigest(cCadOrig,5, "") (POS) _aTotal[100] := PrivSignRSA(&(SuperGetMv("MV_CFDDIRS",,""))+SuperGetMv("MV_CFDARQS",,""),_aTotal[100],6,"assinaturaIIf(lCCCE .And. !Empty(SM0->M0_CEPENT), cCadOrig += CFDCarEsp(AllTrim(ObtColSAT("S015",AllTrim(SM0->M0_CODZOSE)+ALLTRIM(SM0->M0_CEPENT),1,9,1,4))) + _aTotal[098], "") (POS) _aTotal[100] := ENCODE64(_aTotal[100]) [XXX CABECERA] Linha1 C 041 0 Chr(239) + Chr(187) + Chr(191) + '<?xml version="1.0" encoding="UTF-8"?>' [XXX FACTURA] //Certificado del SAT incluido para pruebas (PRE) cCert := "MIIFyDCCA7CgAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDI0NDMwDQYJKoZIhvcNAQEL" (PRE) cCert += "BQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFE" (PRE) cCert += "TUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9y" (PRE) cCert += "aXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0w" (PRE) cCert += "GwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJ" (PRE) cCert += "BgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhD" (PRE) cCert += "T1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3Bv" (PRE) cCert += "bnNhYmxlOiBBQ0RNQS1TQVQwHhcNMTkwNjE3MjA0MDUxWhcNMjMwNjE3MjA0MDUx" (PRE) cCert += "WjCB7zEqMCgGA1UEAxMhWEVOT04gSU5EVVNUUklBTCBBUlRJQ0xFUyBTIERFIENW" (PRE) cCert += "MSowKAYDVQQpEyFYRU5PTiBJTkRVU1RSSUFMIEFSVElDTEVTIFMgREUgQ1YxKjAo" (PRE) cCert += "BgNVBAoTIVhFTk9OIElORFVTVFJJQUwgQVJUSUNMRVMgUyBERSBDVjElMCMGA1UE" (PRE) cCert += "LRMcWElBMTkwMTI4SjYxIC8gS0FITzY0MTEwMUIzOTEeMBwGA1UEBRMVIC8gS0FI" (PRE) cCert += "TzY0MTEwMUhOVExLUzA2MSIwIAYDVQQLExlYZW5vbiBJbmR1c3RyaWFsIEFydGlj" (PRE) cCert += "bGVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiJQ5YcSgjwsGf29+" (PRE) cCert += "3go7VGdtMZCcH9wUpn46ZMAlFwUojnCPTvwJ3+cSwjqJnw8ahr3DuRwekvGR4BJA" (PRE) cCert += "b5b9Xi8kyoiWtwcGOSWxO38Bp9J1e/BO9HMbQBPAtLDuG47oqnH8zWLOeaoYRJDp" (PRE) cCert += "ARw4RX1ko2+9tbj0ntBtM7Vk1E8EWiA/h2Meq0LIv1+ySGTUrEW46FM01J5pzELv" (PRE) cCert += "5XupBghuJxR5DG9fiOW7u3dR5s3tZoVLwA1KdjJtY0mmnfCwxg6i5AqhvY+FAI5D" (PRE) cCert += "6CF6/lHA8PWg63WasvrhuIv70xCLjgPT/j00ZcPrLvBf1DefGVic980Ch/SDvC+M" (PRE) cCert += "dJ1F5wIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG" (PRE) cCert += "9w0BAQsFAAOCAgEACjfTPoKY2N5MxjmAMltd5XZCV1vgAwEtrIRYTodhE8R0Tp1Q" (PRE) cCert += "anAXb0luPyBv5hIXWK4VqAI4fcTtP+n7kkrwfha6ErkPWFNJWJm8ZsMmby/3WgVo" (PRE) cCert += "JkOFyRYQqr5Il3N6wMa5kiDBtDRbqB3iEXmvtrvjWSHyxAER+zo3jWGFlhBZ0nQN" (PRE) cCert += "Rtjx8sPFihVc5TUH682HJiU4oWvT63Dnra8ncqiW/uCuY86crnUq0fW7Lw/3+PY5" (PRE) cCert += "xXjNxR/Hh3sUPITfJrGaLWurD1J9npr9yGAJ6t9zrhhZnepIC0DUMc5+j4pg1DrO" (PRE) cCert += "32jzwUOLQqErDizh84NoJCWwbg+US8wi3zD0ZKiDv7XsTNWAW2Ap2JkzykKHjFTZ" (PRE) cCert += "iEm3uZOkJNfcu3o+kefr5HfXFT+iN9K5FUEhaQwgUeZBRJ8V5F6gmhz3d6ixVbiZ" (PRE) cCert += "oFNhYR8e2k8gF9gGrVMrEbJGQrl+6+ZYQLFiauXeG7fu1svk19PuyredRJGnseJq" (PRE) cCert += "yV4RzcRGhJA+cLnmpdDOTEhignnvnhEuY6HVRYYXhOTyeeluET7KRCxbJGqO7TdW" (PRE) cCert += "gjrHL3HRbNE4NY5GAdOZuLaWxElG5ZVCHqtG0Nh7UQAhcz+EKyZBAewv5XuH0Oom" (PRE) cCert += "ZXw6mM2mY2soL6z1224NusM8/BbJcYTQUlAEKblEChhGK1XlxiVOU2nc9KE=" (PRE) lCCCE := IIf(SuperGetMV("MV_CFDIEXP",.F.,.F.) .And. !Empty(SF1->F1_TIPOPE), .T., .F.) (PRE) cNodoCCE := "" IIf(lCCCE .And. !Empty(SM0->M0_CODMUN), cCadOrig += AllTrim(SM0->M0_CODMUN) + _aTotal[098], "") (POS) IIf(lCCCE , cCadOrig += CFDCarEsp(Alltrim(ObtColSAT("S004",AllTrim(SM0->M0_CEPENT),1,5,6,3))) + _aTotal[098], "") (POS) IIf(lCCCE , cCadOrig += "MEX" + _aTotal[098], "") (POS) IIf(lCCCE , cCadOrig += AllTrim(SM0->M0_CEPENT) + _aTotal[098], "") //Receptor Domicilio (POS) IIf(lCCCE, cCadOrig += CFDCarEsp(AllTrim(SA1->A1_END)) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(AllTrim(SA1->A1_NR_END)), cCadOrig += AllTrim(SA1->A1_NR_END) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(AllTrim(SA1->A1_NROINT)), cCadOrig += AllTrim(SA1->A1_NROINT) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(CFDCarEsp(AllTrim(SA1->A1_BAIRRO))), cCadOrig += CFDCarEsp(CFDCarEsp(AllTrim(SA1->A1_BAIRRO))) + _aTotal[098],"") (POS) IIf(lCCCE .And. !Empty(CFDCarEsp(AllTrim(SA1->A1_MUN))), cCadOrig += CFDCarEsp(AllTrim(SA1->A1_MUN),.F.) + _aTotal[098],"") (POS) IIf(lCCCE, cCadOrig += CFDCarEsp(Alltrim(Posicione("SX5",1,xFilial("SX5")+"12"+SA1->A1_EST,"X5_DESCRI"))) + _aTotal[098],"") (POS) IIf(lCCCE, cCadOrig += AllTrim(Posicione("SYA",1,xFilial("SYA")+SA1->A1_PAIS,"YA_CCESAT")) + _aTotal[098], "") (POS) IIf(lCCCE, cCadOrig += AllTrim(SA1->A1_CEP) + _aTotal[098], "") (POS) cCadOrig += IIf(!Empty(cCadOriCCE), cCadOriCCE, "") (POS) cCadOrig += _aTotal[098] (POS) _aTotal[033] := cCadOrig //SELLO (POS) _aTotal[100] := EVPDigest(cCadOrig,5) (POS) _aTotal[100] := PrivSignRSA(&(SuperGetMv("MV_CFDDIRS",,""))+SuperGetMv("MV_CFDARQS",,""),_aTotal[100],6,"assinatura") (POS) _aTotal[100] := ENCODE64(_aTotal[100]) [XXX CABECERA] Linha1 C 041 0 Chr(239) + Chr(187) + Chr(191) + '<?xml version="1.0" encoding="UTF-8"?>' [XXX FACTURA] //Certificado del SAT incluido para pruebas (PRE) cCert := "MIIFyDCCA7CgAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDI0NDMwDQYJKoZIhvcNAQEL" (PRE) cCert += "BQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFE" (PRE) cCert += "TUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9y" (PRE) cCert += "aXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0w" (PRE) cCert += "GwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJ" (PRE) cCert += "BgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhD" (PRE) cCert += "T1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3Bv" (PRE) cCert += "bnNhYmxlOiBBQ0RNQS1TQVQwHhcNMTkwNjE3MjA0MDUxWhcNMjMwNjE3MjA0MDUx" (PRE) cCert += "WjCB7zEqMCgGA1UEAxMhWEVOT04gSU5EVVNUUklBTCBBUlRJQ0xFUyBTIERFIENW" (PRE) cCert += "MSowKAYDVQQpEyFYRU5PTiBJTkRVU1RSSUFMIEFSVElDTEVTIFMgREUgQ1YxKjAo" (PRE) cCert += "BgNVBAoTIVhFTk9OIElORFVTVFJJQUwgQVJUSUNMRVMgUyBERSBDVjElMCMGA1UE" (PRE) cCert += "LRMcWElBMTkwMTI4SjYxIC8gS0FITzY0MTEwMUIzOTEeMBwGA1UEBRMVIC8gS0FI" (PRE) cCert += "TzY0MTEwMUhOVExLUzA2MSIwIAYDVQQLExlYZW5vbiBJbmR1c3RyaWFsIEFydGlj" (PRE) cCert += "bGVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiJQ5YcSgjwsGf29+" (PRE) cCert += "3go7VGdtMZCcH9wUpn46ZMAlFwUojnCPTvwJ3+cSwjqJnw8ahr3DuRwekvGR4BJA" (PRE) cCert += "b5b9Xi8kyoiWtwcGOSWxO38Bp9J1e/BO9HMbQBPAtLDuG47oqnH8zWLOeaoYRJDp" (PRE) cCert += "ARw4RX1ko2+9tbj0ntBtM7Vk1E8EWiA/h2Meq0LIv1+ySGTUrEW46FM01J5pzELv" (PRE) cCert += "5XupBghuJxR5DG9fiOW7u3dR5s3tZoVLwA1KdjJtY0mmnfCwxg6i5AqhvY+FAI5D" (PRE) cCert += "6CF6/lHA8PWg63WasvrhuIv70xCLjgPT/j00ZcPrLvBf1DefGVic980Ch/SDvC+M" (PRE) cCert += "dJ1F5wIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG" (PRE) cCert += "9w0BAQsFAAOCAgEACjfTPoKY2N5MxjmAMltd5XZCV1vgAwEtrIRYTodhE8R0Tp1Q" (PRE) cCert += "anAXb0luPyBv5hIXWK4VqAI4fcTtP+n7kkrwfha6ErkPWFNJWJm8ZsMmby/3WgVo" (PRE) cCert += "JkOFyRYQqr5Il3N6wMa5kiDBtDRbqB3iEXmvtrvjWSHyxAER+zo3jWGFlhBZ0nQN" (PRE) cCert += "Rtjx8sPFihVc5TUH682HJiU4oWvT63Dnra8ncqiW/uCuY86crnUq0fW7Lw/3+PY5" (PRE) cCert += "xXjNxR/Hh3sUPITfJrGaLWurD1J9npr9yGAJ6t9zrhhZnepIC0DUMc5+j4pg1DrO" (PRE) cCert += "32jzwUOLQqErDizh84NoJCWwbg+US8wi3zD0ZKiDv7XsTNWAW2Ap2JkzykKHjFTZ" (PRE) cCert += "iEm3uZOkJNfcu3o+kefr5HfXFT+iN9K5FUEhaQwgUeZBRJ8V5F6gmhz3d6ixVbiZ" (PRE) cCert += "oFNhYR8e2k8gF9gGrVMrEbJGQrl+6+ZYQLFiauXeG7fu1svk19PuyredRJGnseJq" (PRE) cCert += "yV4RzcRGhJA+cLnmpdDOTEhignnvnhEuY6HVRYYXhOTyeeluET7KRCxbJGqO7TdW" (PRE) cCert += "gjrHL3HRbNE4NY5GAdOZuLaWxElG5ZVCHqtG0Nh7UQAhcz+EKyZBAewv5XuH0Oom" (PRE) cCert += "ZXw6mM2mY2soL6z1224NusM8/BbJcYTQUlAEKblEChhGK1XlxiVOU2nc9KE=" (PRE) lCCCE := IIf(SuperGetMV("MV_CFDIEXP",.F.,.F.) .And. !Empty(SF2->F2_TIPOPE), .T., .F.) (PRE) cNodoCCE := "" (PRE) If(AllTrim(SF2->F2_ESPECIE)=="NDI",SYA->(MsSeek(xFilial("SYA")+SA2->A2_PAIS)) , .T.) (PRE) (SE4->(MSSeek(xFilial("SE4")+SF2->F2_COND)) , .T.) (PRE) (AI0->(MSSeek(xFilial("AI0")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.) (PRE) _aTotal[001] := '<cfdi:Comprobante(PRE) If(AllTrim(SF1->F1_ESPECIE)=="NCC",SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS)) , .T.) (PRE) (SE4->(MSSeek(xFilial("SE4")+SF1->F1_COND)) , .T.) (PRE) (AI0->(MSSeek(xFilial("AI0")+SF1->F1_FORNECE+SF1->F1_LOJA)) , .T.) (PRE) _aTotal[001] := '<cfdi:Comprobante' (PRE) _aTotal[001] += ' xmlns:cfdi="http://www.sat.gob.mx/cfd/4"' (PRE) _aTotal[001] += ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' (PRE) _aTotal[001] += ' xmlns:implocal="http://www.sat.gob.mx/implocal"' (PRE) _aTotal[001] += ' xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv4.0.xsd http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.xsd"' (PRE) _aTotal[001] += ' Version="4.0"' (PRE) _aTotal[001] += ' Serie="' + Alltrim(SF1->F1_SERIE) + '"' (PRE) _aTotal[001] += ' Folio="' + Alltrim(SF1->F1_DOC) + '"' (PRE) _aTotal[001] += ' Fecha="' + Alltrim(_aTotal[096]) + '"' (PRE) _aTotal[001] += ' Sello="' + Alltrim(_aTotal[100]) + '"' (PRE) _aTotal[001] += ' FormaPago="' + Iif(Empty(AI0→AI0_MPAGO) .Or. Alltrim(SE4->E4_MPAGSAT) == "PPD","99",Alltrim(AI0->AI0_MPAGO)) + '"' (PRE) _aTotal[001] += ' NoCertificado="' + Alltrim(SF1->F1_CERTFOL) + '"' (PRE) _aTotal[001] += ' Certificado="' + cCert + '"' (PRE) _aTotal[001] += ' CondicionesDePago="' + CFDCarEsp(Alltrim(SE4->E4_DESCRI)) + '"' (PRE) _aTotal[001] += ' SubTotal="' + Alltrim(STR((SF1->F1_VALMERC + IIF(_aTotal[101], SF1->F1_DESCONT, 0 )) - _aTotal[036],14,2)) + '"' (PRE) _aTotal[001] += IIf(SF1->F1_DESCONT==0, "", ' Descuento="' + Alltrim(STR(SF1->F1_DESCONT,14,2)) + '"') (PRE) _aTotal[001] += ' Moneda="' + Alltrim(CTO->CTO_MOESAT) + '"' (PRE) _aTotal[001] += ' TipoCambio="' + IIf(Alltrim(CTO->CTO_MOESAT) <> "MXN", Alltrim(STR(SF1->F1_TXMOEDA,14,2)), "1") + '"' (PRE) _aTotal[001] += ' Total="' + Alltrim(STR(iif(GetSx3Cache("F1_VALBRUT","X3_DECIMAL")<= 2,SF1->F1_VALBRUT,Round(SF1->F1_VALBRUT,2)),14,2)) + '"'xmlns:cfdi="http://www.sat.gob.mx/cfd/4"' (PRE) _aTotal[001] += ' TipoDeComprobante="' + IIf(Alltrim(SF1->F1_ESPECIE) == "NF", "I", "E") + '"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' (PRE) _aTotal[001] += ' Exportacion="'+IIf(lCCCE .And. Alltrim(SF2->F2_ESPECIE) == "NF","02","01")+'"Iif(!lCCCE,' xmlns:cartaporte20="http://www.sat.gob.mx/CartaPorte20"','') (PRE) _aTotal[001] += ' xmlns:implocal="http://www.sat.gob.mx/implocal"' (PRE) _aTotal[001] += IIf(lCCCE .And. SA1->A1_CONTRBE == "1" .And. Alltrim(SF1SF2->F1>F2_TIPODOCESPECIE) == "21NF", ' xmlns:leyendasFisc="http://www.sat.gob.mx/leyendasFiscales"' , ' MetodoPago= "' + Alltrim(SE4->E4_MPAGSAT) + '"' ) (PRE) _aTotal[001] += ' LugarExpedicion="' + CFDCarEsp(AllTrim(SM0->M0_CEPENT)) + '"xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv4.0.xsd ' (PRE) _aTotal[001] += '>' (PREREG) _aTotal[001](POS) cNodoCCE := IIf(IIF(lCCCE,' <cce11:ComercioExterior' , "") (POS) cNodoCCE += IIf(lCCCE, ' xmlns:cfdi="http://www.sat.gob.mx/ComercioExterior11 http://www.sat.gob.mx/sitio_internet/cfd/4"' , "") (POS) cNodoCCE += IIf(lCCCE, ' xmlns:xsi="ComercioExterior11/ComercioExterior11.xsd ','http://www.w3sat.org/2001/XMLSchema-instance" ' , "") (POS) cNodoCCE += IIf(lCCCE, ' xmlns:cce11="gob.mx/CartaPorte20http://www.sat.gob.mx/ComercioExterior11"' , "") (POS) cNodoCCE += IIf(lCCCE, ' xsi:schemaLocation="sitio_internet/cfd/CartaPorte/CartaPorte20.xsdhttp://www.sat.gob.mx/cfd/3implocalhttp://www.sat.gob.mx/sitio_internet/cfd/4/cfdv4.0.xsdimplocal/implocal.xsd') (PRE) _aTotal[001] += IIf(lCCCE .And. SA1->A1_CONTRBE == "1" .And. Alltrim(SF2->F2_ESPECIE) == "NF", ' http://www.sat.gob.mx/ComercioExterior11leyendasFiscaleshttp://www.sat.gob.mx/sitio_internet/cfd/ComercioExterior11leyendasFiscales/ComercioExterior11leyendasFisc.xsd"' , '""') (POS) cNodoCCE PRE) _aTotal[001] += IIf(lCCCE, ' Versionxmlns:cce11="1.1http://www.sat.gob.mx/ComercioExterior11"' , "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF1->F1_TRASLA), ' MotivoTrasladoPRE) _aTotal[001] += ' Version="4.0"' (PRE) _aTotal[001] += ' Serie="' + Alltrim(SF1SF2->F1>F2_TRASLASERIE) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF1->F1_TIPOPE), ' TipoOperacionPRE) _aTotal[001] += ' Folio="' + Alltrim(SF1SF2->F1>F2_TIPOPEDOC) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF1->F1_CVEPED), ' ClaveDePedimentoPRE) _aTotal[001] += ' Fecha="' + Alltrim(_aTotal[096]) + '"' (PRE) _aTotal[001] += ' Sello="' + Alltrim(SF1->F1_CVEPED_aTotal[100]) + '"', "") (POS) cNodoCCE PRE) _aTotal[001] += IIf(lCCCE .And. !Empty(SF1->F1_CERORI), ' CertificadoOrigenAlltrim(SF2->F2_TIPODOC) == "21", "", ' FormaPago="' + AlltrimIIf(SF1SF2->F1_CERORI) +'"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF1->F1_NUMCER), ' NumCertificadoOrigen="' + Alltrim(SF1->F1_NUMCER) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF1->F1_EXPCONF), ' NumeroExportadorConfiable>F2_GLOBAL == '1',FormPagGlo(SF2->F2_DOC,SF2->F2_SERIE),IIf(Empty(AI0->AI0_MPAGO) .Or. Alltrim(SE4->E4_MPAGSAT) == "PPD","99",Alltrim(AI0->AI0_MPAGO))) + '"' ) (PRE) _aTotal[001] += ' NoCertificado="' + Alltrim(SF1SF2->F1>F2_EXPCONFCERTFOL) + '"', "") (POS) cNodoCCE ' (PRE) _aTotal[001] += ' Certificado="' + cCert + '"' (PRE) _aTotal[001] += IIf(lCCCE .And. !Empty(SF1->F1_INCOTER), ' IncotermAlltrim(SF2->F2_TIPODOC) == "21", "", ' CondicionesDePago="' + CFDCarEsp(Alltrim(SF1SE4->F1>E4_INCOTERDESCRI)) + '"' , "" ) (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF1->F1_SUBDIV), ' SubdivisionPRE) _aTotal[001] += ' SubTotal="' + Alltrim(SF1->F1_SUBDIV) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. SF1->(ColumnPos("F1_OBSCE")) > 0 .And. !Empty(SF1->F1_OBSCE), ' Observaciones="' + CFDCarEsp(Alltrim(SF1->F1_OBSCE), .F.) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(Str(SF1->F1_TCUSD)), ' TipoCambioUSD(STR(IIF(ALLTRIM(SF2->F2_TIPODOC) == "21", 0, (SF2->F2_VALMERC + _aTotal[103] + SF2->F2_DESCONT) - _aTotal[036] - _aTotal[037] ),14,_aTotal[106])) + '"' (PRE) _aTotal[001] += IIF(ALLTRIM(SF2->F2_TIPODOC) == "21", "", IIf( SF2->F2_DESCONT == 0, "", ' Descuento="' + Alltrim(StrSTR(SF1SF2->F1_TCUSD>F2_DESCONT,14,2)) + '"' , "")) (POS) cNodoCCE += IIf(lCCCE PRE) _aTotal[001] += ' Moneda="' + IIf(_aTotal[104] .And. !Empty(Str(SF1->F1_TOTUSD)), ' TotalUSD="' + Alltrim(Str(SF1->F1_TOTUSD,14,2Alltrim(SF2->F2_TIPODOC) == "21","XXX",Alltrim(CTO->CTO_MOESAT)) + '"', "") (POS) cNodoCCE PRE) _aTotal[001] += IIf(lCCCE, '>' + ( chr(13)+chr(10) ), "") (POS) _aTotal[094] := cNodoCCE [XXX CFDIREL] (PREREG) AllTrim(SF1->F1_RELSAT) <> "" (PREREG) (_aTotal[001] := fGetFolRel("E"),.T.) (PREREG) _aTotal[001] _aTotal[104] .And. Alltrim(SF2->F2_TIPODOC) == "21", "", ' TipoCambio="' + IIf(!(Alltrim(CTO->CTO_MOESAT) $ "MXN|XXX"), Alltrim(STR(SF2->F2_TXMOEDA,14,2)), "1") + '"') [XXX EMISOR] (PRE) _aTotal[001] := ' <cfdi:Emisor' (PRE) _aTotal[001] += ' RfcTotal="' + CFDCarEsp(AllTrim(SM0->M0_CGC)) + '"' (PRE) _aTotal[001] += ' Nombre="' + CFDCarEsp(_aTotal[075],.T.Alltrim(Str(IIf(Alltrim(SF2->F2_TIPODOC) == "21", 0, IIf(GetSx3Cache("F2_VALBRUT","X3_DECIMAL") <= 2,SF2->F2_VALBRUT + _aTotal[103] - _aTotal[037] - _aTotal[038] ,Round(SF2->F2_VALBRUT,2) + _aTotal[103] - _aTotal[037] - _aTotal[038])),14,_aTotal[106])) + '"' (PRE) _aTotal[001] += ' RegimenFiscalTipoDeComprobante="' + CFDCarEspIIf(Alltrim(SM0SF2->M0>F2_DSCCNA)) + '"' (PRE) _aTotal[001] += '/>' (PREREGESPECIE) == "NF",IIf(Alltrim(SF2->F2_TIPODOC) == "21", "T", "I"), "E") + '"' (PRE) _aTotal[001] [XXX RECEPTOR_CLIENTE] (PRE) lCCCE := IIf(SuperGetMV("MV_CFDIEXP",.F.,.F.) .And. !Empty(SF1->F1_TIPOPE), .T., .F.) (PRE) cNodoCCE := "" (PREREG) AllTrim(SF1->F1_ESPECIE) == "NCC" (PREREG) (SA1->(MSSeek(xFilial("SA1")+SF1->F1_FORNECE+SF1->F1_LOJA)) , .T.) (PREREG) (SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS)) , .T.) (PREREG) (_aTotal[001] := ' <cfdi:Receptor' , .T.) (PREREG) (+= ' Exportacion="'+IIf(lCCCE .And. Alltrim(SF2->F2_ESPECIE) == "NF","02","01")+'"' (PRE) _aTotal[001] += IIf(Alltrim(SF2->F2_TIPODOC) == "21", "", ' MetodoPago="' + Alltrim(SE4->E4_MPAGSAT) + '"' ) (PRE) _aTotal[001] += ' RfcLugarExpedicion="' + CFDCarEsp(AllTrim(SA1SM0->A1>M0_CGCCEPENT)) + '"' , .T.) (PREREGPRE) ( _aTotal[001] += ' Nombre="' + CFDCarEsp(Alltrim(SA1->A1_NOME),.T.) + '"' , .T.) (PREREG) (_aTotal[001] += ' DomicilioFiscalReceptor="' + Alltrim(SA1->A1_CEP) + '"' , .T.) (PREREG) (_aTotal[001] += Iif(AI0->(ColumnPos("AI0_REGFIS")) > 0,' RegimenFiscalReceptor="' + Alltrim(AI0->AI0_REGFIS) + '"',""), .T.) (PREREG) IIf(lCCCE,(_aTotal[001] += ' ResidenciaFiscal="' + Alltrim(SYA->YA_CCESAT) + '"' , .T.),"") (PREREG) IIf(lCCCE,(_aTotal[001] += ' NumRegIdTrib="' + Alltrim(AI0->AI0_IDFIS) + '"' , .T.),"") (PREREG) (_aTotal[001] += ' UsoCFDI="' + Alltrim(SF1->F1_USOCFDI) + '"' , .T.) (PREREG) (_aTotal[001] += '/>' ,.T.) (PREREG) _aTotal[001]>' (PREREG) _aTotal[001]
(POS) cNodoCCE := IIf(lCCCE, ' <cce11:ComercioExterior' , "") (POS) cNodoCCE += IIf(lCCCE, ' xmlns:cfdi="http://www.sat.gob.mx/cfd/3"' , "") (POS) cNodoCCE += IIf(lCCCE, ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' , "") (POS) cNodoCCE += IIf(lCCCE, ' xmlns:cce11="http://www.sat.gob.mx/ComercioExterior11"' , "") (POS) cNodoCCE += IIf(lCCCE, ' xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd"' , "") (POS) cNodoCCE += IIf(lCCCE, ' Version="1.1"' , "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF2->F2_TRASLA), ' MotivoTraslado="' + Alltrim(SF2->F2_TRASLA) + '"', "") (//Emisor (POS) cNodoCCE += IIf(lCCCE , ' <cce11:Emisor.And. !Empty(SF2->F2_TIPOPE), ' TipoOperacion="' + Alltrim(SF2->F2_TIPOPE) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF2->F2_CVEPED), ' >ClaveDePedimento="' + ( chr(13)+chr(10) )Alltrim(SF2->F2_CVEPED) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF2->F2_CERORI), ' <cce11:Domicilio' CertificadoOrigen="' + Alltrim(SF2->F2_CERORI) +'"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF2->F2_NUMCER), ' CalleNumCertificadoOrigen="' + CFDCarEspAlltrim(AllTrim(SM0SF2->M0>F2_ENDCOB)NUMCER) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(CFDCarEsp(CFDCarEsp(AllTrim(SM0->M0_CEPENT)))), ' ColoniaSF2->F2_EXPCONF), ' NumeroExportadorConfiable="' + CFDCarEsp(AllTrim(ObtColSAT("S015",AllTrim(SM0->M0_CEPENT),5,5,1,4))) Alltrim(SF2->F2_EXPCONF) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(CFDCarEsp(AllTrim(SM0->M0_CEPENT))SF2->F2_INCOTER), ' MunicipioIncoterm="' + CFDCarEspAlltrim(AllTrim(SM0SF2->M0>F2_CODMUN)INCOTER) + '"', "") (POS) cNodoCCE += IIf(lCCCE , ' Estado.And. !Empty(SF2->F2_SUBDIV), ' Subdivision="' + CFDCarEsp( Alltrim(ObtColSAT("S004",AllTrim(SM0->M0_CEPENT),1,5,6,3))) SF2->F2_SUBDIV) + '"', "") (POS) cNodoCCE += IIf(lCCCE , ' Pais.And. SF2->(ColumnPos("F2_OBSCE")) > 0 .And. !Empty(SF2->F2_OBSCE), ' Observaciones="' + CFDCarEsp(AllTrim("MEX"SF2->F2_OBSCE), .T.) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(Str(SF2->F2_TCUSD)), ' CodigoPostalTipoCambioUSD="' + AllTrimAlltrim(Str(SM0SF2->M0>F2_CEPENTTCUSD)) + '"', "") (POS) cNodoCCE += IIf(lCCCE , '/>' + ( chr(13)+chr(10) ), "") (POS) cNodoCCE += IIf(lCCCE, ' </cce11:Emisor>' + ( chr(13)+chr(10) ), "")//Receptor (POS) cNodoCCE += IIf(lCCCE, ' <cce11:Receptor.And. !Empty(Str(SF2->F2_TOTUSD)), ' TotalUSD="' + Alltrim(Str(SF2->F2_TOTUSD,14,2)) + '"', "") (POS) cNodoCCE += IIf(lCCCE, '>' + ( chr(13)+chr(10) ), "") //Domicilio Receptor (POS) cNodoCCE += IIf(lCCCE, ' <cce11:Domicilio' , "") (POS) cNodoCCE += IIf(lCCCE, ' Calle="' + CFDCarEsp(AllTrim(SA1->A1_END)) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(AllTrim(SA1->A1_NR_END)), ' NumeroExterior="' + AllTrim(SA1->A1_NR_END) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(AllTrim(SA1->A1_NROINT)), ' NumeroInterior="' + AllTrim(SA1->A1_NROINT) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(CFDCarEsp(AllTrim(SA1->A1_BAIRRO))), ' Colonia="' + CFDCarEsp(AllTrim(SA1->A1_BAIRRO)) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(AllTrim(SA1->A1_MUN)), ' Municipio="' + CFDCarEsp(AllTrim(SA1->A1_MUN),.T.) + '"', "") (POS) cNodoCCE += IIf(lCCCE, ' Estado="' + CFDCarEsp(Alltrim(Posicione("SX5",1,xFilial("SX5")+"12"+SA1->A1_EST,"X5_DESCRI"))) + '"', "") (POS) cNodoCCE += IIf(lCCCE, ' Pais="' + AllTrim(Posicione("SYA",1,xFilial("SYA")+SA1->A1_PAIS,"YA_CCESAT")) + '"', "") (POS) cNodoCCE += IIf(lCCCE, ' CodigoPostal="' + AllTrim(SA1->A1_CEP) + '"', "") (POS) cNodoCCE += IIf(lCCCE, '/>' + ( chr(13)+chr(10) ), "") (POS) cNodoCCE += IIf(lCCCE, ' </cce11:Receptor>' + ( chr(13)+chr(10) ), "")(POS) (cNodoCCE += IIf(lCCCE, ' <cce11:Mercancias>' + ( chr(13)+chr(10) ), ""_aTotal[094] := cNodoCCE [XXX CFDIREL] (PREREG) AllTrim(SF2->F2_UUIDREL) <> "" (PREREG) (_aTotal[001] := IIf(_aTotal[104] .And. Alltrim(SF2->F2_TIPODOC) == "21","",fGetFolRel("S"))) (PREREG) _aTotal[001] [XXX EMISOR] (PRE) (_aTotal[001] := ' <cfdi:Emisor' , .T.) (PRE) (_aTotal[001] += ' Rfc="' + CFDCarEsp(AllTrim(SM0->M0_CGC))+ '"' , .T.) (PRE) (_aTotal[001] += ' Nombre="' + CFDCarEsp(_aTotal[075],.T.) + '"' , .T.) (PRE) (_aTotal[001] += ' RegimenFiscal="' + CFDCarEsp(Alltrim(SM0->M0_DSCCNA)) + '"' , .T.) (PRE) (_aTotal[001] += '/>' , .T.) (PRE) (_aTotal[001] := _aTotal[001] , .T.) (PREREG) _aTotal[001] [XXX RECEPTOR_CLIENTE] (PRE) lCCCE := IIf(SuperGetMV("MV_CFDIEXP",.F.,.F.) .And. !Empty(SF2->F2_TIPOPE), .T., .F.) (PRE) cNodoCCE := "" (PREREG) AllTrim(SF2->F2_ESPECIE) <> "NDI" (PREREG) (SA1->(MSSeek(xFilial("SA1")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.) (PREREG) (SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS)) , .T.) (POSPREREG) (_aTotal[094001] += cNodoCCE [SD1 CONCEPTO] (PRE) lCCCE := IIf(SuperGetMV("MV_CFDIEXP",.F.,.F.) .And. !Empty(SF1->F1_TIPOPE), .T., .F.) (PRE) cNodoCCE := "" (PRE) DbGoTop() (PREREG) (cNodoCCE += IIf(lCCCE, ' <cce11:Mercancia' , ""):= ' <cfdi:Receptor' , .T.) (PREREG) (_aTotal[001] += ' Rfc="' + CFDCarEsp(IIf(!_aTotal[104] .And.(Alltrim(SF2->F2_TIPODOC) == "21" .Or. SF2->F2_GLOBAL == "1"), "XAXX010101000", Alltrim(SA1->A1_CGC))) + '"' , .T.) (PREREG) (cNodoCCE _aTotal[001] += IIf(lCCCE .And. !Empty(SD1->D1_ITEM + SD1->D1_COD), ' NoIdentificacionSF2->F2_GLOBAL <> "1",' Nombre="' + CFDCarEsp(Alltrim(SD1SA1->D1_ITEM + SD1->D1_COD>A1_NOME),.T.) + '"',"") , .T.) (PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(SD1->D1_FRACCA), ' FraccionArancelaria_aTotal[001] += ' DomicilioFiscalReceptor="' + Alltrim(SD1SA1->D1>A1_FRACCACEP) + Alltrim(SD1->D1_NICO) + '"' , ""), .T.) (PREREG) (cNodoCCE _aTotal[001] += IIf(lCCCE .And. !Empty(Str(SD1->D1_CANADU)), ' CantidadAduanaIif(AI0->(ColumnPos("AI0_REGFIS")) > 0,' RegimenFiscalReceptor="' + Alltrim(Str(SD1AI0->D1>AI0_CANADU)REGFIS) + '"',""), .T.) (PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(SD1->D1_FRACCA), ' UnidadAduana_aTotal[001] += ' UsoCFDI="' + AllTrim(ObtColSAT("S014",AllTrim(SD1->D1_FRACCA),1,8,9,2)) Alltrim(SF2->F2_USOCFDI) + '"' , "") , .T.) (PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(CFDCarEsp(AllTrim(StrAllTrim(SD1SF2->D1>F2_VALADUIDTRIB)))), ' ValorUnitarioAduana(_aTotal[001] += ' NumRegIdTrib="' + AlltrimCFDCarEsp(AllTrim(StrAllTrim(SD1SF2->D1_VALADU,14,2>F2_IDTRIB))) + '"' , "") , .T.), "") (PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(CFDCarEsp(StrAllTrim(AllTrim(SD1SF2->D1>F2_USDADURESIDE)))), ' ValorDolares(_aTotal[001] += ' ResidenciaFiscal="' + Alltrim(Str(SD1->D1_USDADU,14,2AllTrim(Posicione("SYA",1,xFilial("SYA")+SF2->F2_RESIDE,"YA_CCESAT")) + '"' , "") , .T.), "") (PREREG) (cNodoCCE _aTotal[001] += IIf(lCCCE, '/>' + ( chr(13)+chr(10) ) , ""),,.T.) (PREREG) (_aTotal[001] := _aTotal[001] , .T.) (PREREG) _aTotal[001] (POS) cNodoCCE += IIf(lCCCE, ' </cce11<cce11:Mercancia>' + ( chr(13)+chr(10) )Emisor' , ""),.T.) (POS) ( cNodoCCE += IIf(lCCCE, ' </cce11:Mercancias>>' + ( chr(13)+chr(10) ), "") ,.T.) (POS) ( cNodoCCE += IIf(lCCCE, ' </cce11<cce11:ComercioExterior>Domicilio' , "") ,.T. (POS) cNodoCCE += IIf(lCCCE, ' Calle="' + CFDCarEsp(AllTrim(SM0->M0_ENDCOB)) + '"', "") (POS) _aTotal[094] += cNodoCCE(POS) (_aTotal[034] := fXMLFUN("CO",.F., .F. ,.F.)) [XXX CONCEPTOS] (POS) FsQuery(_aTotal[097],2) (PREREG) (_aTotal[001] := _aTotal[034],.T.) (PREREG) _aTotal[001] [XXX IMPUESTOS] (PREREG) (_aTotal[002] := fXMLFUN("TI",.F., .F. ,.T.)) (PREREG) _aTotal[002] //IMPUESTOS LOCALES// (PRE) (_aTotal[095] := fXMLFUN("IL",.F.),.T.) [XXX COMPLEMENT] (PREREG) (_aTotal[001] := IIF(!EMPTY(_aTotal[094] ) .or. !EMPTY(_aTotal[095]), ' <cfdi:Complemento', ""), .T.) (PREREG) (_aTotal[001] += IIF(!EMPTY(_aTotal[094] ) .or. !EMPTY(_aTotal[095]),'>',""),.T.) (PREREG) _aTotal[001] COMPLEMENT C 021 0 ENCODEUTF8(XMLConv("",,,"cfdi:Complemento",.T.,.F.,4)) [XXX COMERCIOEX] (PREREG) (_aTotal[001] := _aTotal[094],.T.) (PREREG) _aTotal[001] [XXX IMPUESTOLOC] (PREREG) (_aTotal[001] := _aTotal[095],.T.) (PREREG) _aTotal[001] [XXX COMPLEMENT] (PREREG) (_aTotal[001] := IIF(!EMPTY(_aTotal[094]) .or. !EMPTY(_aTotal[095]) ,' </cfdi:Complemento>',""), .T.) (PREREG) _aTotal[001] COMPLEMENT C 021 0 ENCODEUTF8(XMLConv("",,,"cfdi:Complemento",.F.,.T.,4)) //[XXX CAD_ORIG] //(PREREG) _aTotal[033] [XXX FACTURA] (PRE) _aTotal[095] := &(GetNewPar("MV_CFDNAF1","Lower(AllTrim(SF1->F1_ESPECIE)) + '_' + Lower(AllTrim(SF1->F1_SERIE)) + '_' + Lower(AllTrim(SF1->F1_DOC)) + '.xml'")) (ARQ) _aTotal[095] FACTURA C 019 0 ENCODEUTF8(XMLConv("",,,"cfdi:Comprobante",.F.,.T.,0)) |