//FATSCOL.INI -- NFE Colombia v2 - Resolucion 0019 / FEB. 2016 [XXX POSICIONAMENTOS] (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",SA1->(MSSeek(xFilial("SA1")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.) (PRE) (SE4->(MSSeek(xFilial("SE4")+SF2->F2_COND)) , .T.) (PRE) (AI0->(MSSeek(xFilial("AI0")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.) [XXX INICIALIZACION] (PRE) SD2->(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) SE1->(DbSetOrder(2)) (PRE) _aTotal[033] := ALLTRIM (SF2->F2_ESPECIE) (PRE) _aTotal[075] := Alltrim(SM0->M0_NOMECOM) (PRE) _aTotal[093] := "" (PRE) _aTotal[094] := "" (PRE) _aTotal[095] := DtoS(SF2->F2_EMISSAO) (PRE) _aTotal[095] := Left(_aTotal[095],4) + "-" + Substr(_aTotal[095],5,2)+ "-" + Right(_aTotal[095],2) (PRE) _aTotal[096] := SF2->F2_HORA (PRE) _aTotal[097] := fGetTaxas(SF2->F2_DOC, SF2->F2_SERIE, SF2->F2_CLIENTE, SF2->F2_LOJA,SF2->F2_ESPECIE ) (PRE) _aTotal[098] := ALLTRIM( GETNEWPAR( "MV_ID_PROV" , "" ) ) (PRE) _aTotal[099] := ALLTRIM( GETNEWPAR( "MV_ID_SOFT" , "" ) ) (PRE) _aTotal[100] := ALLTRIM( GETNEWPAR( "MV_CODESEC" , "" ) ) (PRE) _aTotal[101] := {"SD2",""} (PRE) _aTotal[102] := IIF( _aTotal[033] == "NF" , "1" , IIF( _aTotal[033] == "NCC" , "2" , IIF( _aTotal[033] == "NDC" , "3" , IIF( _aTotal[033] == "NDI" , "4" , IIF( _aTotal[033] == "NCI" , "5" , "" ) ) ) ) ) (PRE) _aTotal[103] := "" (PRE) _aTotal[104] := PADR( Alltrim(SM0->M0_CGC) , 10 , "0" ) (PRE) _aTotal[105] := IIF( _aTotal[033] == "NF" , "f" , IIF( _aTotal[033] == "NCC" .or. _aTotal[033] == "NCI" , "c" , IIF( _aTotal[033] == "NDC" .or. _aTotal[033] == "NDI" , "d" , "f" ) ) ) (PRE) _aTotal[106] := M486XHEX(PADR( ALLTRIM( substr( SF2->F2_DOC , 4 , Len(SF2->F2_DOC) - 3 ) ) , 10 , "0" ),10) (PRE) _aTotal[107] := IIF(AllTrim(SF2->F2_ESPECIE)=="NDC",fGetRef(SF2->F2_DOC, SF2->F2_SERIE, SF2->F2_CLIENTE, SF2->F2_LOJA,SF2->F2_ESPECIE),"") (PRE) _aTotal[108] := "" (PRE) _aTotal[109] := {"SFP",""} (PRE) _aTotal[110] := "" (PRE) _aTotal[111] := "" (PRE) _aTotal[112] := "" (PRE) _aTotal[113] := "FP_FILUSO='" + cFilAnt + "' AND FP_SERIE='" + SF2->F2_SERIE + "' AND FP_ESPECIE= '" + IIf(_aTotal[033] == "NF","1","3") + "' AND FP_NUMINI <='" + SF2->F2_DOC + "' AND FP_NUMFIM >='" + SF2->F2_DOC + "' AND FP_ATIVO ='1'" (PRE) _aTotal[114] := "SFP->FP_FILUSO=cFilAnt .AND. SFP->FP_SERIE=SF2->F2_SERIE .AND. SFP->FP_ESPECIE='" + IIf(_aTotal[033] == "NF","1","3") + "' .AND. SFP->FP_NUMINI<=SF2->F2_DOC .AND. FP_NUMFIM >=SF2->F2_DOC .AND. SFP->FP_ATIVO = '1'","FP_ATIVO" (PREREG) FsQuery(_aTotal[101],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. (PREREG) FsQuery(_aTotal[109],1,_aTotal[113],_aTotal[114]) .And. .T. [SFP CONTROL FOMULARIOS] (PRE) _aTotal[103] := Dtos( SFP->FP_DTRESOL ) (PRE) _aTotal[103] := Left(_aTotal[103],4) + "-" + Substr(_aTotal[103],5,2)+ "-" + Right(_aTotal[103],2) (PRE) _aTotal[110] := Alltrim( SFP->FP_NUMINI ) (PRE) _aTotal[111] := Alltrim( SFP->FP_NUMFIM ) (PRE) _aTotal[112] := Alltrim( SFP->FP_CAI ) [SD2 GENERANDO_XML] (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.) [XXX CABECERA] Linha1 C 060 0 Chr(239) + Chr(187) + Chr(191) + '<?xml version="1.0" encoding="UTF-8" standalone="no"?>' [XXX FACTURA] (PRE) Iif(AllTrim(SF2->F2_ESPECIE)=="NDI",SYA->(MsSeek(xFilial("SYA")+SA2->A2_PAIS)) , .T.) (PRE) (SE4->(MSSeek(xFilial("SE4")+SF2->F2_COND)) , .T.) (PRE) _aTotal[001] := IIF(AllTrim(SF2->F2_ESPECIE)=="NF",'<fe:Invoice ','<fe:DebitNote ') (PRE) _aTotal[001] += 'xmlns:fe="http://www.dian.gov.co/contratos/facturaelectronica/v1" ' (PRE) _aTotal[001] += 'xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" ' (PRE) _aTotal[001] += 'xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" ' (PRE) _aTotal[001] += 'xmlns:clm54217="urn:un:unece:uncefact:codelist:specification:54217:2001" ' (PRE) _aTotal[001] += 'xmlns:clm66411="urn:un:unece:uncefact:codelist:specification:66411:2001" ' (PRE) _aTotal[001] += 'xmlns:clmIANAMIMEMediaType="urn:un:unece:uncefact:codelist:specification:IANAMIMEMediaType:2003" ' (PRE) _aTotal[001] += 'xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" ' (PRE) _aTotal[001] += 'xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" ' (PRE) _aTotal[001] += 'xmlns:sts="http://www.dian.gov.co/contratos/facturaelectronica/v1/Structures" ' (PRE) _aTotal[001] += 'xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" ' (PRE) _aTotal[001] += 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' (PRE) _aTotal[001] += 'xsi:schemaLocation="http://www.dian.gov.co/contratos/facturaelectronica/v1 ../xsd/DIAN_UBL.xsd ' (PRE) _aTotal[001] += 'urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2 ../../ubl2/common/UnqualifiedDataTypeSchemaModule-2.0.xsd ' (PRE) _aTotal[001] += 'urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2 ../../ubl2/common/UBL-QualifiedDatatypes-2.0.xsd" ' (PRE) _aTotal[001] += '>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <ext:UBLExtensions>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <ext:UBLExtension>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <ext:ExtensionContent>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:DianExtensions>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:InvoiceControl>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:InvoiceAuthorization>'+ _aTotal[112] +'</sts:InvoiceAuthorization>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:AuthorizationPeriod>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:StartDate>'+ _aTotal[103] +'</cbc:StartDate>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:EndDate>'+ _aTotal[103] +'</cbc:EndDate>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </sts:AuthorizationPeriod>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:AuthorizedInvoices>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:Prefix>'+ SF2->F2_SERIE2 +'</sts:Prefix>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:From>'+ _aTotal[110] +'</sts:From>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:To>'+ _aTotal[111] +'</sts:To>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </sts:AuthorizedInvoices>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </sts:InvoiceControl>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:InvoiceSource>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:IdentificationCode listAgencyID="6" listAgencyName="United Nations Economic Commission for Europe" listSchemeURI="urn:oasis:names:specification:ubl:codelist:gc:CountryIdentificationCode-2.0">CO</cbc:IdentificationCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </sts:InvoiceSource>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:SoftwareProvider>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:ProviderID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)">'+ _aTotal[098] +'</sts:ProviderID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:SoftwareID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)">'+ _aTotal[099] +'</sts:SoftwareID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </sts:SoftwareProvider>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:SoftwareSecurityCode schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)">'+ _aTotal[100] +'</sts:SoftwareSecurityCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </sts:DianExtensions>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </ext:ExtensionContent>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </ext:UBLExtension>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <ext:UBLExtension>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <ext:ExtensionContent>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </ext:ExtensionContent>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </ext:UBLExtension>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </ext:UBLExtensions>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:UBLVersionID>UBL 2.0</cbc:UBLVersionID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:ProfileID>DIAN 1.0</cbc:ProfileID>' + ( chr(13)+chr(10) ) // Manual con serie //(PRE) _aTotal[001] += ' <cbc:ID>'+ SF2->F2_SERIE2 + Alltrim( Str( Val( Substr( SF2->F2_DOC , 4 , 10) ) ) ) +'</cbc:ID>' + ( chr(13)+chr(10) ) // Manual sin serie (PRE) _aTotal[001] += ' <cbc:ID>'+ Alltrim( Str( Val( Substr( SF2->F2_DOC , 4 , 10) ) ) ) +'</cbc:ID>' + ( chr(13)+chr(10) ) (PRE) FsQuery(_aTotal[109],2) // CUFE Aplica solo para NF (PRE) _aTotal[093] := "" (PRE) _aTotal[001] += IIF(AllTrim(SF2->F2_ESPECIE)=="NF",' <cbc:UUID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)">'+ _aTotal[093] +'</cbc:UUID>' + ( chr(13)+chr(10) ),"") (PRE) _aTotal[001] += ' <cbc:IssueDate>'+ _aTotal[095] +'</cbc:IssueDate>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:IssueTime>'+ _aTotal[096] +'</cbc:IssueTime>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:InvoiceTypeCode listAgencyID="195" listAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)" listSchemeURI="http://www.dian.gov.co/contratos/facturaelectronica/v1/InvoiceType">'+IIF(AllTrim(SF2->F2_ESPECIE)=="NF","02","92") +'</cbc:InvoiceTypeCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:Note><![CDATA['+ IIF(AllTrim(SF2->F2_ESPECIE)=="NDC",SF2->F2_MOTIVO,"") + ']]></cbc:Note>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:DocumentCurrencyCode>'+ Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_MOEDA,2),"CTO_MOESAT") ) +'</cbc:DocumentCurrencyCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:CustomizationID>'+ Alltrim(SF2->F2_TIPOPE) +'</cbc:CustomizationID>' // DiscrepancyResponse Solo para la Nota de Débito (PRE) _aTotal[001] += IIF(AllTrim(SF2->F2_ESPECIE)=="NDC",' <cac:DiscrepancyResponse>' + chr(13)+chr(10),"") (PRE) _aTotal[001] += IIF(AllTrim(SF2->F2_ESPECIE)=="NDC",' <cbc:ReferenceID/>' + chr(13)+chr(10),"") (PRE) _aTotal[001] += IIF(AllTrim(SF2->F2_ESPECIE)=="NDC",' <cbc:ResponseCode listName="concepto de notas débito" listSchemeURI="http://www.dian.gov.co/micrositios/fac_electronica/documentos/Anexo_Tecnico_001_Formatos_de_los_Documentos_XML_de_Facturacion_Electron.pdf" name="1:= intereses">' + SF2->F2_TIPREF + "</cbc:ResponseCode>"+ chr(13)+chr(10),"") (PRE) _aTotal[001] += IIF(AllTrim(SF2->F2_ESPECIE)=="NDC",' </cac:DiscrepancyResponse>' + chr(13)+chr(10),"") // BillingReference solo para la Nota de Débito (PRE) _aTotal[001] += IIF(AllTrim(SF2->F2_ESPECIE)=="NDC",_aTotal[107],"") (PRE) _aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001] [XXX EMISOR] (PRE) _aTotal[001] := ' <fe:AccountingSupplierParty>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:AdditionalAccountID>'+ "1" +'</cbc:AdditionalAccountID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <fe:Party>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cac:PartyIdentification>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:ID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)" schemeID="31">'+ Alltrim(SM0->M0_CGC) +'</cbc:ID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </cac:PartyIdentification>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cac:PartyName>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:Name><![CDATA['+ _aTotal[075] +']]></cbc:Name>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </cac:PartyName>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <fe:PhysicalLocation>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <fe:Address>' + ( chr(13)+chr(10) ///////////DATOS DE LA FACTURA///////////////// (PRE) (SE4->(MSSeek(xFilial("SE4")+SF2->F2_COND)) , .T.) (PRE) (AI0->(MSSeek(xFilial("AI0")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.) //Version (PRE) cCadOrig += "4.0" + _aTotal[098] //Serie (PRE) cCadOrig += Alltrim(SF2->F2_SERIE) + _aTotal[098] //Folio (PRE) cCadOrig += Alltrim(SF2->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',IIf(!Empty(_aTotal[112]),_aTotal[112],_aTotal[107]),IIf(Empty(_aTotal[107]).Or. Alltrim(SE4->E4_MPAGSAT) == "PPD","99",_aTotal[107])) + _aTotal[098] ) //NoCertificado (PRE) cCadOrig += Alltrim(SF2->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(SF2->F2_TIPODOC) == "21", 0, (SF2->(F2_VALMERC+F2_FRETE+F2_SEGURO+F2_DESPESA) + _aTotal[103] + SF2->F2_DESCONT) - _aTotal[036] - _aTotal[037]),14,_aTotal[106])) + _aTotal[098] //Descuento (PRE) cCadOrig += IIF(ALLTRIM(SF2->F2_TIPODOC) == "21", "", IIf( SF2->F2_DESCONT == 0, "", Alltrim(STR(SF2->F2_DESCONT,14,2)) + _aTotal[098]) ) //Moneda (PRE) cCadOrig += IIf(Alltrim(SF2->F2_TIPODOC) == "21","XXX",Alltrim(CTO->CTO_MOESAT)) + _aTotal[098] //TipoCambio (PRE) cCadOrig += IIf(Alltrim(SF2->F2_TIPODOC) == "21","",IIf(Alltrim(CTO->CTO_MOESAT) <> "MXN", Alltrim(STR(SF2->F2_TXMOEDA,14,2)), "1") + _aTotal[098]) //Total (PRE) cCadOrig += Alltrim(Str(IIf(ALLTRIM(SF2->F2_TIPODOC) == "21", 0, iif(GetSx3Cache("F2_VALBRUT","X3_DECIMAL")<= 2,SF2->F2_VALBRUT + _aTotal[103]- _aTotal[037] - IIf(Len(_aTotal[115]) > 0,_aTotal[115][1],0),Round(SF2->F2_VALBRUT,2) + _aTotal[103] - _aTotal[037] - IIf(Len(_aTotal[115]) > 0,_aTotal[115][1],0))),14,_aTotal[106])) + _aTotal[098] //TipoDeComprobante (PRE) cCadOrig += IIf(Alltrim(SF2->F2_ESPECIE) == "NF",IIf(ALLTRIM(SF2->F2_TIPODOC) == "21", "T", "I" ), "E") + _aTotal[098] //Exportacion (PRE) cCadOrig += IIf(!Empty(_aTotal[113]),_aTotal[113],"01") + _aTotal[098] //MetodoPago (PRE) cCadOrig += IIf(Alltrim(SF2->F2_TIPODOC) == "21", "", Alltrim(SE4->E4_MPAGSAT) + _aTotal[098] ) //LugarExpedicion (PRE) cCadOrig += CFDCarEsp(AllTrim(SM0->M0_CEPENT)) + _aTotal[098] //Periodicidad (PRE) cCadOrig += IIf(SF2->(ColumnPos("F2_IDCBAJA")) > 0 .And. SF2->F2_GLOBAL == "1", SF2->F2_IDCBAJA + _aTotal[098],"") //Meses (PRE) cCadOrig += IIf(SF2->(ColumnPos("F2_MODCONS")) > 0 .And. SF2->F2_GLOBAL == "1", SF2->F2_MODCONS + _aTotal[098],"") //Año (PRE) cCadOrig += IIf(SF2->(ColumnPos("F2_PTOEMIS")) > 0 .And. SF2->F2_GLOBAL == "1", SF2->F2_PTOEMIS + _aTotal[098],"") //////////////////////CFDI Relacionados////////////////////////// (PREREG)!Empty(SF2->F2_RELSAT).Or. !Empty(SF2->F2_SERMAN).Or. !Empty(SF2->F2_DOCMAN) (PRE) 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(SF2->F2_ESPECIE) <> "NDI" (PRE) SA1->(MSSeek(xFilial("SA1")+SF2->F2_CLIENTE+SF2->F2_LOJA)) (PRE) SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS)) //Rfc (PRE) (cCadOrig += IIf(!_aTotal[104] .And. ((ALLTRIM(SF2->F2_TIPODOC) == "21" .And. !lCCCE) .Or. SF2->F2_GLOBAL == "1"), "XAXX010101000", CFDCarEsp(_aTotal[108], .F.)) + _aTotal[098]) //Nombre (PRE) (cCadOrig += IIF(SF2->F2_GLOBAL == "1", "PUBLICO EN GENERAL",CFDCarEsp(_aTotal[109],.F.)) + _aTotal[098], .T.) //DomicilioFiscalReceptor (PRE) (cCadOrig += CFDCarEsp(_aTotal[110],.F.) + _aTotal[098], .T.) //ResidenciaFiscal (PRE) IIf(lCCCE .And. !Empty(CFDCarEsp(Alltrim(SF2->F2_RESIDE))) .And. !_aTotal[076], 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))) .And. !_aTotal[076], cCadOrig += CFDCarEsp(AllTrim(AllTrim(SF2->F2_IDTRIB))) + _aTotal[098], "") //RegimenFiscalReceptor (PRE) (cCadOrig += IIf(AI0->(ColumnPos("AI0_REGFIS")) > 0,CFDCarEsp(_aTotal[111],.F.) + _aTotal[098],""), .T.) //UsoCFDI (PRE) (cCadOrig += Alltrim(SF2->F2_USOCFDI) + _aTotal[098], .T.) (PRE) (cCadOrig += fXMLFUN("CO",.T., IIf(ALLTRIM(SF2->F2_TIPODOC) == "21",.T.,.F.),_aTotal[104]),.T.) (PRE) (cCadOrig += fXMLFUN("TI",.T., IIf(ALLTRIM(SF2->F2_TIPODOC) == "21",.T.,.F.)),.T.) (POS) IIf(lCCCE, cCadOrig += "2.0" + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SF2->F2_TRASLA), cCadOrig += Alltrim(SF2->F2_TRASLA) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SF2->F2_CVEPED), cCadOrig += Alltrim(SF2->F2_CVEPED) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SF2->F2_CERORI), cCadOrig += Alltrim(SF2->F2_CERORI) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SF2->F2_NUMCER), cCadOrig += Alltrim(SF2->F2_NUMCER) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SF2->F2_EXPCONF), cCadOrig += Alltrim(SF2->F2_EXPCONF) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(SF2->F2_INCOTER), cCadOrig += Alltrim(SF2->F2_INCOTER) + _aTotal[098], "") (POS) IIf(lCCCE .And. SF2->(ColumnPos("F2_OBSCE")) > 0 .And. !Empty(SF2->F2_OBSCE), cCadOrig += CFDCarEsp(AllTrim(SF2->F2_OBSCE), .F.) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(Str(SF2->F2_TCUSD)), cCadOrig += Alltrim(Str(SF2->F2_TCUSD)) + _aTotal[098], "") (POS) IIf(lCCCE .And. !Empty(Str(SF2->F2_TOTUSD)), cCadOrig += Alltrim(Str(SF2->F2_TOTUSD,14,2)) + _aTotal[098], "") //Emisor (POS) IIf(lCCCE , cCadOrig += CFDCarEsp(AllTrim(SM0->M0_ENDCOB)) + _aTotal[098], "") (POS) IIf(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) 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 .And. _aTotal[108] == "XEXX010101000", cCadOrig += CFDCarEsp(AllTrim(AllTrim(SF2->F2_IDTRIB))) + _aTotal[098], "") (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], "") //Destinatarios (POS) IIf(lCCCE .And. FindFunction("LxCEDest") .And. SF2->(ColumnPos("F2_ACOPLA")) > 0, cCadOrig += LxCEDest(SF2->F2_CLIENTE,SF2->F2_LOJA,SF2->F2_ACOPLA, .T.), "") (POS) cCadOrig += IIf(!Empty(cCadOriCCE), cCadOriCCE, "") //Carta Porte (POS) 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.),"") (POS) (cCadOrig += fXMLFUN("IL",.T., IIf(ALLTRIM(SF2->F2_TIPODOC) == "21",.T.,.F.)),.T.) (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 := "MIIFuTCCA6GgAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0NDIwDQYJKoZIhvcNAQEL" (PRE) cCert +="BQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFE" (PRE) cCert +="TUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9y" (PRE) cCert +="aXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0w" (PRE) cCert +="GwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJ" (PRE) cCert +="BgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhD" (PRE) cCert +="T1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3Bv" (PRE) cCert +="bnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTI1OTI2WhcNMjcwNTE4MTI1OTI2" (PRE) cCert +="WjCB4DEqMCgGA1UEAxMhWEVOT04gSU5EVVNUUklBTCBBUlRJQ0xFUyBTIERFIENW" (PRE) cCert +="MSowKAYDVQQpEyFYRU5PTiBJTkRVU1RSSUFMIEFSVElDTEVTIFMgREUgQ1YxKjAo" (PRE) cCert +="BgNVBAoTIVhFTk9OIElORFVTVFJJQUwgQVJUSUNMRVMgUyBERSBDVjElMCMGA1UE" (PRE) cCert +="LRMcWElBMTkwMTI4SjYxIC8gVkFEQTgwMDkyN0RKMzEeMBwGA1UEBRMVIC8gVkFE" (PRE) cCert +="QTgwMDkyN0hTUlNSTDA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG" (PRE) cCert +="9w0BAQEFAAOCAQ8AMIIBCgKCAQEAga5zxQ4mEBE4LobElO0+UyMDcAYbY0NJbg4x" (PRE) cCert +="Nbvwd66CUuTjyK2q11Y6nTzod1I1Nhv75cfZbJzdW/4EO/1bGLEt3zpTnP0yDVh9" (PRE) cCert +="KL4/WJ0QW5kR4QVpxd84aBkJe7FltC5j+FUiDSCCLpSBlGvwZdFAwZhSZvHeFB1i" (PRE) cCert +="1pDc3rA/PvqJwn35goEdIfhgfymg+31LuL1stU30pOSYtxltiEoM3QFePVurYhYq" (PRE) cCert +="sxNmZMGkRvVNrf/SnZsiaLUonM8CNLfhJIFxBraH3qeZ3iCaeFgL8zO5ux+8D1XA" (PRE) cCert +="g2RpJLf7gFVC9fWOc9yaHKNsjkt1E2YauH9KpHxRAjt3zKniywIDAQABox0wGzAM" (PRE) cCert +="BgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAR73v" (PRE) cCert +="D0WGeWtnZyIFixfsNtvM3068JFvn4LJ0aF0ZZwTJhcff7OrUrpsrCjMzpIOB3Lfq" (PRE) cCert +="5DLtaIPNeEkSa5W4yi1XJ930kcJ4kubi16jmTIMIZ7w9fy8p99gggTMbYiFf0Jzv" (PRE) cCert +="fz+PQqqpsfnc3lMVV/GkHvs8QHEekZxpWHS22oE/S5wKq7b85oW649fC834EoZGI" (PRE) cCert +="sb80Rna4ATuDxbt3dvzTR/b/eyricihMBqQ1MPCi9D81o1/3EPEOZNYFcC+yQK7M" (PRE) cCert +="+/C7pivs0A972q8LYxG8DzmaKV8zLg+IR9ygdYdl/y/Snoeo0udV4yUlzug7i5IG" (PRE) cCert +="ZbfUh2jo3WEkEdIpty+lcVt2PtWOTdR70V0oCivE0MV0qw9GRzFAr6G71fra6r+s" (PRE) cCert +="UKUwxQBn07pi6hHmmZ7/DZ9QCaheqD9ttdhlQhpTTt0UPpWY9CDUJKpbWlkKYUzL" (PRE) cCert +="Pkdf/ppjiizbP1fqDcoIfZxl4RPKKtr0eIJWhEnuVirZ0kevHXEspI+igdMqk8MR" (PRE) cCert +="ndZSoohuIuLdjKjfXEGBALoqUzAB6avN2zzEy6ERRCGfR3cVhVUTcpd/iQffeGvw" (PRE) cCert +="7tRZZOiWgwG3Sjc/zgUppnFXfVFHCTmRz1nr0dOqKjOpMEMncRSfY2Mk+Xm8rmJ7" (PRE) cCert +="toBu4iAyJUDCP6v24as1uxiE9DVDaFwlugdYL9c=" (PRE) lCCCE := IIf(SuperGetMV("MV_CFDIEXP",.F.,.F.) .And. !Empty(SF2->F2_TIPOPE) .And. _aTotal[114], .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) _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] += Iif(_aTotal[104],' xmlns:cartaporte30="http://www.sat.gob.mx/CartaPorte30"','' ) (PRE) _aTotal[001] += ' xmlns:implocal="http://www.sat.gob.mx/implocal"' (PRE) _aTotal[001] += IIf(lCCCE .And. SA1->A1_CONTRBE == "1" .And. Alltrim(SF2->F2_ESPECIE) == "NF", ' xmlns:leyendasFisc="http://www.sat.gob.mx/leyendasFiscales"' , "" <cbc:Department><![CDATA['+ AllTrim(SM0->M0_BAIRENT) +']]></cbc:Department>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd ' <cbc:CitySubdivisionName><![CDATA['+ AllTrim(SM0->M0_CODMUN) +']]></cbc:CitySubdivisionName>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += IIF(lCCCE,'http://www.sat.gob.mx/ComercioExterior20 http://www.sat.gob.mx/sitio_internet/cfd/ComercioExterior20/ComercioExterior20.xsd ','http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.xsd')' <cbc:CityName><![CDATA['+ Alltrim(SM0->M0_CIDENT) +']]></cbc:CityName>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cac:AddressLine>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += IIf(' <cbc:Line><![CDATA['+ Alltrim(SM0->M0_ENDENT) + " " + Alltrim(SM0->M0_COMPENT) +']]></cbc:Line>' + ( chr(13)+chr(10) ) (PRE) _aTotal[104001] ,' http://www.sat.gob.mx/CartaPorte30 http://www.sat.gob.mx/sitio_internet/cfd/CartaPorte/CartaPorte30.xsd',''+= ' </cac:AddressLine>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += IIf(lCCCE .And. SA1->A1_CONTRBE == "1" .And. Alltrim(SF2->F2_ESPECIE) == "NF", ' http://www.sat.gob.mx/leyendasFiscales http://www.sat.gob.mx/sitio_internet/cfd/leyendasFiscales/leyendasFisc.xsd"' , '"'' <cac:Country>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:IdentificationCode>'+ "CO" +'</cbc:IdentificationCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += IIf(lCCCE, ' xmlns:cce20="http://www.sat.gob.mx/ComercioExterior20" ' , "")' </cac:Country>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' Version="4.0"' (PRE) _aTotal[001] += ' Serie="' + Alltrim(SF2->F2_SERIE) + '"' </fe:Address>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' Folio="' + Alltrim(SF2->F2_DOC) + '"' </fe:PhysicalLocation>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' Fecha="' + Alltrim(_aTotal[096]) + '"' <fe:PartyTaxScheme>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' Sello=" <cbc:TaxLevelCode>'+ AlltrimAllTrim(_aTotal[100]SM0->M0_DSCCNA) +'"'</cbc:TaxLevelCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += IIf(Alltrim(SF2->F2_TIPODOC) == "21", "", ' FormaPago="' + IIf(SF2->F2_GLOBAL == '1',IIf(!Empty(_aTotal[112]),_aTotal[112],_aTotal[107]),IIf(Empty(_aTotal[107]) .Or. Alltrim(SE4->E4_MPAGSAT) == "PPD","99",_aTotal[107])) + '"' )' <cac:TaxScheme/>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </fe:PartyTaxScheme>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' NoCertificado="' + Alltrim(SF2->F2_CERTFOL) + '"' <fe:PartyLegalEntity>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' Certificado="' + cCert + '"' <cbc:RegistrationName><![CDATA['+ _aTotal[075] +']]></cbc:RegistrationName>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += IIf(Alltrim(SF2->F2_TIPODOC) == "21", "", ' CondicionesDePago="' + CFDCarEsp(Alltrim(SE4->E4_DESCRI)) + '"' ) = ' </fe:PartyLegalEntity>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' SubTotal="' + Alltrim(STR(IIF(ALLTRIM(SF2->F2_TIPODOC) == "21", 0, (SF2->(F2_VALMERC+F2_FRETE+F2_SEGURO+F2_DESPESA) + _aTotal[103] + SF2->F2_DESCONT) - _aTotal[036] - _aTotal[037] ),14,_aTotal[106])) + '"' (PRE </fe:Party>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </fe:AccountingSupplierParty>' (PRE) _aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001] += IIF(ALLTRIM [XXX RECEPTOR] (PRE) AllTrim(SF2->F2_TIPODOCESPECIE) == <> "21", "", IIf( NDI" (PRE) SA1->(MSSeek(xFilial("SA1")+SF2->F2_DESCONT == 0, "", ' Descuento="' + Alltrim(STR(CLIENTE+SF2->F2_DESCONT,14,2)) + '"' LOJA)) (PRE) SYA->(MsSeek(xFilial("SYA")+SA1->A1_PAIS)) (PRE) _aTotal[001] +:= ' Moneda="' + IIf(Alltrim(SF2->F2_TIPODOC) == "21","XXX",Alltrim(CTO->CTO_MOESAT)) + '"' <fe:AccountingCustomerParty>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += IIf(Alltrim(SF2->F2_TIPODOC) == "21", "", ' TipoCambio="' + IIf(Alltrim(CTO->CTO_MOESAT) <> "MXN", Alltrim(STR(SF2->F2_TXMOEDA,14,2))+= ' <cbc:AdditionalAccountID>'+ IIF( AllTrim(SA1->A1_PESSOA) == "F" , "2" , "1" ) +'"') </cbc:AdditionalAccountID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' Total="' + 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] - IIf(Len(_aTotal[115]) > 0,_aTotal[115][1],0),Round(SF2->F2_VALBRUT,2) + _aTotal[103] - _aTotal[037] - _aTotal[038] - IIf(Len(_aTotal[115]) > 0,_aTotal[115][1],0))),14,_aTotal[106])) + '"' (PRE) _aTotal[001] += ' TipoDeComprobante="' + IIf(Alltrim(SF2->F2_ESPECIE) == "NF",IIf(Alltrim(SF2->F2_TIPODOC) == "21", "T", "I"), "E") + '"' (PRE) _aTotal[001] += ' Exportacion="'+IIf(!Empty(_aTotal[113]),_aTotal[113],"01")+'"' <fe:Party>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <fe:PartyTaxScheme>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:RegistrationName><![CDATA['+ Alltrim(SA1->A1_NOME) +']]></cbc:RegistrationName>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:CompanyID schemeID="' + Right( Alltrim(SA1->A1_CGC), 1 ) + '" schemeName="' + AllTrim(SA1->A1_TIPDOC)+ '" schemeAgencyName="CO, DIAN (Dirección de Impuestos y Aduanas Nacionales)" schemeAgencyID="195">'+ IIF(AllTrim(SA1->A1_TIPDOC) == "31",Left(Alltrim(SA1->A1_CGC),Len(Alltrim(SA1->A1_CGC))-1),AllTrim(SA1->A1_PFISICA))+'</cbc:CompanyID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:TaxLevelCode listName="' + Alltrim(AI0->AI0_TPREG) + '">' + AllTrim(M486RESOBL(SA1->A1_COD,SA1->A1_LOJA,"R")) + '</cbc:TaxLevelCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += IIf(Alltrim(SF2->F2_TIPODOC) == "21", "", ' MetodoPago="' + Alltrim(SE4->E4_MPAGSAT) + '"' ' <cac:RegistrationAddress>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' LugarExpedicion="' + CFDCarEsp(AllTrim(SM0->M0_CEPENT)) + '"'' <cbc:ID>' + Alltrim(SA1->A1_COD_MUN) + '</cbc:ID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' >' (PREREG) _aTotal[001](POS) cNodoCCE := IIf(lCCCE, ' <cce20:ComercioExterior' , "") (POS) cNodoCCE += IIf(lCCCE, ' Version="2.0"' , "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF2->F2_TRASLA), ' MotivoTraslado="' + Alltrim(SF2->F2_TRASLA) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF2->F2_CVEPED), ' ClaveDePedimento="' + Alltrim(SF2->F2_CVEPED) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF2->F2_CERORI), ' CertificadoOrigen="' + Alltrim(SF2->F2_CERORI) +'"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF2->F2_NUMCER), ' NumCertificadoOrigen="' + Alltrim(SF2->F2_NUMCER) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF2->F2_EXPCONF), ' NumeroExportadorConfiable="' + Alltrim(SF2->F2_EXPCONF) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(SF2->F2_INCOTER), ' Incoterm="' + Alltrim(SF2->F2_INCOTER) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. SF2->(ColumnPos("F2_OBSCE")) > 0 .And. !Empty(SF2->F2_OBSCE), ' Observaciones="' + CFDCarEsp(AllTrim(SF2->F2_OBSCE), .T.) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(Str(SF2->F2_TCUSD)), ' TipoCambioUSD="' + Alltrim(Str(SF2->F2_TCUSD)) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(Str(SF2->F2_TOTUSD)), ' TotalUSD="' + Alltrim(Str(SF2->F2_TOTUSD,14,2)) + '"', "") (POS) cNodoCCE += IIf(lCCCE, '> <cbc:CityName><![CDATA[' + Alltrim(POSICIONE("CC2",3,xFilial("CC2") + SA1->A1_COD_MUN,"CC2_MUN")) + ']]></cbc:CityName>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:PostalZone>' + Alltrim(SA1->A1_CEP) + '</cbc:PostalZone>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:CountrySubentity><![CDATA[' + Alltrim(M486VALSX5('12' + SA1->A1_EST)) + ']]></cbc:CountrySubentity>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:CountrySubentityCode>' + Alltrim(SA1->A1_EST) + '</cbc:CountrySubentityCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cac:AddressLine>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:Line><![CDATA[' + Alltrim(SA1->A1_END) + ']]></cbc:Line>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </cac:AddressLine>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cac:Country>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:IdentificationCode>'+Posicione("SYA",1,xFilial("SYA")+SA1->A1_PAIS,"YA_CCEDIAN")+'</cbc:IdentificationCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </cac:Country>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </cac:RegistrationAddress>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </fe:PartyTaxScheme>' + ( chr(13)+chr(10) ), "") (POSPRE) _aTotal[094] := cNodoCCE[XXX CFDIREL] (PREREG) !Empty(SF2->F2_RELSAT).Or. !Empty(SF2->F2_SERMAN).Or. !Empty(SF2->F2_DOCMAN) (PREREG) (001] += ' <cac:PartyIdentification>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:= IIf(_aTotal[104] .And. Alltrim(SF2->F2_TIPODOC) == "21","",fGetFolRel("S"))) (PREREG) _aTotal[001][XXX FACTURA GLOBAL] (PRE) (_aTotal[001] := IIF(SF2->F2_GLOBAL == "1",' <cfdi:InformacionGlobal ',""CompanyID schemeID="' + Right( Alltrim(SA1->A1_CGC), 1 ) + '" schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)" schemeName="' + AllTrim(SA1->A1_TIPDOC)+ '">'+ IIF(AllTrim(SA1->A1_TIPDOC) == "31",Left(Alltrim(SA1->A1_CGC),Len(Alltrim(SA1->A1_CGC))-1),AllTrim(SA1->A1_PFISICA))+'</cbc:CompanyID>' + ( chr(13)+chr(10) ) (PRE) ( _aTotal[001] += Iif(SF2->(ColumnPos("F2_IDCBAJA")) > 0 .and. SF2->F2_GLOBAL == "1" ,' Periodicidad="' + SF2->F2_IDCBAJA + '"',""' </cac:PartyIdentification>' + ( chr(13)+chr(10) ) (PRE) ( _aTotal[001] += IifIIF( AllTrim(SF2->(ColumnPos("F2_MODCONS")) > 0 .and. SF2->F2_GLOBAL == "1" ,' Meses="' + SF2->F2_MODCONS + '"',""SA1->A1_PESSOA) == "F" , "" , ' <cac:PartyName>' + ( chr(13)+chr(10) ) ) (PRE) ( _aTotal[001] += IifIIF( AllTrim(SF2->(ColumnPos("F2_PTOEMIS")) > 0 .and. SF2->F2_GLOBAL == "1" ,' Año="' + SF2->F2_PTOEMIS + '"',""SA1->A1_PESSOA) == "F" , "" , ' <cbc:Name><![CDATA['+ Alltrim(SA1->A1_NOME) +']]></cbc:Name>' + ( chr(13)+chr(10) ) ) (PRE) ( _aTotal[001] += IIF( SF2AllTrim(SA1->F2>A1_GLOBAL PESSOA) == "1F" , "" , ' />' ,"")) (PRE) (_aTotal[001] := IIF(SF2->F2_GLOBAL == "1",_aTotal[001] ,"" </cac:PartyName>' + ( chr(13)+chr(10) ) ) (PREREGPRE) _aTotal[001] [XXX EMISOR] += ' <fe:PhysicalLocation>' + ( chr(13)+chr(10) ) (PRE) ( _aTotal[001] :+= ' <cfdi:Emisor' , .T. <fe:Address>' + ( chr(13)+chr(10) ) (PRE) ( _aTotal[001] += ' Rfc="' + CFDCarEsp(AllTrim(SM0->M0_CGC))+ '"' , .T. <cbc:Department><![CDATA['+ AllTrim(SA1->A1_BAIRRO) +']]></cbc:Department>' + ( chr(13)+chr(10) ) (PRE) ( _aTotal[001] += ' Nombre="' + CFDCarEsp(_aTotal[075],.T.) + '"' , .T.[001] += ' <cbc:CitySubdivisionName><![CDATA['+ AllTrim(SA1->A1_MUN) +']]></cbc:CitySubdivisionName>' + ( chr(13)+chr(10) ) (PRE) ( _aTotal[001] += ' RegimenFiscal="' + CFDCarEsp(Alltrim(SM0->M0_DSCCNA)) + '"' , .T. <cbc:CityName><![CDATA['+ Alltrim(Posicione("SX5",1,xFilial("SX5")+"12"+SA1->A1_EST,"X5_DESCRI")) +']]></cbc:CityName>' + ( chr(13)+chr(10) ) (PRE) ( _aTotal[001] += '/>' , .T.' <cac:AddressLine>' + ( chr(13)+chr(10) ) (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) .And. _aTotal[114], .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(+= ' <cbc:Line><![CDATA['+ AllTrim(SA1->A1_END) +']]></cbc:Line>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </cac:AddressLine>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cac:Country>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:IdentificationCode>'+Posicione("SYA",1,xFilial("SYA")+SA1->A1_PAIS)) , .T._PAIS,"YA_CCEDIAN")+'</cbc:IdentificationCode>' + ( chr(13)+chr(10) ) (PREREGPRE) ( _aTotal[001] :+= ' <cfdi:Receptor' , .T. </cac:Country>' + ( chr(13)+chr(10) ) (PREREGPRE) ( _aTotal[001] += ' Rfc="' + CFDCarEsp(IIf(!_aTotal[104] .And.((Alltrim(SF2->F2_TIPODOC) == "21" .And. !lCCCE) .Or. SF2->F2_GLOBAL == "1"), "XAXX010101000", _aTotal[108])) + '"' , .T.) (PREREG) ( </fe:Address>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </fe:PhysicalLocation>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' Nombre="' + iif(SF2->F2_GLOBAL IIF( AllTrim(SA1->A1_PESSOA) == "1F" , "PUBLICO EN GENERAL",CFDCarEsp(_aTotal[109],.T.)) + '"' , .T.) (PREREG) (" , ' <fe:PartyLegalEntity>' + ( chr(13)+chr(10) ) ) (PRE) _aTotal[001] += ' DomicilioFiscalReceptor="' + _aTotal[110] + '"' , .T.) (PREREG) (= IIF( AllTrim(SA1->A1_PESSOA) == "F" , "" , ' <cbc:RegistrationName><![CDATA['+ Alltrim(SA1->A1_NOME) +']]></cbc:RegistrationName>' + ( chr(13)+chr(10) ) ) (PRE) _aTotal[001] += IifIIF( AllTrim(AI0->(ColumnPos("AI0_REGFIS")) > 0,' RegimenFiscalReceptor="' + _aTotal[111] + '"',""), .T.) (PREREG) (SA1->A1_PESSOA) == "F" , "" , ' </fe:PartyLegalEntity>' + ( chr(13)+chr(10) ) ) (PRE) _aTotal[001] += ' <cac:Contact>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' UsoCFDI=" <cbc:ElectronicMail>' + AlltrimAllTrim(SF2SA1->F2>A1_USOCFDIEMAIL) + '"' , .T.) (PREREG) IIf(lCCCE .And. !Empty(CFDCarEsp(AllTrim(AllTrim(SF2->F2_IDTRIB)))) .And. !_aTotal[076], (</cbc:ElectronicMail>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' NumRegIdTrib=" <cbc:Telephone>' + CFDCarEsp( AllTrim(AllTrim(SF2SA1->F2>A1_IDTRIBTEL) )) + '"' , .T.), "") (PREREG) IIf(lCCCE .And. !Empty(CFDCarEsp(AllTrim(AllTrim(SF2->F2_RESIDE)))) .And. !_aTotal[076], (_aTotal[001] += ' ResidenciaFiscal="' + AllTrim(Posicione("SYA",1,xFilial("SYA")+SF2->F2_RESIDE,"YA_CCESAT")) + '"' , .T.</cbc:Telephone>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </cac:Contact>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += IIF( AllTrim(SA1->A1_PESSOA) == "F" , ' <fe:Person>' + ( chr(13)+chr(10) ) , "" ) (PREREGPRE) ( _aTotal[001] += IIF( AllTrim(SA1->A1_PESSOA) == "F" , ' <cbc:FirstName><![CDATA[' + Alltrim(SA1->A1_NOMEPRI) +'/>' ,.T.) (PREREG) (_aTotal[001] := _aTotal[001] , .T.) (PREREG]]></cbc:FirstName>' + ( chr(13)+chr(10) ) , "" ) (PRE) _aTotal[001] (POS) cNodoCCE += IIf(lCCCE+= IIF( AllTrim(SA1->A1_PESSOA) == "F" , ' <cce20:Emisor' , "") (POS) cNodoCCE += IIf(lCCCE, '> <cbc:MiddleName><![CDATA[' + Alltrim(SA1->A1_NOMEPES) +']]></cbc:MiddleName>' + ( chr(13)+chr(10) ) , "" ) (POS) cNodoCCE PRE) _aTotal[001] += IIf(lCCCEIIF( AllTrim(SA1->A1_PESSOA) == "F" , ' <cce20:Domicilio' , "") (POS) cNodoCCE += IIf(lCCCE, ' Calle="' + CFDCarEsp(AllTrim(SM0->M0_ENDCOB)) + '"' <cbc:FamilyName><![CDATA[' + Alltrim(SA1->A1_NOMEPAT) + ' ' + Alltrim(SA1->A1_NOMEMAT) +']]></cbc:FamilyName>' + ( chr(13)+chr(10) ) , "" ) (POS) cNodoCCE += IIf(lCCCE .And. !Empty(CFDCarEsp(CFDCarEsp(AllTrim(SM0->M0_CEPENT)))), ' Colonia="' + CFDCarEsp(AllTrim(ObtColSAT("S015",AllTrim(SM0->M0_CODZOSE)+ALLTRIM(SM0->M0_CEPENT),1,9,1,4))) + '"', "") (POS) cNodoCCE += IIf(lCCCE .And. !Empty(CFDCarEsp(AllTrim(SM0->M0_CEPENT))), ' Municipio="' + CFDCarEsp(AllTrim(SM0->M0_CODMUN)) + '"', "") (POS) cNodoCCE += IIf(lCCCE, ' Estado="' + CFDCarEsp(Alltrim(ObtColSAT("S004",AllTrim(SM0->M0_CEPENT),1,5,6,3))) + '"', "") (POS) cNodoCCE += IIf(lCCCE, ' Pais="' + AllTrim("MEX") + '"', "") (POS) cNodoCCE += IIf(lCCCE, ' CodigoPostal="' + AllTrim(SM0->M0_CEPENT) + '"', "") (POS) cNodoCCE += IIf(lCCCE, '/>PRE) _aTotal[001] += IIF( AllTrim(SA1->A1_PESSOA) == "F" , ' </fe:Person>' + ( chr(13)+chr(10) ) , "" ) (PRE) _aTotal[001] += ' </fe:Party>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </fe:AccountingCustomerParty>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cac:PaymentTerms>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:Amount currencyID="' + Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_MOEDA,2),"CTO_MOESAT") ) + '">' + Alltrim(Str(SF2->F2_VALBRUT,14,2)) + '</cbc:Amount>' + ( chr(13)+chr(10) ), "") (POS) cNodoCCE PRE) _aTotal[001] += IIf(lCCCE, ' </cce20:Emisor> <cac:SettlementPeriod>' + ( chr(13)+chr(10) ), "") (POS) cNodoCCE PRE) _aTotal[001] += IIf(lCCCE, ' <cce20 <cbc:Receptor StartDate>' + IIf(_aTotal[108]=="XEXX010101000", 'NumRegIdTrib="' + CFDCarEsp(AllTrim(SF2->F2_IDTRIB)) + '"',""), "") (POS) cNodoCCE += IIf(lCCCE, '>Transform( DtoS( Posicione("SE1",2,xFilial("SE1")+SF2->(F2_CLIENTE+F2_LOJA+F2_SERIE+F2_DOC),"E1_EMISSAO") ) , "@R 9999-99-99") + '</cbc:StartDate>' + ( chr(13)+chr(10) ), "") (POS) cNodoCCE PRE) _aTotal[001] += IIf(lCCCE, ' <cce20: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, '/> <cbc:EndDate>' + Transform( DtoS( Posicione("SE1",2,xFilial("SE1")+SF2->(F2_CLIENTE+F2_LOJA+F2_SERIE+F2_DOC),"E1_VENCTO") ) , "@R 9999-99-99") + '</cbc:EndDate>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </cac:SettlementPeriod>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </cac:PaymentTerms>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cac:PaymentExchangeRate>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:SourceCurrencyCode>' + Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_MOEDA,2),"CTO_MOESAT") ) + '</cbc:SourceCurrencyCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:SourceCurrencyBaseRate>1.00</cbc:SourceCurrencyBaseRate>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:TargetCurrencyCode>' + "COP" + '</cbc:TargetCurrencyCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:TargetCurrencyBaseRate>1.00</cbc:TargetCurrencyBaseRate>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:CalculationRate>' + Alltrim(Str(SF2->F2_TXMOEDA,11,GetSX3Cache("F2_TXMOEDA","X3_DECIMAL"))) + '</cbc:CalculationRate>' + ( chr(13)+chr(10) ), "") (POS) cNodoCCE PRE) _aTotal[001] += IIf(lCCCE, ' </cce20:Receptor> <cbc:Date>' + _aTotal[095] + '</cbc:Date>' + ( chr(13)+chr(10) ), "") //Destintarios (POS) cNodoCCE += IIf(lCCCE .And. FindFunction("LxCEDest") .And. SF2->(ColumnPos("F2_ACOPLA")) > 0, LxCEDest(SF2->F2_CLIENTE,SF2->F2_LOJA,SF2->F2_ACOPLA,.F.),"") (POS) (cNodoCCE += IIf(lCCCE, ' <cce20:Mercancias>' )+chr(10) ) (PRE) _aTotal[001] += ' </cac:PaymentExchangeRate>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001] [XXX IMPUESTOS] (PRE) _aTotal[001] := _aTotal[097][1] (PRE) ), "")_aTotal[001] := ENCODEUTF8(_aTotal[001]) (PREREG) _aTotal[001] [XXX TOTALES] (PRE,.T.) (POS) _aTotal[094001] += cNodoCCE[SD2 CONCEPTO:= _aTotal[097][2] (PRE) lCCCE _aTotal[001] := IIf(SuperGetMVENCODEUTF8("MV_CFDIEXP",.F.,.F.) .And. !Empty(SF2->F2_TIPOPE) .And. _aTotal[114] , .T., .F.) (PRE) cNodoCCE := ""_aTotal[001]) (PREREG) _aTotal[001] [SD2 INVOICE] (PRE) DbGoTop() (PREREG) (cNodoCCE += IIf(lCCCE, ' <cce20:Mercancia' , "")(SB1->(DbSeek(xFilial("SB1") + SD2->D2_COD)),.T.) (PREREG) (cNodoCCE += IIf(lCCCE , ' NoIdentificacion="' + Alltrim(SD2->D2_ITEM + SD2->D2_COD) + '"', ""(SAH->(DbSeek(xFilial("SAH") + SB1->B1_UM)),.T.) (PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(_aTotal[108] := fGetTaxDet(SD2->D2_DOC,SD2->D2_SERIE,SD2->D2_FRACCA), ' FraccionArancelaria="' + Alltrim(CLIENTE,SD2->D2_FRACCA) + Alltrim(LOJA,SD2->D2_NICO) + '"', ""),.T.TES,AllTrim(SF2->F2_ESPECIE)) (PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(Str(SD2->D2_CANADU)), ' CantidadAduana="' + Alltrim(Str(SD2->D2_CANADU)) + '"', ""_aTotal[001] := IIF(AllTrim(SF2->F2_ESPECIE)=="NF",' <fe:InvoiceLine>' + ( chr(13)+chr(10) ),' <cac:DebitNoteLine>' + ( chr(13)+chr(10) )),.T.) (PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(SD2->D2_FRACCA), ' UnidadAduana="' + AllTrim(ObtColSAT("S014",AllTrim_aTotal[001] += ' <cbc:ID>' + Alltrim(Str(Val(SD2->D2_FRACCA),1,8,9,2ITEM))) + '"', ""</cbc:ID>' + ( chr(13)+chr(10) ),.T.) (PREREG) (cNodoCCE _aTotal[001] += IIf(lCCCE .And. !Empty(Str(SD2->D2_VALADU)), ' ValorUnitarioAduana="IIF(AllTrim(SF2->F2_ESPECIE)=="NF",' <cbc:InvoicedQuantity unitCode="' + Alltrim(_aTotal[108][3]) + '">'+ Alltrim(Str(SD2->D2_VALADU,14,2QUANT)) +'"', ""),.T.) (PREREG) (cNodoCCE += IIf(lCCCE, ' ValorDolares</cbc:InvoicedQuantity>' + ( chr(13)+chr(10) ),' <cbc:DebitedQuantity unitCode="' + Alltrim(Str(SD2->D2_USDADU,14,2)) + '"', ""),.T.) (PREREG) (cNodoCCE += IIf(lCCCE, '>' + ( chr(13)+chr(10) ) , ""),.T.) (PREREG) (cNodoCCE += IIf(lCCCE, ' </cce20:Mercancia>' _aTotal[108][3]) + '">'+ Alltrim(Str(SD2->D2_QUANT)) +'</cbc:DebitedQuantity>' + ( chr(13)+chr(10) ), ""),.T.) (POSPREREG) (cNodoCCE _aTotal[001] += IIf(lCCCE, ' </cce20:Mercancias> <cbc:LineExtensionAmount currencyID=' + '"' + ( chr(13)+chr(10) ), ""),.T.) (POS) (cNodoCCE += IIf(lCCCE, ' </cce20:ComercioExterior>' , ""),.T.) (POS) _aTotal[094] += cNodoCCE(POS) (_aTotal[034] := fXMLFUN("CO",.F., IIf(ALLTRIM(SF2->F2_TIPODOC) == "21",.T.,.F.),_aTotal[104]Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_MOEDA,2),"CTO_MOESAT") ) + '"' + '>' + Alltrim(Str(SD2->D2_TOTAL ,14,2)) +'</cbc:LineExtensionAmount>' + ( chr(13)+chr(10) ),.T.) [XXX CONCEPTOS] (POSPREREG) FsQuery (_aTotal[001] += _aTotal[097108][1],2.T.) (PREREG) (_aTotal[001] :+= _aTotal[034] IIF(SD2->D2_DESCON > 0, ' <cac:AllowanceCharge>' + chr(13)+chr(10), ""),.T.) (PREREG) (_aTotal[001] [XXX IMPUESTOS]+= IIF(SD2->D2_DESCON > 0, ' <cbc:ChargeIndicator>false</cbc:ChargeIndicator>' + chr(13)+chr(10), ""),.T.) (PREREG) (_aTotal[002001] :+= fXMLFUN("TI",.F.,IIf(ALLTRIM(SF2->F2_TIPODOC) == "21",.T.,.F.)IIF(SD2->D2_DESCON > 0, ' <cbc:AllowanceChargeReason><![CDATA[Aplicación de descuento]]></cbc:AllowanceChargeReason>' + chr(13)+chr(10), ""),.T.) (PREREG) (_aTotal[002]//IMPUESTOS LOCALES// (PRE) (_aTotal[095] := fXMLFUN("IL",.F.001] += IIF(SD2->D2_DESCON > 0, ' <cbc:MultiplierFactorNumeric>' + Alltrim(Str(SD2->D2_DESC,5,2)) + '</cbc:MultiplierFactorNumeric>' + chr(13)+chr(10), ""),.T.)[XXX COMPLEMENT] (PREREG) IIf (_aTotal[011],_aTotal[105] := LxFunaCaPo(SF2->F2_FILIAL,SF2->F2_DOC,SF2->F2_SERIE,.F.,IIf(ALLTRIM001] += IIF(SD2->D2_DESCON > 0, ' <cbc:Amount currencyID="' + Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_TIPODOC) == "21",.T.,.F.),_aTotal[104]),"") (PREREG) (_aTotal[001] := IIF(!EMPTY(_aTotal[094] ) .or. !EMPTY(_aTotal[095] ) .Or. !Empty(_aTotal[105]) .or. _aTotal[104] , ' <cfdi:Complemento'MOEDA,2),"CTO_MOESAT") ) + '">' + Alltrim(Str(Round(xMoeda(SD2->D2_DESCON,SF2->F2_MOEDA,1,,MsDecimais(1)+1,SF2->F2_TXMOEDA),MsDecimais(1)),14,2)) + '</cbc:Amount>' + chr(13)+chr(10), ""),.T.) (PREREG) (_aTotal[001] += IIF(!EMPTY(_aTotal[094] ) .or. !EMPTY(_aTotal[095] ) .Or. !Empty(_aTotal[105]),'>',""),.T.) (PREREG) _aTotal[001] COMPLEMENT C 021 0 ENCODEUTF8(XMLConv("",,,"cfdi:Complemento",.T.,.F.,4))SD2->D2_DESCON > 0, ' </cac:AllowanceCharge>' + chr(13)+chr(10), ""),.T.)[XXX COMERCIOEX] (PREREG) (_aTotal[001] :+= _aTotal[094108][2],.T.) (PREREG) (_aTotal[001] [XXX CARTAPORTE] (PREREG) (_aTotal[001] := _aTotal[105]+= IIF(AllTrim(SF2->F2_ESPECIE)=="NF",' <fe:Item>', ' <cac:Item>') + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[001] [XXX IMPUESTOLOC] (PREREG) (_aTotal[001] := _aTotal[095]+= ' <cbc:Description><![CDATA['+ Alltrim(SB1->B1_DESC) +']]></cbc:Description>' + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[001] [XXX LEYENDASFIS] (PREREG) lCCCE := IIf(SuperGetMV("MV_CFDIEXP",.F.,.F.) .And. !Empty(SF2->F2_TIPOPE) .And. _aTotal[114], .T., .F.) .And. SF2->(FieldPos("F2_CONUNI")) > 0 (PREREG) lCCCE+= ' <cbc:PackSizeNumeric>'+ IIf(!Empty(SB1->B1_CONV),Alltrim(STR(SB1->B1_CONV)),"1") +'</cbc:PackSizeNumeric>' + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[001] += ' <cac:SellersItemIdentification>' + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[001] := IIF((!EMPTY(_aTotal[094] ) .or. !EMPTY+= ' <cbc:ID>' + Alltrim(SD2->D2_COD) + '</cbc:ID>' + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[095])) .And. !EMPTY(SF2->F2_CONUNI) .And. SA1->A1_CONTRBE == "1" .And. Alltrim001] += ' </cac:SellersItemIdentification>' + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[001] += IIF(AllTrim(SF2->F2_ESPECIE) == "NF" =="NF",' </fe:Item>', ' <leyendasFisc:LeyendasFiscales version="1.0" >' </cac:Item>') + ( chr(13)+chr(10) ) , "" ),.T.) (PREREG) (_aTotal[001] += IIF((!EMPTY(_aTotal[094] ) .or. !EMPTY(_aTotal[095])) .And. !EMPTY(SF2->F2_CONUNI) .And. SA1->A1_CONTRBE == "1" .And. AlltrimAllTrim(SF2->F2_ESPECIE)=="NF",' <fe:Price>',' <leyendasFisc <cac:Leyenda textoLeyenda=', ""Price>') + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[001] += IIF((!EMPTY(_aTotal[094] ) .or. !EMPTY(_aTotal[095])) .And. SF2->F2_CONUNI=="1" .And. SA1->A1_CONTRBE == "1" .And. Alltrim= ' <cbc:PriceAmount currencyID=' + '"' + Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_ESPECIE) == "NF", '"IMMEX:'+ AllTrim(SA1->A1_PFISICAMOEDA,2),"CTO_MOESAT") ) + '"' + _aTotal[101] + '" />' , IIF+ Alltrim(Str(!EMPTY(_aTotal[094] ) .or. !EMPTY(_aTotal[095])) .And. SF2->F2_CONUNI=="2" .And. SA1->A1_CONTRBE == "1" .And. Alltrim(SF2->F2_ESPECIE) == "NF",'"IMMEX:'+ AllTrim(SA1->A1_PFISICA) + ' ' + _aTotal[102] +'" />',""Round(xMoeda(SD2->D2_PRCVEN,SF2->F2_MOEDA,1,,MsDecimais(1)+1,SF2->F2_TXMOEDA),MsDecimais(1)),14,2)) +'</cbc:PriceAmount>' + ( chr(13)+chr(10) ),.T.) (PREREG) _aTotal[001] (PREREG) (_aTotal[001] += ' <cbc:= IIF((!EMPTY(BaseQuantity unitCode="' + Alltrim(_aTotal[094] ) .or. !EMPTY(_aTotal[095])) .And. !EMPTY(SF2->F2_CONUNI) .And. SA1->A1_CONTRBE == "1" .And. Alltrim(SF2->F2_ESPECIE) == "NF",' </leyendasFisc:LeyendasFiscales>', ""108][3]) + '">'+ Alltrim(Str(SD2->D2_QUANT)) +'</cbc:BaseQuantity>' + ( chr(13)+chr(10) ),.T.) (PREREG) _aTotal[001] [XXX COMPLEMENT] (PREREG) (_aTotal[001] :+= IIF(!EMPTYAllTrim(_aTotal[094]) .or. !EMPTY(_aTotal[095]) .or. !EMPTY(_aTotal[105]),' </cfdi:Complemento>',""SF2->F2_ESPECIE)=="NF",' </fe:Price>', ' </cac:Price>') + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[001] += IIF(AllTrim(SF2->F2_ESPECIE)=="NF",' </fe:InvoiceLine>' ,' </cac:DebitNoteLine>') ,.T.) (PREREG) ENCODEUTF8(_aTotal[001]) [XXX INVOICE_FIN] (POS) FsQuery(_aTotal[101],2) COMPLEMENT C 021 0 ENCODEUTF8(XMLConv("",,,"cfdi:Complemento",.F.,.T.,4))//[XXX CAD_ORIG] //(PREREG) _aTotal[033] [XXX FACTURA] (PRE) _aTotal[095094] := &(GetNewPar("MV_CFDNAF2","Lower(AllTrim(SF2->F2_ESPECIE)) 'face') + '_' + Lower(AllTrim(SF2->F2_SERIE)) + '_' + Lower(AllTrim(SF2->F2_DOC)_aTotal[105]) + Lower(_aTotal[104]) + Lower(_aTotal[106]) + '.xml'")) (ARQ) _aTotal[095094] FACTURA C 019 0 ENCODEUTF8( XMLConv("",,,"cfdi:Comprobante",.F.,.T.,0IIF(AllTrim(SF2->F2_ESPECIE)=="NF", '</fe:Invoice>','</fe:DebitNote>')) |