[XXX POSICIONAMENTOS] (PRE) If(AllTrim(SF2->F2_ESPECIE)<>"NDI",SA1->(MSSeek(xFilial("SA1")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .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) SA1->(DbSetOrder(1)) (PRE) _aTotal[016] := IIf(SF2->(ColumnPos("F2_TPVENT"))==0,.F.,SF2->F2_TPVENT == '1') (PRE) _aTotal[002] := chr(13) + chr(10) (PRE) _aTotal[003] := "99999999999999.99" (PRE) _aTotal[004] := {"SD2",""} (PRE) _aTotal[005] := IIf(Alltrim(SF2->F2_ESPECIE)=="NF",IIf(_aTotal[016],"liquidacionCompra","factura"),"notaDebito") (PRE) _aTotal[006] := M486NOMARC(SF2->F2_FILIAL, SF2->F2_DOC, SF2->F2_SERIE, SF2->F2_CLIENTE, SF2->F2_LOJA) (PRE) _aTotal[007] := SuperGetMV("MV_CFDIAMB",.F.,"1") (PRE) _aTotal[008] := GetTaxasEq(SF2->F2_DOC, SF2->F2_SERIE, SF2->F2_CLIENTE, SF2->F2_LOJA,,_aTotal[016]) (PRE) _aTotal[009] := TamSX3("F2_DOC")[1] (PRE) _aTotal[010] := "" (PRE) _aTotal[011] := IIf(Alltrim(SF2->F2_ESPECIE)=="NF",IIf(_aTotal[016],"LiquidacionCompra","Factura"),"NotaDebito") (PRE) _aTotal[012] := IIf(Alltrim(SF2->F2_ESPECIE)=="NDC", fObtDocRef(SF2->F2_FILIAL, SF2->F2_NFREF, SF2->F2_SERREF, SF2->F2_CLIENTE, SF2->F2_LOJA), "") (PRE) _aTotal[013] := IIf(Alltrim(SF2->F2_ESPECIE)=="NF","importeTotal","valorTotal") (PRE) _aTotal[014] := IIf(Alltrim(SF2->F2_ESPECIE)=="NF",'standalone="yes"',"") (PRE) _aTotal[015] := IIf(Alltrim(SF2->F2_ESPECIE)=="NF",IIf(_aTotal[016],"1.1.0","2.1.0"),"1.0.0") (PRE) _aTotal[017] := IIf(_aTotal[016],"Proveedor","Comprador") (PRE) _aTotal[019] := "" (PRE) _aTotal[020] := IIf(SF2->(ColumnPos("F2_TPDOC"))==0 .OR. SF2->(ColumnPos("F2_TPVENT"))==0 .OR. SF2->(ColumnPos("F2_TIPOPE"))==0,.F.,.T.) (PRE) _aTotal[021] := IIF( _aTotal[020], IIF(Alltrim(SF2->F2_TPDOC) =='01' .AND. Alltrim(SF2->F2_TPVENT) =='1' .AND. Alltrim(SF2->F2_TIPOPE) =='41',.T.,.F.),.F.) (PRE) _aTotal[021] := IIF(_aTotal[020], IIF(Alltrim(SF2->F2_TPDOC) =='01' .AND. Alltrim(SF2->F2_TIPOPE) =='41',.T.,.F.),.F.) (PRE) _aTotal[022] := IIF(_aTotal[021], obtTotReem(SF2->F2_DOC, SF2->F2_SERIE, SF2->F2_CLIENTE, SF2->F2_LOJA), {}) (PRE) _aTotal[023] := {"AQ0",""} (PRE) _aTotal[024] := {""} (PREREG) FsQuery(_aTotal[004],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. [XXX EMISOR] (PREREG) (_aTotal[001] := '<?xml version="1.0" encoding="UTF-8" ' + _aTotal[014] + '?>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += '<' + _aTotal[005] + ' id="comprobante" version="' + _aTotal[015] + '">' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <infoTributaria>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <ambiente>' + _aTotal[007] + '</ambiente>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <tipoEmision>' + "1" + '</tipoEmision>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <razonSocial>' + Alltrim(SM0->M0_NOMECOM) + '</razonSocial>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += IIF(_aTotal[018],' <nombreComercial>' + Alltrim(SM0->M0_NOME) + '</nombreComercial>'+ _aTotal[002],"") ,.T.) (PREREG) (_aTotal[001] += ' <ruc>' + Alltrim(SM0->M0_CGC) + '</ruc>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <codDoc>' + IIf(Alltrim(SF2->F2_ESPECIE)=="NF", IIf(_aTotal[016],"03","01"),"05") + '</codDoc>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <estab>' + Alltrim(SF2->F2_ESTABL) + '</estab>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <ptoEmi>' + Alltrim(SF2->F2_PTOEMIS) + '</ptoEmi>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <secuencial>' + Alltrim(Substr(SF2->F2_DOC,(_aTotal[009]-8),9)) + '</secuencial>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <dirMatriz>' + Alltrim(SM0->M0_ENDENT) + " " + Alltrim(SM0->M0_COMPENT) + '</dirMatriz>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' </infoTributaria>',.T.) (PREREG) ENCODEUTF8(_aTotal[001]) [XXX RECEPTOR] (PREREG) (SA1->(MSSeek(xFilial("SA1")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.) (PREREG) (_aTotal[001] := ' <info' + _aTotal[011] + '>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <fechaEmision>' + cValtoChar( SF2->F2_EMISSAO ) + '</fechaEmision>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <tipoIdentificacion' + _aTotal[017] + '>' + Alltrim(SA1->A1_TIPDOC) + '</tipoIdentificacion' + _aTotal[017] + '>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <razonSocial' + _aTotal[017] + '>' + Alltrim(SA1->A1_NOME) + '</razonSocial' + _aTotal[017] + '>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <identificacion' + _aTotal[017] + '>' + Alltrim(SA1->A1_CGC) + '</identificacion' + _aTotal[017] + '>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", ' <codDocModificado>' + _aTotal[012][1] + '</codDocModificado>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", ' <numDocModificado>' + _aTotal[012][2] + "-" + _aTotal[012][3] + "-" + _aTotal[012][4] + '</numDocModificado>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", ' <fechaEmisionDocSustento>' + _aTotal[012][5] + '</fechaEmisionDocSustento>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <direccion' + _aTotal[017] + '>' + Alltrim(SA1->A1_END) + '</direccion' + _aTotal[017] + '>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += ' <totalSinImpuestos>' + Alltrim(TRANSFORM(SF2->F2_VALMERC - _aTotal[008][2],_aTotal[003])) + '</totalSinImpuestos>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <totalDescuento>' + Alltrim(TRANSFORM(SF2->F2_DESCONT,_aTotal[003])) + '</totalDescuento>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIF(_aTotal[016],' <codDocReembolso>' + IIF(_aTotal[021],ALLTRIM(SF2->F2_TIPOPE), '00' ) + '</codDocReembolso>' + _aTotal[002] ,"") , .T.) (PREREG) (_aTotal[001] += IIF(_aTotal[021],' <codDocReembolso>' + IIF(_aTotal[021],ALLTRIM(SF2->F2_TIPOPE), '00' ) + '</codDocReembolso>' + _aTotal[002] ,"") , .T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .AND. _aTotal[021],' <totalComprobantesReembolso>' + IIF(Len(_aTotal[022]) > 0, Alltrim(TRANSFORM(_aTotal[022][1][1],_aTotal[003])), '0' ) + '</totalComprobantesReembolso>' + _aTotal[002] ,"") , .T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .AND. _aTotal[021],' <totalBaseImponibleReembolso>' + IIF(Len(_aTotal[022]) > 0, Alltrim(TRANSFORM(_aTotal[022][1][2],_aTotal[003])), '0') +'</totalBaseImponibleReembolso>' + _aTotal[002] ,"") , .T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .AND. _aTotal[021],' <totalImpuestoReembolso>' + IIF(Len(_aTotal[022]) > 0, Alltrim(TRANSFORM(_aTotal[022][1][3],_aTotal[003])),'0') + '</totalImpuestoReembolso>' + _aTotal[002] ,"") , .T.) (PREREG) (_aTotal[001] += _aTotal[008][1],.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .And. !_aTotal[016], ' <propina>0.00</propina>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += ' <' + Alltrim(_aTotal[013]) + '>' + Alltrim(TRANSFORM(SF2->F2_VALBRUT,_aTotal[003])) + '</' + Alltrim(_aTotal[013]) + '>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <pagos>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <pago>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <formaPago>' + Alltrim(AI0->AI0_MPAGO) + '</formaPago>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <total>' + Alltrim(TRANSFORM(SF2->F2_VALBRUT,_aTotal[003])) + '</total>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += IIF(_aTotal[016],' <plazo>' + Alltrim(TRANSFORM(SF2->F2_VALBRUT,_aTotal[003])) + '</plazo>' + _aTotal[002],""),.T.) (PREREG) (_aTotal[001] += ' </pago>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' </pagos>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' </info' + _aTotal[011] + '>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <detalles>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", ' <motivos>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", ' <motivo>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", ' <razon>' + Alltrim(SF2->F2_MOTIVO) + '</razon>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", ' <valor>' + Alltrim(TRANSFORM(SF2->F2_VALMERC - _aTotal[008][2],_aTotal[003])) + '</valor>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", ' </motivo>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", ' </motivos>' + _aTotal[002], ""),.T.) (PREREG) ENCODEUTF8(_aTotal[001]) [SD2 INVOICE] (PRE) DbGoTop() (PREREG) (SB1->(DbSeek(xFilial("SB1") + SD2->D2_COD)),.T.) (PREREG) (SAH->(DbSeek(xFilial("SAH") + SB1->B1_UM)),.T.) (PREREG) _aTotal[010] := TaxDetEcu(SD2->D2_DOC,SD2->D2_SERIE,SD2->D2_CLIENTE,SD2->D2_LOJA,SD2->D2_TES,AllTrim(SF2->F2_ESPECIE),SD2->D2_COD) (PREREG) (_aTotal[001] := IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <detalle>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <codigoPrincipal>' + Alltrim(SD2->D2_COD) + '</codigoPrincipal>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <descripcion>' + Alltrim(SB1->B1_DESC) + '</descripcion>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <cantidad>' + Alltrim(TRANSFORM(SD2->D2_QUANT,_aTotal[003])) + '</cantidad>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <precioUnitario>' + Alltrim(TRANSFORM(SD2->D2_PRCVEN - (_aTotal[010][2] / SD2->D2_QUANT),_aTotal[003])) + '</precioUnitario>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <descuento>' + Alltrim(TRANSFORM(SD2->D2_DESCON,_aTotal[003])) + '</descuento>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <precioTotalSinImpuesto>' + Alltrim(TRANSFORM(SD2->D2_TOTAL - SD2->D2_DESCON - _aTotal[010][2],_aTotal[003])) + '</precioTotalSinImpuesto>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <impuestos>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", _aTotal[010][1], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' </impuestos>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' </detalle>' + _aTotal[002], ""),.T.) (PREREG) IIf(Alltrim(SF2->F2_ESPECIE) == "NF",ENCODEUTF8(_aTotal[001]), "") [XXX INVOICE REEMBOLSO] (PREREG) _aTotal[021] (PREREG) FsQuery(_aTotal[023],1,"AQ0_DOC='" + SF2->F2_DOC + "' AND AQ0_SERIE='" + SF2->F2_SERIE + "' AND AQ0_CLIENT='" + SF2->F2_CLIENTE + "' AND AQ0_TIENDA='" + SF2->F2_LOJA + "'","AQ0->AQ0_DOC=SF2->F2_DOC .AND. AQ0->AQ0_SERIE=SF2->F2_SERIE .AND. AQ0->AQ0_CLIENT=SF2->F2_CLIENTE .AND. AQ0->AQ0_TIENDA=SF2->F2_LOJA","AQ0_ITEM") .And. .T. [AQ0 INVOICE REEMBOLSO] (PREREG) _aTotal[021] (PREREG) _aTotal[024] := IIF(Alltrim(SF2->F2_ESPECIE) == "NF" .AND. _aTotal[021], TaxDetEcu(AQ0->AQ0_DOC,AQ0->AQ0_SERIE,AQ0->AQ0_CLIENTE,AQ0->AQ0_TIENDA,AQ0->AQ0_TES,AllTrim(SF2->F2_ESPECIE),"",.F.,.T.),{""}) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <reembolsoDetalle>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <tipoIdentificacionProveedorReembolso>' + Alltrim(AQ0->AQ0_TIPDOC) + '</tipoIdentificacionProveedorReembolso>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <identificacionProveedorReembolso>' + Alltrim(AQ0->AQ0_CGC) + '</identificacionProveedorReembolso>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <codPaisPagoProveedorReembolso>' + Alltrim(AQ0->AQ0_PAIS) + '</codPaisPagoProveedorReembolso>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <tipoProveedorReembolso>' + Alltrim(AQ0->AQ0_TPPROV) + '</tipoProveedorReembolso>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <codDocReembolso>' + Alltrim(AQ0->AQ0_TPDOC) + '</codDocReembolso>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <estabDocReembolso>' + Alltrim(AQ0->AQ0_ESTABL) + '</estabDocReembolso>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <ptoEmiDocReembolso>' + Alltrim(AQ0->AQ0_PTOEMIS) + '</ptoEmiDocReembolso>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <secuencialDocReembolso>' + Alltrim(AQ0->AQ0_NUMDOC) + '</secuencialDocReembolso>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <fechaEmisionDocReembolso>' + cValtoChar( AQ0->AQ0_FECHA ) + '</fechaEmisionDocReembolso>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <numeroautorizacionDocReemb>' + Alltrim(AQ0->AQ0_AUTOR) + '</numeroautorizacionDocReemb>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' <detalleImpuestos>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", _aTotal[024][1], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' </detalleImpuestos>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' </reembolsoDetalle>' + _aTotal[002], ""),.T.) (POS) FsQuery(_aTotal[023],2) [XXX INVOICE_FIN] (PREREG) (_aTotal[001] := IIf(Alltrim(SF2->F2_ESPECIE) == "NF", ' </detalles>' + _aTotal[002], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .and. _aTotal[019]!="", ' <reembolsos>' + _aTotal[002],"" ),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .and. _aTotal[019]!="", _aTotal[019], ""),.T.) (PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .and. _aTotal[019]!="", ' </reembolsos>' + _aTotal[002],"" ),.T.) (PREREG) (_aTotal[001] += ' <infoAdicional>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <campoAdicional nombre="Email">' + Alltrim(SA1->A1_EMAIL) + '</campoAdicional>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' <campoAdicional nombre="TELEFONO">' + Alltrim(SA1->A1_TEL) + '</campoAdicional>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += ' </infoAdicional>' + _aTotal[002],.T.) (PREREG) (_aTotal[001] += '</' +_aTotal[005] + '>',.T.) (PREREG) _aTotal[001] (POS) FsQuery(_aTotal[004],2) [XXX FACTURA] (PRE) _aTotal[094] := _aTotal[006] + ".XML" (ARQ) _aTotal[094]
|