////////////////////////////////////// // // // JavaScript Functions // // // ////////////////////////////////////// function wrtraspaso(text){ // writeln("w_outtraspaso.document.write('"+text+"\\n');"); fileRpt.writeln(text); } function chk_traspaso() { var query; c_query = database.cursor("select * FROM traspaso WHERE uid=\'" + request.uid+ "\'"); if (c_query.next()) { request.criterio=StringClip(false,c_query.criterio); request.f_traspaso=StringClip(false,c_query.f_traspaso); request.f_emision=StringClip(false,c_query.f_emision); request.f_nro_doc=StringClip(false,c_query.f_nro_doc); request.sel_order=StringClip(false,c_query.sel_order); writeln(' alert("\\r Existe un Traspaso de '+request.f_traspaso+' Pendientes de Confirmación !!!"); '); request.opt_traspaso="true"; } c_query.close(); if (request.opt_traspaso) return true else return false } function insertaTrasp() { status=database.execute('INSERT INTO traspaso(' + ' uid,' + ' sel_order,'+ ' criterio,'+ ' f_traspaso,'+ ' f_emision,'+ ' f_nro_doc ) VALUES ("' + request.uid+ '","' + request.sel_order + '","'+ request.criterio + '","'+ request.f_traspaso + '","'+ request.f_emision + '","'+ request.f_nro_doc + '")'); if ( status != 0 ) { client.is_trans=false; database.rollbackTransaction(); redirect(addClient('error.html?alert=14')); } } function report_traspaso() { client.is_trans=true; database.beginTransaction(); insertaTrasp(); out_traspaso(); database.commitTransaction(); client.is_trans=false; } function rpt_traspaso_Doc() { writeln('w_carta=window.open("'+urlDoc+'","w_traspaso","toolbar=yes,directories=no,menubar=yes,status=no,scrollbars=yes,resizable=yes,width=600,height=500");'); } function rpt_traspaso_Data() { writeln('w_carta=window.open("'+urlData+'","w_traspaso","toolbar=yes,directories=no,menubar=yes,status=no,scrollbars=yes,resizable=yes,width=600,height=500");'); } function cleanup_traspaso() { // Borramos en tabla de pagos datos del usuario status=database.execute("DELETE FROM traspaso WHERE uid=\'" + request.uid+ "\'"); return; } function out_traspaso() { var Clave="-"; var SumaTotal=0; var fileRpt=new File(nomDoc); fileRpt.open("w"); var fileData=new File(nomData); fileData.open("w"); fileRpt.writeln(''); fileRpt.writeln(''); fileRpt.writeln(''); fileRpt.writeln('
Traspaso de Facturas - '+request.f_traspaso+' - '); if (request.f_traspaso=="gasto") fileRpt.writeln(''); else fileRpt.writeln(''); fileRpt.writeln('
 ');
   fileRpt.writeln('
'); if (request.f_traspaso=="gasto") fileRpt.writeln('N.Doc. Línea Fecha Centro Cuenta Cv. DEBE HABER C o n c e p t o F. Vto. Contrap.'); else { fileRpt.writeln(''); fileRpt.writeln('N.Doc. Línea Fecha Centro Cuenta Cv. DEBE HABER C o n c e p t o F. Vto. Contrap.'); } fileRpt.writeln('
'); linea=" "; // c_traspaso = database.cursor("SELECT * FROM traspaso WHERE uid="+ request.uid+" ORDER BY nro_reg "); var nlin=1 var nro_doc=NroUnformat(request.f_nro_doc); while (c_traspdocs.next()) { if (request.f_traspaso=="pago") c_traspaso = database.cursor("SELECT * FROM facturas,proveedores WHERE facturas.nif=proveedores.nif "+ " and nro_doc_pago='"+c_traspdocs.nro_doc_pago+"' "+ " ORDER BY " + request.sel_order); if (request.f_traspaso=="gasto") c_traspaso = database.cursor("SELECT * FROM facturas,proveedores WHERE facturas.nif=proveedores.nif "+ " and nro_reg='"+c_traspdocs.nro_reg+"' "+ " ORDER BY " + request.sel_order); if (request.f_traspaso=="vto") c_traspaso = database.cursor("SELECT * FROM facturas,proveedores WHERE facturas.nif=proveedores.nif "+ " and nro_reg_vto='"+c_traspdocs.nro_reg_vto+"' "+ " ORDER BY " + request.sel_order); while (c_traspaso.next()) { request.razon_social=c_traspaso.razon_social; if ( request.f_traspaso=="pago" && Clave == c_traspaso.nro_doc_pago ) continue; if ( request.f_traspaso=="vto" && Clave == c_traspaso.nro_reg_vto ) continue ; jusnum=""; nrolin=1; if (request.f_traspaso!="vto") CursorTabla("acf","nro_reg","=\'"+c_traspaso.nro_reg+"\' order by nro_lin ",false,""); if (request.f_traspaso=="gasto") { fileRpt.writeln('
'); while (c_aptectasfra.next()) { make_apte(nro_doc,"",StringClip(false,c_traspaso.cta_contable),"",nrolin,0,jusnum,c_aptectasfra.tipoapte); // if ( nrolin+1 > request.maxLins ) { // skipTopPage(nrolin,request.maxLins); // nrolin=0; // } if (c_aptectasfra.tipoapte != "I1" || c_aptectasfra.tipoapte != "I2" || c_aptectasfra.tipoapte != "I3" ) fileData.writeln(request.linea); fileRpt.writeln(request.lindoc); nrolin++; if ( jusnum == "" ) jusnum="0"; } fileRpt.writeln('
'); } else { if (request.f_traspaso!="vto") c_aptectasfra.next(); // fileRpt.writeln(''); if (request.f_traspaso=="pago") CursorTabla("fa","nro_doc_pago","=\'"+c_traspaso.nro_doc_pago+"\'",true,""); if (request.f_traspaso=="vto") CursorTabla("fa","nro_reg_vto","=\'"+c_traspaso.nro_reg_vto+"\'",true,""); SumaTotal=0; request.cta_contable=c_traspaso.cta_contable; request.f_emision_pago=datetoString(c_traspaso.f_emision_pago); request.is_remesa ="N"; while ( true ) { request.nro_reg=c_facturas.nro_reg; request.nro_fra=c_facturas.nro_fra; request.nro_doc_pago=c_facturas.nro_doc_pago; request.importe_total=c_facturas.importe_total; if ( c_traspaso.nro_doc_pago != c_facturas.nro_doc_pago ) request.is_remesa ="S"; if (request.f_traspaso=="pago") { traspaso_pago(nro_doc,nrolin,"D"); if (c_facturas.tipo_doc_pago == "1" ) { fileData.writeln(request.linea); fileRpt.writeln(request.lindoc); nrolin++; traspaso_pago(nro_doc,nrolin,"H"); Clave=c_traspaso.nro_doc_pago; } } if (request.f_traspaso=="vto") traspaso_vto(nro_doc,nrolin,"D"); fileData.writeln(request.linea); fileRpt.writeln(request.lindoc); nrolin++; SumaTotal=parseFloat(c_facturas.importe_total)+parseFloat(SumaTotal); if (!c_facturas.next()) break; } c_facturas.close(); request.nro_reg=c_traspaso.nro_reg; request.nro_fra=c_traspaso.nro_fra; request.nro_doc_pago=c_traspaso.nro_doc_pago; request.importe_total=SumaTotal; if (request.f_traspaso=="pago" && c_traspaso.tipo_doc_pago == "2" ) { traspaso_pago(nro_doc,nrolin,"H"); Clave=c_traspaso.nro_doc_pago; fileData.writeln(request.linea); fileRpt.writeln(request.lindoc); nrolin++; } if (request.f_traspaso=="vto") { traspaso_vto(nro_doc,nrolin,"H"); Clave=c_traspaso.nro_reg_vto; fileData.writeln(request.linea); fileRpt.writeln(request.lindoc); nrolin++; } // fileRpt.writeln('
'); } if (request.f_traspaso!="vto") c_aptectasfra.close(); fileRpt.writeln('
'); nro_doc++; } c_traspaso.close(); } c_traspdocs.close(); fileRpt.writeln(''); request.lindoc="TOTALES DEBE : "+NroFormat(SumaDebe,NF11); // request.lindoc=request.lindoc.substring(0,46)+NroFormat(SumaDebe,NF11)+NroFormat(SumaHaber,NF11)+"" fileRpt.writeln(request.lindoc); request.lindoc="TOTALES HABER: "+NroFormat(SumaHaber,NF11); fileRpt.writeln(request.lindoc); fileRpt.writeln('
');
 fileRpt.writeln('');
 fileRpt.writeln('');
 fileRpt.writeln('');
 fileRpt.close();
 fileData.close();
}
function traspaso_pago(nro_doc,nrolin,tipoApte) {
        var DocNro="";
        var s_cta="";
        s_banco=parseInt(c_traspaso.cod_banco)+"";
        lon=s_banco.length;
        request.d_cod_cta=request.cta_contable;  
        if (c_traspaso.tipo_doc_pago == "1" )
              s_cta=request.pag_hpag;
        if (c_traspaso.tipo_doc_pago == "2" )
              s_cta=request.pag_htal;
        s_lon=s_cta.length;
        request.h_cod_cta=s_cta.substring(0,s_lon-lon)+s_banco;
        s_lon=request.d_cod_cta.length;
        if ( tipoApte == "H")  {
             DocNro=StringClip(false,request.nro_doc_pago)+"";
             make_apte(nro_doc,request.h_cod_cta,request.d_cod_cta,"H",nrolin,request.importe_total,DocNro,jusnum,"");
        }
        if ( tipoApte == "D") {
             DocNro=StringClip(false,request.nro_fra)+" "+request.nro_reg.substring(4,10);
             make_apte(nro_doc,request.d_cod_cta,request.h_cod_cta,"D",nrolin,request.importe_total,DocNro,jusnum,"");
        }
}

function traspaso_vto(nro_doc,nrolin,tipoApte) {
        var DocNro="";
        var	s_cta="";
        s_banco=parseInt(c_traspaso.cod_banco)+"";
        lon=s_banco.length;
        if (c_traspaso.tipo_doc_pago == "1" )
              s_cta=request.vto_dpag;
        if (c_traspaso.tipo_doc_pago == "2" ) 
              s_cta=request.vto_dtal;
        s_lon=s_cta.length;
        request.d_cod_cta=s_cta.substring(0,s_lon-lon)+s_banco;
        s_lon=request.vto_h.length;
        request.h_cod_cta=request.vto_h.substring(0,s_lon-lon)+s_banco;
        DocNro=StringClip(false,request.nro_doc_pago);
        if ( tipoApte == "H")  {
             DocNro=StringClip(false,request.nro_doc_pago);
             if ( request.is_remesa == "S" ) {
                  lon=c_traspaso.nro_reg_vto.length;
                  request.razon_social="REMESA "+c_traspaso.nro_reg_vto.substring(5,lon);
             }   
             make_apte(nro_doc,request.h_cod_cta,request.d_cod_cta,"H",nrolin,request.importe_total,DocNro,jusnum,"");
        }
        if ( tipoApte == "D") {
             if ( request.is_remesa == "S" ) {
        	         CursorTabla("pr","nif","=\'"+StringClip(true,c_facturas.nif)+"\'",false,false);
                  request.razon_social=StringClip(false,c_proveedores.razon_social);  	     
                  c_proveedores.close();
             }   
             make_apte(nro_doc,request.d_cod_cta,request.h_cod_cta,"D",nrolin,request.importe_total,DocNro,jusnum,"");
             DocNro=StringClip(false,request.nro_fra)+" "+request.nro_reg.substring(4,10);
        }
}
function make_apte(nro_doc,cod_cta,c_cod_cta,tipo_apte,nl,Cantidad,DocNro,jusnum,tipoapte) {
 make_lindoc(nro_doc,cod_cta,c_cod_cta,tipo_apte,nl,Cantidad,DocNro,jusnum,tipoapte); 
 if (tipoapte != "I1" || tipoapte != "I2" || tipoapte != "I3" )
     make_linea(nro_doc,cod_cta,c_cod_cta,tipo_apte,nl,Cantidad,DocNro,jusnum,tipoapte); 
}
function make_lindoc(nro_doc,cod_cta,c_cod_cta,tipo_apte,nl,Cantidad,DocNro,jusnum,tipoapte) {
             linea="                                                                                                                        ";   
             request.lindoc="";
//             cadena=parseInt(nro_doc)+"";
             cadDoc="";
             if ( c_traspaso.tipo_doc_pago == "1" ) 
                cadDoc="P/";
             if ( c_traspaso.tipo_doc_pago == "2" )              
                cadDoc="T/";
             if (request.f_traspaso=="gasto") {
                 cadena=StringClip(false,c_aptectasfra.concepto);
             }
	          // Una "P" delante del nro_doc ahora DocNro
             request.lindoc=cadDoc+DocNro+"   ";
             cadena=parseInt(nl)+"";
             request.lindoc=request.lindoc+cadena;
             // Fecha de documento
             s_fechadoc=request.f_emision;
             if (request.f_traspaso=="pago")
                 s_fechadoc=request.f_emision_pago;
             cadena=datetoNString(s_fechadoc);
             lon=cadena.length;
             request.lindoc=request.lindoc+"  "+s_fechadoc;
             s_fechadoc=cadena;
             // Cod. Centro para el listado
             cadena=StringClip(false,c_traspaso.cod_centro);
             request.lindoc=request.lindoc+"  "+cadena;
             // Cod. Cta.  
             if (request.f_traspaso=="gasto")
                 s_cta=StringClip(false,c_aptectasfra.cod_cta);
             if (request.f_traspaso=="pago")
                 s_cta=StringClip(false,cod_cta)+"";
             if (request.f_traspaso=="vto")
                 s_cta=StringClip(false,cod_cta)+"";
             request.lindoc=request.lindoc+"  "+s_cta;
             lon=s_cta.length;             
             // Clave
             if (request.f_traspaso=="gasto")
                 cadena=c_aptectasfra.clave+"";
             if (request.f_traspaso=="pago")
                 cadena=request.f_clave+"";
             if (request.f_traspaso=="vto")
                 cadena=request.f_clave+"";
             request.lindoc=request.lindoc+"  "+cadena;
             clave=cadena;
             // Importe
             if (request.f_traspaso=="gasto") {
                  nro=c_aptectasfra.importe;
                  tipo_apte=c_aptectasfra.tipo_apte;
             } else {    
                     nro=Cantidad;
             }
             if ( nro < 0 ) {
                nro=nro*-1;
                if (request.f_traspaso=="pago" && tipo_apte == "D") 
                   cadDoc="";
                if ( tipo_apte == "D" ) 
                     tipo_apte="H";
                else
                     tipo_apte="D";
             }
             if (tipo_apte == "H") {
                    SumaHaber=SumaHaber+nro;
                    request.lindoc=request.lindoc+"             "+NroFormat(nro,NF9)+"  ";                    
             } else {
                    SumaDebe=SumaDebe+nro;
                    request.lindoc=request.lindoc+"  "+NroFormat(nro,NF9)+"             ";                    
             };
             cadena=NroUnformat(NroFormat(nro,NF9))+"";
             // Concepto para el listado
             if (request.f_traspaso=="gasto") {
                 cadena=StringClip(false,c_aptectasfra.concepto);
             }
             if (request.f_traspaso=="pago" && tipo_apte == "H") 
                   cadena=cadDoc+DocNro+" "+StringClip(false,request.razon_social);
             if (request.f_traspaso=="pago" && tipo_apte == "D") {
                   cadena=DocNro+StringClip(false,request.razon_social);
             }
             if (request.f_traspaso=="vto" && tipo_apte == "D")
                 cadena=cadDoc+DocNro+" "+StringClip(false,request.razon_social);
             if (request.f_traspaso=="vto" && tipo_apte == "H") {
                 if ( request.is_remesa == "S" ) 
                    cadena=StringClip(false,request.razon_social);
                 else
                    cadena=cadDoc+DocNro+" "+StringClip(false,request.razon_social);
             }
             lon=30; // lon=cadena.length;
             s_cadena=cadena+linea;
             request.lindoc=request.lindoc+"  "+s_cadena.substring(0,lon);
             // Vto.
             if (request.f_traspaso=="gasto") {
                 s_cadena="      ";
					  cadena=s_cadena;
             }
             else {
                 s_cadena=datetoString(c_traspaso.vto_pago);
                 cadena=datetoNString(s_cadena);
             }
             request.lindoc=request.lindoc+"  "+s_cadena;
             lon=cadena.length;
             // Contrapartida para el listado
             cadena=StringClip(false,c_cod_cta);
             lon=cadena.length;
             request.lindoc=request.lindoc+"  "+cadena;
}
function make_linea(nro_doc,cod_cta,c_cod_cta,tipo_apte,nl,Cantidad,DocNro,jusnum,tipoapte) {
             linea="                                                                                                                        ";   
             carsep="|";
             request.linea="";
             // apteid, asient, diario, moneda, cambio
             request.linea="0"+carsep+"DG"+carsep+"PTA"+carsep+"1.0"+carsep;
             cadena=StringClip(false,c_traspaso.cod_centro);
             // centro de coste, seccion, juser
	       request.linea=request.linea+cadena+carsep+"A"+carsep+"A"+carsep+jusnum+carsep;
             request.linea=request.linea+"P"+carsep;
             cadDoc="";
             if ( c_traspaso.tipo_doc_pago == "1" ) 
                cadDoc="P/";
             if ( c_traspaso.tipo_doc_pago == "2" )              
                cadDoc="T/";
             if (request.f_traspaso=="gasto") {
                 cadena=StringClip(false,c_aptectasfra.concepto);
             }
             request.linea=request.linea+cadDoc+DocNro+carsep;
             // Fecha de documento
             s_fechadoc=request.f_emision;
             if (request.f_traspaso=="pago")
                 s_fechadoc=request.f_emision_pago;
             cadena=datetoNString(s_fechadoc);
             lon=cadena.length;
             request.linea=request.linea+cadena+carsep;
             s_fechadoc=cadena;
             // Cod. Cta.  
             if (request.f_traspaso=="gasto")
                 s_cta=StringClip(false,c_aptectasfra.cod_cta);
             if (request.f_traspaso=="pago")
                 s_cta=StringClip(false,cod_cta)+"";
             if (request.f_traspaso=="vto")
                 s_cta=StringClip(false,cod_cta)+"";
             lon=s_cta.length;             
             request.linea=request.linea+s_cta.substring(0,3)+"."+s_cta.substring(4,lon)+carsep+carsep;
             // Concepto
             if ( c_traspaso.tipo_doc_pago == "1" ) 
                 cadDoc="P/";
             if ( c_traspaso.tipo_doc_pago == "2" )              
                 cadDoc="T/";
             if (request.f_traspaso=="gasto") {
                 cadena=StringClip(false,c_aptectasfra.concepto);
             }
             if (request.f_traspaso=="pago" && tipo_apte == "H") 
                   cadena=cadDoc+DocNro+" "+StringClip(false,request.razon_social);
             if (request.f_traspaso=="pago" && tipo_apte == "D") {
                   cadena=DocNro+StringClip(false,request.razon_social);
             }
             if (request.f_traspaso=="vto" && tipo_apte == "D")
                 cadena=cadDoc+DocNro+" "+StringClip(false,request.razon_social);
             if (request.f_traspaso=="vto" && tipo_apte == "H") {
                 if ( request.is_remesa == "S" ) 
                    cadena=StringClip(false,request.razon_social);
                 else
                    cadena=cadDoc+DocNro+" "+StringClip(false,request.razon_social);
             }
             request.linea=request.linea+cadena+carsep;
             // Importe
             if (request.f_traspaso=="gasto") {
                  nro=c_aptectasfra.importe;
                  tipo_apte=c_aptectasfra.tipo_apte;
             } else {    
                     nro=Cantidad;
             }
             cadena=NroUnformat(NroFormat(nro,NF9))+"";
             if ( tipo_apte == "D" ) 
                request.linea=request.linea+cadena+carsep+carsep;
             if ( tipo_apte == "H" ) 
                request.linea=request.linea+carsep+cadena+carsep;
             // Contrapartida nula aptes. en tabla 
                request.linea=request.linea+carsep;
             // Fecha valor, sistem
             request.linea=request.linea+s_fechadoc+carsep+"A"+carsep+"0"+carsep+"0"+carsep;
             // Tipo documento
             if ( s_cta.substring(0,1) == "2" ) 
                 request.linea=request.linea+"I"+carsep;
             else
                 request.linea=request.linea+"R"+carsep+"N"+carsep;
             // Código de Tercero cta_contable
             request.linea=request.linea+c_traspaso.cta_contable+carsep;				        
             tipIVA="";
             if (tipoapte == "P1"){ 
                if ( c_traspaso.iva_1 == "16")
                     tipIVA="RE"
                request.linea=request.linea+tipIVA+carsep+"1"+carsep;				        
             }
             if (tipoapte == "P2"){ 
                if ( c_traspaso.iva_2 == "7" )
                     tipIVA="OR"
                request.linea=request.linea+tipIVA+carsep+"1"+carsep;				        
             }
             if (tipoapte == "P3"){ 
                if ( c_traspaso.iva_3 == "4" )
                     tipIVA="SR"
                request.linea=request.linea+tipIVA+carsep+"1"+carsep;				        
             }

    


 
             if (request.f_traspaso=="gasto")
                 cadena=c_aptectasfra.clave+"";
             if (request.f_traspaso=="pago")
                 cadena=request.f_clave+"";
             if (request.f_traspaso=="vto")
                 cadena=request.f_clave+"";

             // Vto.
             if (request.f_traspaso=="gasto") {
                 s_cadena="      ";
					  cadena=s_cadena;
             }
             else {
                 s_cadena=datetoString(c_traspaso.vto_pago);
                 cadena=datetoNString(s_cadena);
             }
             lon=cadena.length;
             request.linea=request.linea+cadena+linea;
             // Contrapartida para el listado
             cadena=StringClip(false,c_cod_cta);
             lon=cadena.length;
             request.linea=request.linea+cadena;
//texto="p_contracta="+p_contracta+" lon="+lon+" c_cod_cta="+c_cod_cta
//debug(texto)
//debug(request.linea)
//debug(request.linea)
}