Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

02. EJEMPLO DE UTILIZACIÓN

Configuraciones Previas:


Actualizar el archivo FATSECU.INI con los siguientes actualizaciones (Indicadas en color azul)

Nota
titleActualizar FATSECU.INI

[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 .AND.SF2->(ColumnPos("F2_TPVENT"))==0 .AND. 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[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(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]



Actualizar el archivo FATSECUEQUATF.INI con los siguientes actualizaciones (Indicadas en color azul)


Nota
titleActualizar EQUATF.INI

?{"Nombre del Archivo INI","EQUATF.INI"}
?{"Descripcion Completa del Archivo Magnetico","Declaracion de Retencion del Impuesto de Renta - IR."}
?{"Comentarios",""}



@XML

[XXX Inicializacao variaveis]
(PRE) _aTotal[001] := MV_PAR01                     
(PRE) _aTotal[002] := MV_PAR02
(PRE) _aTotal[003] := {}
(PRE) _aTotal[004] := {}
(PRE) _aTotal[005] := .F.
(PRE) _aTotal[006] := {}
(PRE) _atotal[020] := 0
(PRE) _aTotal[021] := IIf(SF2->(ColumnPos("F2_TPDOC"))==0 .OR. SF2->(ColumnPos("F2_TPVENT"))==0 .OR. SF2->(ColumnPos("F2_TIPOPE"))==0,.F.,.T.)
(PRE) _aTotal[022] := {}
(PRE) _aTotal[023] := {}
(PRE) _aTotal[024] := 0
(PRE) _aTotal[025] := ""

[XXX Montagem do CFP Utilizado pela rotina - PRINCIPAL]
(PRE) aAdd (_aTotal[003], "Formulario 103 - Declaracion de Retencion del Impuesto de Renta - IR")
(PRE) aAdd (_aTotal[003], "")
(PRE) aAdd (_aTotal[003], "Rellene correctamente la informacion solicitada.")
(PRE) aAdd (_aTotal[003], "Informacion necesarias para el rellenado automatico del Formulario 103: Declaracion de Retencion del Impuesto de Renta - IR.")

[XXX Montagem do CFP Utilizado pela rotina - COMPLEMENTAR]
(PRE) aAdd (_aTotal[004], {})
(PRE) aAdd (_aTotal[004][1], "Formulario 103 - Declaracion de Retencion del impuesto de Renta - IR")
(PRE) aAdd (_aTotal[004][1], "Rellene correctamente la informacion solicitada.")
(PRE) aAdd (_aTotal[004][1], {})
(PRE) aAdd (_aTotal[004][1][3], {1, "",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {0, "",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {0, "",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {0, "",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Tipo Declaracion",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Si fuera sustitutiva:",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {3,,,,,{"O=Original", "S=Sustitutiva"},,})
(PRE) aAdd (_aTotal[004][1][3], {0, "",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Version Formulario",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "N� Formulario",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {2,,"@E 9.9",2,1,,,3})
(PRE) aAdd (_aTotal[004][1][3], {2,,"9999999999999",2,0,,,13})
(PRE) aAdd (_aTotal[004][1][3], {1, "Cod. Version Form.",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Impuesto Pagado",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {2,,"9999999999",2,0,,,10})
(PRE) aAdd (_aTotal[004][1][3], {2,,"@E 999,999,999.99",2,2,,,14})
(PRE) aAdd (_aTotal[004][1][3], {1, "ID Representante legal",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Mora / Interesses",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {2,,"@E 9999999999999",2,0,,,13})
(PRE) aAdd (_aTotal[004][1][3], {2,,"@E 999,999,999.99",2,2,,,14})
(PRE) aAdd (_aTotal[004][1][3], {1, "RUC Contador",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Multa / Intereses",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {2,,"@E 9999999999999",2,0,,,13})

[XXX Chamada do Wizard]
(PRE) _atotal[005] := xMagWizard (_aTotal[003], _atotal[04], "EQUATF")
(PRE) Iif (_atotal[005], xMagLeWiz ("EQUATF", @_atotal[06], .T.), Nil)
(PRE) lAbtMT950 := !_atotal[005]

[XXX - monta o Nome do arquivo] 
(PRE) mv_par04 := Alltrim(mv_par04) + "."
(PRE) mv_par04 := stuff(mv_par04,rat(".",mv_par04),rat(".",mv_par04),".XML")
(PRE) _aTotal[07] := mv_par04
(PRE) _aTotal[15] := .F.
//(PRE) _aTotal[16] := .F.


[XXX Header]
//(IMP) {.T.,1,1,"IVA"}
//(CMP) {{"NUMRUC","Contribuyente"},{"RAZSOC","Razon Social"},{"MES","Mes"},{"ANIO","Ano"}}
(PRE) _aTotal[010] := "version="+'"1.0"'+" encoding="+'"ISO-8859-1"'+" standalone="+'"yes"'+" ?"
(PRE) _atotal[30] := LFeqXMLanV(DTOS(MV_PAR01),DTOS(MV_PAR02)) 
Linha1     C 000 0 MontaXML("?xml"              ,                       ,,,,,  ,.T.,.F.,.T.,_aTotal[010])
IVA        C 003 0 MontaXML("iva"               ,                       ,,,,,1 ,.T.,.F.,.T.)
TIdInf     C 015 0 MontaXML("TipoIDInformante"  ,"R"                    ,,,,,4 ,.T.,.T.,.T.)
NUMRUC     C 015 0 MontaXML("IdInformante"      ,SM0->M0_CGC            ,,,,,4 ,.T.,.T.,.T.)
RAZSOC     C 100 0 MontaXML("razonSocial"       ,SM0->M0_NOMECOM        ,,,,,4 ,.T.,.T.,.T.)
ANIO       C 004 0 MontaXML("Anio"              ,substr(dTOs(MV_PAR01),1,4) ,,,,,4 ,.T.,.T.,.T.)
MES        C 002 0 MontaXML("Mes"               ,substr(dTOs(MV_PAR01),5,2) ,,,,,4 ,.T.,.T.,.T.)
NUMESTRUC  C 015 0 MontaXML("numEstabRuc"       ,_atotal[30][2]         ,,,,,4 ,.T.,.T.,.T.)
TVentas    C 015 0 MontaXML("totalVentas"       ,STRTRAN(TRANSFORM(0 ,"@E 9999999999.99"),',','.')  ,,,,,4 ,.T.,.T.,.T.)
CodOpera   C 015 0 MontaXML("codigoOperativo"   ,"IVA"                  ,,,,,4 ,.T.,.T.,.T.)
Compras    C 000 0 MontaXML("compras"           ,                       ,,,,,4 ,.T.,.F.,.T.)
(POS)

[XXX Extraindo Livro fiscal Compras]
(PRE) _atotal[31] := LFeqXMLan1(DTOS(MV_PAR01),DTOS(MV_PAR02)) 

[TRA Gera��o do XML]
//(IMP) {.T.,1,1,"Compras"}
//(CMP) {{"CODSUST","Sustento"},{"IDPROV","Ident."},{"TPCOMPROV","Tipo Compr."},{"ESTABL","Estab."},{"PONTOVEND","Punto Venta"},{"SEQUEN","Secu."}}
//,{"Autoriz","Autoriz"},{"BasNoGRiva","Base IVA 0%"},{"BasImponib","Base IVA Dif 0%"},{"BasImpGrav","Base obj IVA"},{"ValIVA","Monto IVA"}}
(PRE) TRA->(dbGoTop())
(PREREG) _aTotal[024] := IIF(_aTotal[021], IIF(Alltrim(TRA->TPDOC) =='01' .AND. Alltrim(TRA->TPVENT) =='1' .AND. Alltrim(TRA->TIPOPE) =='41', 1,0),0)
(PREREG) _aTotal[012] := RetIR(TRA->FILIAL, TRA->CLIEFOR, TRA->LOJA, TRA->NFISCAL, TRA->SERIE)
(PREREG) _aTotal[022] := IIF(_aTotal[024] > 0 , obtTotReem(TRA->NFISCAL,TRA->SERIE, TRA->CLIEFOR, TRA->LOJA),{})
(PREREG) _aTotal[023] := IIF(_aTotal[024] > 0 , ObtReem (TRA->FILIAL, TRA->NFISCAL, TRA->SERIE, TRA->CLIEFOR, TRA->LOJA),{})
(PREREG) _aTotal[025] := IIf(_aTotal[024] > 0 .AND. LEN(_aTotal[023])>0,_aTotal[023][1], "" )


DetCompr   C 000 0 MontaXML("detalleCompras"    ,                       ,,,,,8 ,.T.,.F.,.T.)
CODSUST    C 002 0 MontaXML("codSustento"       ,TRA->CDSUSTEN          ,,,,,12,.T.,.T.,.T.)
TpIdProv   C 000 0 MontaXML("tpIdProv"          ,TRA->TPLDPROV          ,,,,,12,.T.,.T.,.T.)
IDPROV     C 013 0 MontaXML("idProv"            ,TRA->IDPROV            ,,,,,12,.T.,.T.,.T.)
TPCOMPROV  C 002 0 MontaXML("tipoComprobante"   ,TRA->TPCOMPRO          ,,,,,12,.T.,.T.,.T.)
PARRELC    C 002 0 MontaXML("parteRel"          ,"NO"                   ,,,,,12,.T.,.T.,.T.)
dTReg      C 000 0 MontaXML("fechaRegistro"     ,DToC(TRA->DTFECH)      ,,,,,12,.T.,.T.,.T.)

ESTABL     C 003 0 MontaXML("establecimiento"   ,TRA->ESTABEL           ,,,,,12,.T.,.T.,.T.)
PONTOVEND  C 003 0 MontaXML("puntoEmision"      ,TRA->PTEMIS            ,,,,,12,.T.,.T.,.T.)
SEQUEN     C 009 0 MontaXML("secuencial"        ,TRA->SEQUENC           ,,,,,12,.T.,.T.,.T.)
DtEmis     C 000 0 MontaXML("fechaEmision"      ,TRA->DTEMISS           ,,,,,12,.T.,.T.,.T.)
Autoriz    C 000 0 MontaXML("autorizacion"      ,TRA->AUTORIZ           ,,,,,12,.T.,.T.,.T.)
BasNoGRiva C 000 0 MontaXML("baseNoGraIva"      ,STRTRAN(TRANSFORM(TRA->BASNOGRV ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
BasImponib C 000 0 MontaXML("baseImponible"     ,STRTRAN(TRANSFORM(TRA->BASIMPON ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
BasImpGrav C 000 0 MontaXML("baseImpGrav"       ,STRTRAN(TRANSFORM(TRA->BASIMPGR ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
BasImpEx   C 000 0 MontaXML("baseImpExe"        ,STRTRAN(TRANSFORM(_aTotal[012][5] ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValICE     C 000 0 MontaXML("montoIce"          ,STRTRAN(TRANSFORM(TRA->TOTALICE ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValIVA     C 000 0 MontaXML("montoIva"          ,STRTRAN(TRANSFORM(TRA->TOTALIVA ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValRetB10  C 000 0 MontaXML("valRetBien10"      ,STRTRAN(TRANSFORM(_aTotal[012][2] ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValRetS20  C 000 0 MontaXML("valRetServ20"      ,STRTRAN(TRANSFORM(_aTotal[012][3] ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValIvaBens C 000 0 MontaXML("valorRetBienes"    ,STRTRAN(TRANSFORM(_aTotal[012][6] ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValRetS20  C 000 0 MontaXML("valRetServ50"      ,STRTRAN(TRANSFORM(_aTotal[012][4],"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValIvaServ C 000 0 MontaXML("valorRetServicios" ,STRTRAN(TRANSFORM(_aTotal[012][7] ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValRet100  C 000 0 MontaXML("valRetServ100"     ,STRTRAN(TRANSFORM(_aTotal[012][8],"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValReemb   C 000 0 MontaXML("totbasesImpReemb"  ,STRTRAN(TRANSFORM(IIF(LEN(_aTotal[022])>0,_aTotal[022][1][2],0 ),"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
PagExt     C 003 0 MontaXML("pagoExterior"      ,                       ,,,,,12 ,.T.,.F.,.T.)
PagoLocE   C 002 0 MontaXML("pagoLocExt"        ,"01"                   ,,,,,16,.T.,.T.,.T.)
EPagoGen   C 002 0 MontaXML("paisEfecPago"      ,"NA"                   ,,,,,16,.T.,.T.,.T.)
Convenio   C 002 0 MontaXML("aplicConvDobTrib"  ,"NA"                   ,,,,,16,.T.,.T.,.T.)
EPagoPar   C 002 0 MontaXML("pagExtSujRetNorLeg"        ,"NA"           ,,,,,16,.T.,.T.,.T.)
PagExtF    C 000 0 MontaXML("pagoExterior"      ,                       ,,,,,12 ,.F.,.T.,.T.)
ForPag     C 000 0 MontaXML("formasDePago"      ,                       ,,,,,12 ,.T.,.F.,.T.)
PagoLocE   C 000 0 MontaXML("formaPago"         ,TRA->FORPAGO           ,,,,,16,.T.,.T.,.T.)
ForPagF    C 000 0 MontaXML("formasDePago"      ,                       ,,,,,12 ,.F.,.T.,.T.)
Air        C 000 0 _aTotal[012][1]
Reembol    C 000 0 _aTotal[025]
DetComprF  C 000 0 MontaXML("detalleCompras"        ,                   ,,,,,8 ,.F.,.T.,.T.)

[XXX - livro Fiscal Vendas]
ComprasF   C 000 0 MontaXML("compras"               ,                   ,,,,,4 ,.F.,.T.,.T.)
Vendas     C 000 0 MontaXML("ventas"                ,                   ,,,,,4 ,.T.,.F.,.T.)


[TRB Gera��o do XML]
(PRE) TRB->(dbGoTop())

DtVendas   C 000 0 MontaXML("detalleVentas" ,                           ,,,,,8 ,.T.,.F.,.T.)
TpIdClie   C 000 0 MontaXML("tpIdCliente"   ,TRB->TIPDOC                ,,,,,12,.T.,.T.,.T.)
IdClien    C 000 0 MontaXML("idCliente"     ,TRB->CDCGC                 ,,,,,12,.T.,.T.,.T.)
PARRELV    C 000 0 MontaXML("parteRelVtas"  ,"NO"                       ,,,,,12,.T.,.T.,.T.)
Tpcomprova C 000 0 MontaXML("tipoComprobante"   ,TRB->ESPECIE           ,,,,,12,.T.,.T.,.T.)
TEmision   C 000 0 MontaXML("tipoEmision"   ,"E"                        ,,,,,12,.T.,.T.,.T.)
NumComprov C 000 0 MontaXML("numeroComprobantes",cvaltochar(TRB->QTDNF)     ,,,,,12,.T.,.T.,.T.)
BS2NoGrIva C 000 0 MontaXML("baseNoGraIva"  ,STRTRAN(TRANSFORM(TRB->EXENTAS ,"@E 9999999999.99"),',','.')   ,,,,,12,.T.,.T.,.T.)
BS2Imponib C 000 0 MontaXML("baseImponible" ,STRTRAN(TRANSFORM(TRB->ALQZERO ,"@E 9999999999.99"),',','.')   ,,,,,12,.T.,.T.,.T.)
BS2ImpGrav C 000 0 MontaXML("baseImpGrav"   ,STRTRAN(TRANSFORM(TRB->ALQNOZER,"@E 9999999999.99"),',','.')   ,,,,,12,.T.,.T.,.T.)
Vl2IVA     C 000 0 MontaXML("montoIva"      ,STRTRAN(TRANSFORM(TRB->VALIMP  ,"@E 9999999999.99"),',','.')   ,,,,,12,.T.,.T.,.T.)
MontoICE   C 000 0 MontaXML("montoIce"      ,STRTRAN(TRANSFORM(TRB->VALICE  ,"@E 9999999999.99"),',','.')   ,,,,,12,.T.,.T.,.T.)
Vl2RetIVA  C 000 0 MontaXML("valorRetIva"   ,STRTRAN(TRANSFORM(TRB->IVARET  ,"@E 9999999999.99"),',','.')   ,,,,,12,.T.,.T.,.T.)
Vl2RetRent C 000 0 MontaXML("valorRetRenta" ,STRTRAN(TRANSFORM(TRB->VALIRR  ,"@E 9999999999.99"),',','.')   ,,,,,12,.T.,.T.,.T.)
ForPago    C 000 0 MontaXML("formasDePago"  ,                           ,,,,,12 ,.T.,.F.,.T.)
TEmision   C 000 0 MontaXML("formaPago"     ,TRB->FORPAGO               ,,,,,16,.T.,.T.,.T.)
ForPagoF   C 000 0 MontaXML("formasDePago"  ,                           ,,,,,12 ,.F.,.T.,.T.)
DtVendasF  C 000 0 MontaXML("detalleVentas" ,                           ,,,,,8 ,.F.,.T.,.T.)

[XXX - livro Fiscal Ventas Establecimiento]
ComprasF   C 000 0 MontaXML("ventas"        ,                           ,,,,,4 ,.F.,.T.,.T.)
Vendas     C 000 0 MontaXML("ventasEstablecimiento"     ,               ,,,,,4 ,.T.,.F.,.T.)

[TRV Gera��o do XML]
(PRE) TRV->(dbGoTop())
VenEstab   C 000 0 MontaXML("ventaEst"      ,                           ,,,,,8 ,.T.,.F.,.T.)
CodEstab   C 000 0 MontaXML("codEstab"      ,TRV->CODEST                ,,,,,12,.T.,.T.,.T.)
VenEstab   C 000 0 MontaXML("ventasEstab"   ,STRTRAN(TRANSFORM(0 ,"@E 9999999999.99"),',','.')  ,,,,,12,.T.,.T.,.T.)
IvaComp    C 000 0 MontaXML("ivaComp"       ,STRTRAN(TRANSFORM(0 ,"@E 9999999999.99"),',','.')  ,,,,,12,.T.,.T.,.T.)
VenEstabF  C 000 0 MontaXML("ventaEst"      ,                           ,,,,,8 ,.F.,.T.,.T.)

[XXX Identifica��o do Contribuinte]
VendasF    C 000 0 MontaXML("ventasEstablecimiento"     ,               ,,,,,4 ,.F.,.T.,.T.)
Vendas     C 000 0 MontaXML("anulados"      ,               ,,,,,4 ,.T.,.F.,.T.)

[XXX Criacao do arquivo notas canceladas]
(PRE) _atotal[32] := LFeqXMLcan(DTOS(MV_PAR01),DTOS(MV_PAR02)) 

[TRC Gera��o do XML]
(PRE) TRC->(dbGoTop())
Dtanulado  C 000 0 MontaXML("detalleAnulados"   ,               ,,,,,8 ,.T.,.F.,.T.)
tpcompro   C 000 0 MontaXML("tipoComprobante"   ,TRC->TIPDOC            ,,,,,12,.T.,.T.,.T.)
estabelec  C 000 0 MontaXML("establecimiento"   ,TRC->ESTAB         ,,,,,12,.T.,.T.,.T.)
ptemissao  C 000 0 MontaXML("puntoEmision"  ,TRC->PTEMIS            ,,,,,12,.T.,.T.,.T.)
sequenIni  C 000 0 MontaXML("secuencialInicio"  ,TRC->SEQINI            ,,,,,12,.T.,.T.,.T.)
sequenfin  C 000 0 MontaXML("secuencialFin" ,TRC->SEQFIM                ,,,,,12,.T.,.T.,.T.)
autoriz    C 000 0 MontaXML("autorizacion"  ,TRC->AUTORIZ               ,,,,,12,.T.,.T.,.T.)
Dtanuladof C 000 0 MontaXML("detalleAnulados"   ,               ,,,,,8 ,.F.,.T.,.T.)

[XXX Finaliza��o]
VendasF    C 000 0 MontaXML("anulados"      ,               ,,,,,4 ,.F.,.T.,.T.)
IVAF       C 000 0 MontaXML("iva"       ,               ,,,,,4 ,.F.,.T.,.T.)

[XXX - Nome do Arquivo]
(ARQ) &('_aTotal[7]')

...