////////////////////////////////////// // // // JavaScript Functions // // // ////////////////////////////////////// function wrdocpago(text){ // writeln("w_outdocpago.document.write('"+text+"\\n');"); fileRpt.writeln(text); } function chk_docspago() { var query; query = database.cursor("select count(*) FROM docspago WHERE uid=\'" + request.uid+ "\'"); if (query.next()) { if (query[0] > 0) { tdoc = database.cursor("select unique tipo_doc_pago FROM docspago WHERE uid=\'" + request.uid+ "\'"); tdoc.next(); if ( tdoc.tipo_doc_pago=="1" ) { request.f_tipo_doc_pago="1"; Palabra="Pagarés"; } if ( tdoc.tipo_doc_pago=="2" ) { request.f_tipo_doc_pago="2"; Palabra="Talones"; } writeln(' alert("\\r Hay '+Palabra+' Pendientes de Confirmación !!!"); '); tdoc.close(); request.opt_docpago="true"; } } query.close(); if (request.opt_docpago) return true else return false } function updPagoFras() { client.is_trans=true; database.beginTransaction(); c_docspago = database.cursor("SELECT * FROM docspago WHERE uid='"+request.uid+"' order by nro_reg "); while (c_docspago.next()) { // DesBloquear factura status=database.execute("UPDATE facturas SET "+ " is_locked='N',"+ " tipo_doc_pago='" + c_docspago.tipo_doc_pago + "',"+ " nro_doc_pago='" + c_docspago.nro_doc_pago + "',"+ " f_emision_pago='" + DateFormat(datetoString(c_docspago.f_emision_pago),NLDF) + "',"+ " vto_pago='" + DateFormat(datetoString(c_docspago.vto_pago),NLDF) + "',"+ " cod_localidad='" + c_docspago.cod_localidad + "',"+ " cod_banco='" + c_docspago.cod_banco + "'"+ " WHERE nro_reg='"+c_docspago.nro_reg+"'"); if ( status != 0 ) { c_docspago.close(); client.is_trans=false; database.rollbackTransaction(); redirect(addClient('error.html?alert=9')); } } database.commitTransaction(); client.is_trans=false; c_docspago.close(); return true; } function report_docpago() { // Borramos en tabla de pagos datos del usuario status=database.execute("DELETE FROM docspago WHERE uid=\'" + request.uid+ "\'"); client.is_trans=true; database.beginTransaction(); var s_lon=request.sel_nro_reg.length; if (s_lon == 0 ) return; var s_lon=request.sel_nro_reg.length; var i=0; pos=request.sel_nro_reg.substring(i,s_lon).indexOf("|") var nregfra=""; while (pos >0) { insertaDocPago(i,pos); i=pos+1; if ( i >= s_lon ) break; pos=request.sel_nro_reg.substring(i,s_lon).indexOf("|") if (pos <= 0 ) break; else pos=pos+i; } if (i==0) return; // Hay que buscar si tiene ABONOS chk_abonos(); upd_docspago(); database.commitTransaction(); client.is_trans=false; if (preparamat("spa", "f") == false ) // Aquí se prepara la trad. de dígitos return; if (request.f_tipo_doc_pago == "1" ) out_docpago() if (request.f_tipo_doc_pago == "2" ) out_doctalon() writeln('w_outdocpago=window.open("'+urlFile+'","w_outdocpago","toolbar=yes,directories=no,menubar=yes,status=no,scrollbars=yes,resizable=yes,width=600,height=500");'); } function rpt_doccarta() { out_doccarta() writeln('w_carta=window.open("'+urlCarta+'","w_carta","toolbar=yes,directories=no,menubar=yes,status=no,scrollbars=yes,resizable=yes,width=600,height=500");'); } function rpt_docfile() { out_docfichero() writeln('w_carta=window.open("'+urlFich+'","w_file","toolbar=yes,directories=no,menubar=yes,status=no,scrollbars=yes,resizable=yes,width=600,height=500");'); } function insertaDocPago(i,pos) { var nro_reg=request.sel_nro_reg.substring(i,pos); // debug(nro_reg); if ( nro_reg.length < 1 ) return; c_facturas = database.cursor("SELECT nif, importe_total,cod_centro,f_pago,nro_fra,tipo_fra,tipo_doc_pago "+ " FROM facturas WHERE nro_reg="+nro_reg); if (c_facturas.next()) { status=database.execute("INSERT INTO docspago(" + " uid," + " nro_reg," + " cod_centro," + " f_pago," + " nro_fra," + " tipo_fra," + " nif," + " tipo_doc_pago," + " nro_doc_pago," + " f_emision_pago," + " cod_localidad," + " vto_pago," + " cod_banco," + " importe_total ) VALUES ('" + request.uid+ "','" + nro_reg + "','"+ StringClip(true,c_facturas.cod_centro) + "','"+ DateFormat(datetoString(c_facturas.f_pago),NLDF) + "','"+ StringClip(true,c_facturas.nro_fra) + "','"+ StringClip(true,c_facturas.tipo_fra) + "','"+ StringClip(false,c_facturas.nif) + "','"+ StringClip(false,c_facturas.tipo_doc_pago) + "','"+ "0','"+ DateFormat(request.f_f_emision_pago,NLDF) + "','"+ StringClip(true,request.f_cod_localidad) + "','"+ DateFormat(datetoString(c_facturas.f_pago),NLDF) + "','"+ StringClip(true,request.f_cod_banco) + "','"+ c_facturas.importe_total + "')"); if ( status != 0 ) { client.is_trans=false; database.rollbackTransaction(); redirect(addClient('error.html?alert=14&nro_reg='+nro_reg)); } } c_facturas.close(); } function chk_abonos() { // c_fraspago = database.cursor("SELECT sum(importe_total),nif FROM docspago WHERE uid='"+request.uid+"' group by nif "); // while (c_fraspago.next()) { // debug(c_fraspago[0]); // if ( c_fraspago[0] < 0 ) { // no se paga nada de nada ... nos Debe // status=database.execute("DELETE from docspago WHERE uid='" + request.uid+"'"+ // " and nif = '"+c_fraspago.nif+"'"); // } // } // c_fraspago.close(); // Leemos los abonos de cada proveedor y buscamos fras. que lo cubran si no no se paga. // Para evitar problemas actualizamos centro y f_pago en el abono ... c_docsnif = database.cursor("SELECT UNIQUE nif FROM docspago WHERE uid='"+request.uid+"' "); while (c_docsnif.next()) { c_frasabono= database.cursor("SELECT * FROM docspago WHERE uid='"+request.uid+"' and nif ='"+c_docsnif.nif+"' and importe_total < 0 "+ " order by importe_total"); to_paynif=true; while (c_frasabono.next() && to_paynif == true ) { //debug(c_frasabono.nro_reg) to_payfra=false; c_fraspago = database.cursor("SELECT sum(importe_total),cod_centro,f_pago FROM docspago WHERE uid='"+request.uid+"' and nif ='"+c_docsnif.nif+"' and importe_total > 0 "+ "group by cod_centro,f_pago "); while (c_fraspago.next() ) { //linea=c_fraspago[0]+" "+c_frasabono.importe_total; //debug(linea) if ( c_fraspago[0] > c_frasabono.importe_total*-1 ) { status=database.execute("UPDATE docspago SET cod_centro='"+c_fraspago.cod_centro+"',"+ " f_pago='"+DateFormat(datetoString(c_fraspago.f_pago),NLDF)+"',"+ " vto_pago='"+DateFormat(datetoString(c_fraspago.f_pago),NLDF)+ "' WHERE nro_reg='"+c_frasabono.nro_reg+"'"); to_payfra=true break; } } c_fraspago.close(); if ( to_payfra == false ) to_paynif=false; } if ( to_paynif == false ) { status=database.execute("DELETE FROM docspago WHERE uid='" + request.uid+"'"+ " and nif = '"+c_docsnif.nif+"'"); } c_frasabono.close(); } c_docsnif.close(); } function upd_docspago() { var nro_docpago=parseFloat(NroUnformat(request.f_nro_doc)); var inro_docpago=nro_docpago; // Actualizar las Filas con su nro_doc_pago ... // c_docspago = database.cursor("SELECT * FROM docspago WHERE uid='"+request.uid+"' and importe_total > 0 order by nif,importe_total "); c_docspago = database.cursor("SELECT * FROM docspago WHERE uid='"+request.uid+"' order by nif,importe_total "); while (c_docspago.next()) { // if (request.f_tipo_doc_pago=="1") // Pagaré // if (request.f_tipo_doc_pago=="2") // Talón // if (request.f_tipo_doc_pago=="3") // Compensación // if (request.f_tipo_doc_pago=="4") // Domiciliación // Asignar el nro. de documento de pago, el mismo si nif, centro y f_pago coinciden. c_haydocspago = database.cursor("SELECT nro_doc_pago FROM docspago WHERE uid='"+ request.uid+"' and nif = '"+StringClip(false,c_docspago.nif)+ "' and nro_doc_pago !='0' and nro_reg != '"+c_docspago.nro_reg+ "' and cod_centro ='"+c_docspago.cod_centro+ "' and f_pago='"+DateFormat(datetoString(c_docspago.f_pago),NLDF)+"'"); // "' and importe_total > 0 "+ //debug(c_haydocspago.nro_doc_pago); var nro_doc_pago=nro_docpago; var hay_mas=false; if ( c_haydocspago.next() ) { nro_doc_pago=parseFloat(c_haydocspago.nro_doc_pago); if ( nro_doc_pago == 0 ) nro_doc_pago=nro_docpago; else hay_mas=true; } c_haydocspago.close(); status=database.execute("UPDATE docspago SET nro_doc_pago='"+nro_doc_pago+"' WHERE nro_reg='"+c_docspago.nro_reg+"'"); if (hay_mas == false) { nro_docpago++ }; // Bloquear la factura durante el curso del pago ... Así sólo es de lectura. status=database.execute("UPDATE facturas SET is_locked='S' WHERE nro_reg='"+c_docspago.nro_reg+"'"); } c_docspago.close(); } function no_sirve() { // Devoluciones ... c_docspago = database.cursor("SELECT * FROM docspago WHERE uid='"+request.uid+"' and importe_total < 0 order by nro_reg "); while (c_docspago.next()) { var nro=c_docspago.importe_total*-1; // Asignar el nro. de documento de pago, el mismo si nif coincide. c_haydocspago = database.cursor("SELECT nro_doc_pago FROM docspago WHERE uid='"+ request.uid+"' and nif = '"+StringClip(false,c_docspago.nif)+ "' and nro_doc_pago !='0' and nro_reg != '"+c_docspago.nro_reg+ "' and importe_total > '"+nro+"'"); if ( c_haydocspago.next() ) { status=database.execute("UPDATE docspago SET nro_doc_pago='"+c_haydocspago.nro_doc_pago+"' WHERE nro_reg='"+c_docspago.nro_reg+"'"); // Bloquear la factura durante el curso del pago ... Así sólo es de lectura. status=database.execute("UPDATE facturas SET is_locked='S' WHERE nro_reg='"+c_docspago.nro_reg+"'"); } c_haydocspago.close(); } c_docspago.close(); } function cleanup_docspago() { c_docspago = database.cursor("SELECT nro_reg FROM docspago WHERE uid='"+request.uid+"' order by nro_reg "); while (c_docspago.next()) { // DesBloquear factura status=database.execute("UPDATE facturas SET is_locked='' WHERE nro_reg='"+c_docspago.nro_reg+"'"); } // Borramos en tabla de pagos datos del usuario status=database.execute("DELETE FROM docspago WHERE uid=\'" + request.uid+ "\'"); } function out_docpago() { var fileRpt=new File(nomFile); fileRpt.open("w"); fileRpt.writeln(''); fileRpt.writeln(''); fileRpt.writeln(''); fileRpt.writeln(''); fileRpt.writeln('
 ');
   c_nrodocspago = database.cursor("SELECT UNIQUE nro_doc_pago FROM docspago WHERE uid="+ request.uid+" ORDER BY nro_doc_pago ");
   var PlusNroDoc=0;    // Acumula incrementos en Nro. Doc si salto página
   var lnro="";
   var nlin=1
   while (c_nrodocspago.next()) {
 		  c_docspago = database.cursor("SELECT importe_total FROM docspago WHERE uid="+ request.uid+
                " and nro_doc_pago='"+c_nrodocspago.nro_doc_pago+"' ");
		  var importeTotal=0;
        var NeedLins=0;
        while (c_docspago.next()) {   // A Sumar ....
		      importeTotal=importeTotal+parseFloat(c_docspago.importe_total);  
		      NeedLins++;
        } 
        c_docspago.close();
 		  c_docspago = database.cursor("SELECT * FROM docspago WHERE uid="+ request.uid+
                " and nro_doc_pago='"+c_nrodocspago.nro_doc_pago+"' ORDER BY importe_total ");
		  c_docspago.next();
		  CursorTabla("pr","nif","=\'"+StringClip(false,c_docspago.nif)+"\'",false,false);
		  CursorTabla("ba","cod_banco","=\'"+StringClip(false,c_docspago.cod_banco)+"\'",false,false);
        if (request.t_nl == "1") { lnro=nlin; }
		  for (n=nlin; n<14 ; n++) {
		      fileRpt.writeln(lnro+" ");
            nlin++; 
            if (request.t_nl == "1") { lnro=nlin; }
		  }    
        fileRpt.writeln(lnro+"           Málaga,"+datetoString(c_docspago.f_emision_pago));
        nlin++;
//         123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 23456789 123       
//		  direccion=StringClip(false,c_proveedores.direccion_envio);
//        localidad=StringClip(false,c_proveedores.cod_postal_envio)+" "+StringClip(false,c_proveedores.localidad_envio);
//		  if ( direccion == "" || direccion == " " ) {
  		      direccion=StringClip(false,c_proveedores.domicilio);
   		   localidad=StringClip(false,c_proveedores.cod_postal)+" "+c_proveedores.localidad;
//		  }
//		  attn_envio=StringClip(false,c_proveedores.attn_envio);
//		  fileRpt.writeln(lnro+"                                                 "+c_proveedores.attn_envio+" ");
        if (request.t_nl == "1") { lnro=nlin };
		  fileRpt.writeln(lnro+"                                                    "+StringClip(false,c_proveedores.razon_social)+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin };
		  fileRpt.writeln(lnro+"                                                    "+direccion+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin };
		  fileRpt.writeln(lnro+"                                                    "+localidad+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin };
		  for (n=1; n<3 ; n++) {
		    fileRpt.writeln(lnro+" ");
		    nlin++;
          if (request.t_nl == "1") { lnro=nlin };
        }
        if ( NeedLins > BodyLines) {
             PlusNroDoc++;
	     }
        var nro_doc_pago=parseFloat(c_docspago.nro_doc_pago)+PlusNroDoc;
        if (PlusNroDoc > 0 ) {   
          status=database.execute("UPDATE docspago SET nro_doc_pago='"+nro_doc_pago+"' WHERE nro_reg='"+c_docspago.nro_reg+"'");                
   	  }
		  fileRpt.writeln(lnro+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
        fileRpt.writeln(lnro+"           Muy Sres. nuestros:");  
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"                     Adjunto les remitimos pagaré nro. 0"+nro_doc_pago+" a cargo del ");  
        nlin++;   
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"           "+StringClip(false,c_bancos.nombre)+" de pesetas "+NroFormat(importeTotal,NF9)+",");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"           con el cual cancelamos las facturas siguientes: ");
        nlin++;  
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"                    Centro   Registro      Importe            Nro.Fra ");
        nlin++; 
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"                    ------  ---------   ----------------    ----------------");
        nlin++;
        blin=0;
        if (request.t_nl == "1") { lnro=nlin; }
		  while (true) {
            blin++;
            codCentro=StringClip(false,c_docspago.cod_centro);
            if ( c_docspago.importe_total < 0 ) 
                 codCentro="     ";
		      var nreg=c_docspago.nro_reg.substring(4,10)+"/"+c_docspago.nro_reg.substring(2,4);
		      fileRpt.writeln(lnro+"                    "+codCentro+"   "+nreg+"    "+NroFormat(c_docspago.importe_total,NF9)+" Ptas."+"  "+StringClip(false,c_docspago.nro_fra));  
 		      if (blin+1 > BodyLines ) {
 		         blin=0;
               nlin=FootPosLin;
            }
            nlin++;
            if (request.t_nl == "1") { lnro=nlin; }
            if ( nlin == FootPosLin ) {
                for (var i=nlin ; i <= PaperLines ; i++) {
                    if (request.t_nl == "1") { lnro=i; }
               	  fileRpt.writeln(lnro+" ");  
                }
                for (var i=nlin ; i <= HeadPosLin ; i++) {
                    if (request.t_nl == "1") { lnro=i; }
	             	  fileRpt.writeln(lnro+" ");  
                }
	             nlin=HeadPosLin;	  
            }
		      if ( !c_docspago.next()) 
            break;
		  }
		  while ( blin < BodyLines ) {
                if (request.t_nl == "1") { lnro=nlin; }
    	   	    fileRpt.writeln(lnro+" ");  
                nlin++; 
                blin++;
                if (request.t_nl == "1") { lnro=nlin; }   
        }
		  fileRpt.writeln(lnro+"                     A la espera de que el mencionado importe sea de su entera ");
        nlin++;  
        if (request.t_nl == "1") { lnro=nlin; }
  	     fileRpt.writeln(lnro+"           conformidad, reciban un cordial saludo.");
        nlin++;   
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+" ");  
        nlin++; 
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+" ");  
        nlin++; 
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"                        CONSTRUCCIONES SANCHEZ DOMINGUEZ-SANDO, S.A. ");  
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
        while (nlin < FootPosLin) {
           // Salta hasta pie de Página
      	  fileRpt.writeln(lnro+" ");  
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
        }
		     fileRpt.writeln(lnro+" ");      
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }	
		     fileRpt.writeln(lnro+" ");      
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }	
		     fileRpt.writeln(lnro+" ");     
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }	
           linea=NroFormat(importeTotal,NF9);
		     fileRpt.writeln(lnro+"                 ");      
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }	
		     fileRpt.writeln(lnro+"                 "+StringClip(false,c_proveedores.nif)+"                        "+StringClip(false,c_docspago.cod_localidad)+"                  #"+StringClip(true,linea)+"#");      
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+" ");  
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+"                       "+datetoString(c_docspago.f_emision_pago)+"                                     "+datetoString(c_docspago.f_pago)+" ");    
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+" ");  
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+"                                                                             ");    
           nlin++;
//		     fileRpt.writeln(lnro+"                                                                             "+CompLetOn+"orden"+CompLetOff);    
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+"                                                                                               no a la orden");    
           nlin++;  
           if (request.t_nl == "1") { lnro=nlin; }
//         123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 23456789 123         
		     fileRpt.writeln(lnro+" ");    
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+" ");    
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+"                       "+StringClip(false,c_proveedores.razon_social)+" ");
           nlin++;  
           if (request.t_nl == "1") { lnro=nlin; }
           num_let="";
           if (importeTotal > 0 ) 
              nro_letra(importeTotal, "spa", "f", "PESETAS", CarPad,LongLine,LongLine);
//debug(num_let)
//debug(num_let2)
           fileRpt.writeln(lnro+"                          "+num_let);    
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
           fileRpt.writeln(lnro+"                          "+num_let2);
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+" ");    
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+" ");    
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+" ");    
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
//		     fileRpt.writeln(lnro+" ");    
//           nlin++;
		     fileRpt.writeln(lnro+" ");    
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+"                           "+c_bancos.nombre+"              "+c_bancos.entidad+" ");        
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+"                           "+c_bancos.domicilio+"              "+c_bancos.sucursal+"  "+c_bancos.cod_control+"  ");        
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
		     fileRpt.writeln(lnro+"                           "+c_bancos.cod_postal+" "+c_bancos.localidad+"                     "+c_bancos.nro_cc+"  ");
           nlin++;
           if (request.t_nl == "1") { lnro=nlin; }
        while ( nlin <= PaperLines ) {
		    fileRpt.writeln(lnro+" ");
		    nlin++;
          if (request.t_nl == "1") { lnro=nlin; }
        }
		  // Cerrando cursores
		  c_proveedores.close(); 
		  c_bancos.close();
		  c_docspago.close();
        nlin=1;
   }		  
   c_nrodocspago.close();
   fileRpt.writeln('
');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.close();
}
function out_doctalon() {
   var fileRpt=new File(nomFile);
   fileRpt.open("w");
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('
 ');
   c_nrodocspago = database.cursor("SELECT UNIQUE nro_doc_pago FROM docspago WHERE uid="+ request.uid+" ORDER BY nro_doc_pago ");
   var f_pago = new Date(); 
   var cadena="                                                                                "; 
   var loncad=cadena.length;
   var nlin=1;
   var lnro="";
   while (c_nrodocspago.next()) {
 		  c_docspago = database.cursor("SELECT importe_total FROM docspago WHERE uid="+ request.uid+
                " and nro_doc_pago='"+c_nrodocspago.nro_doc_pago+"' ");
		  var importeTotal=0;
        while (c_docspago.next()) {   // A Sumar ....
		      importeTotal=importeTotal+parseFloat(c_docspago.importe_total);  
        } 
        c_docspago.close();
 		  c_docspago = database.cursor("SELECT * FROM docspago WHERE uid="+ request.uid+
                " and nro_doc_pago='"+c_nrodocspago.nro_doc_pago+"' ORDER BY nro_reg ");
		  c_docspago.next();
		  CursorTabla("pr","nif","=\'"+StringClip(false,c_docspago.nif)+"\'",false,false);
		  CursorTabla("ba","cod_banco","=\'"+StringClip(false,c_docspago.cod_banco)+"\'",false,false);
        ntal=1;
        if (request.t_nl == "1") { lnro=nlin; }
        if ( nlin > 1 ) {
    		  for (n=1; n<1 ; n++) {
	   	      fileRpt.writeln(nlin+" ");
               nlin++;
               if (request.t_nl == "1") { lnro=nlin; }
           }
		  }    
        if ( nlin == 1 ) 
             ntal=3
//              123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 23456789 123       
        if (request.t_nl == "1") { lnro=nlin; }
        while (ntal < c_bancos.l_importe) {
		    fileRpt.writeln(lnro+" ");
		    nlin++; ntal++;
          if (request.t_nl == "1") { lnro=nlin; }
        }
        linea=cadena;
        nro=NroFormat(importeTotal,NF9);
        linea=linea.substring(0,c_bancos.c_importe)+"#"+StringClip(true,nro)+"#";
	     fileRpt.writeln(linea);  
  	     nlin++; ntal++;
        if (request.t_nl == "1") { lnro=nlin; } 
        while (ntal < c_bancos.l_paguese) {
		    fileRpt.writeln(lnro+" ");
		    nlin++; ntal++;
          if (request.t_nl == "1") { lnro=nlin; }
        }
        linea=cadena;
        linea=linea.substring(0,c_bancos.c_paguese)+StringClip(false,c_proveedores.razon_social);
	     fileRpt.writeln(linea);  
  	     nlin++; ntal++;
        if (request.t_nl == "1") { lnro=nlin; }
        while (ntal < c_bancos.l1_nroletra) {
		    fileRpt.writeln(lnro+" ");
		    nlin++; ntal++;
        }
        if (request.t_nl == "1") { lnro=nlin; }
        num_let="";
        if (importeTotal > 0 ) 
            nro_letra(importeTotal, "spa", "f", "PESETAS", CarPad,LongLine,LongLine);
//debug(num_let)
//debug(num_let2)
        linea=cadena;
        linea=linea.substring(0,c_bancos.c1_nroletra)+num_let;
	     fileRpt.writeln(linea);  
  	     nlin++; ntal++;
        if (request.t_nl == "1") { lnro=nlin; }
        while (ntal < c_bancos.l2_nroletra) {
		    fileRpt.writeln(lnro+" ");
		    nlin++; ntal++;
        }
        if (request.t_nl == "1") { lnro=nlin; }
        linea=cadena;
        linea=linea.substring(0,c_bancos.c2_nroletra)+num_let2;
	     fileRpt.writeln(linea);  
  	     nlin++; ntal++;
        if (request.t_nl == "1") { lnro=nlin; }
        num_let="";
        AsignaFecha(datetoString(c_docspago.f_pago),f_pago);
        importeTotal=f_pago.getDate();
        if (importeTotal > 0 ) 
            nro_letra(importeTotal, "spa", "m", "", "",LongLine,LongLine);
        if (request.t_nl == "1") { lnro=nlin; } 
        while (ntal < c_bancos.l_fecha) {
		    fileRpt.writeln(lnro+" ");
		    nlin++; ntal++;
          if (request.t_nl == "1") { lnro=nlin; }
        }
        linea=cadena;
        linea=linea.substring(0,c_bancos.c_fecha)+num_let;
        lonlin=linea.length;
        linea=linea+cadena.substring(lonlin,loncad);
        linea=linea.substring(0,c_bancos.c_mes)+stringMonth(f_pago.getMonth()); //CalendarMonth();
        linea=linea+cadena.substring(lonlin,loncad);
        anno=""+f_pago.getYear();
        linea=linea.substring(0,c_bancos.c_anno)+anno; //.substring(2,4)
        if (request.t_nl == "1") { lnro=nlin; }
	     fileRpt.writeln(linea);  
  	     nlin++; ntal++;
        if (request.t_nl == "1") { lnro=nlin; }
        while (ntal < c_bancos.l1_firmado) {
		    fileRpt.writeln(lnro+" ");
		    nlin++; ntal++;
          if (request.t_nl == "1") { lnro=nlin; }
        }
        linea=cadena;
        linea=linea.substring(0,c_bancos.c1_firmado)+StringClip(false,c_bancos.t1_firmado);
        if (request.t_nl == "1") { lnro=nlin; }
	     fileRpt.writeln(linea);  
  	     nlin++; ntal++;
        if (request.t_nl == "1") { lnro=nlin; }
        while (ntal < c_bancos.l2_firmado) {
		    fileRpt.writeln(lnro+" ");
		    nlin++; ntal++;
          if (request.t_nl == "1") { lnro=nlin; }
        }
        linea=cadena;
        linea=linea.substring(0,c_bancos.c2_firmado)+StringClip(false,c_bancos.t2_firmado);
	     fileRpt.writeln(linea);  
  	     nlin++; ntal++;
        if (request.t_nl == "1") { lnro=nlin; }
        while (ntal < c_bancos.nro_lins) {
		    fileRpt.writeln(lnro+" ");
		    nlin++; ntal++;
          if (request.t_nl == "1") { lnro=nlin; }
        }
//         123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 23456789 123         
        if (nlin == PaperTLines ) 
          nlin=1;
		  // Cerrando cursores
		  c_proveedores.close(); 
		  c_bancos.close();
		  c_docspago.close();
   }		  
   c_nrodocspago.close();
   fileRpt.writeln('
');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.close();
}
function out_doccarta() {
   var fileRpt=new File(nomCarta);
   fileRpt.open("w");
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('
 ');
   c_nrodocspago = database.cursor("SELECT UNIQUE nro_doc_pago FROM docspago WHERE uid="+ request.uid+" ORDER BY nro_doc_pago ");
   var PlusNroDoc=0;    // Acumula incrementos en Nro. Doc si salto página
   var lnro="";
   while (c_nrodocspago.next()) {
 		  c_docspago = database.cursor("SELECT importe_total FROM docspago WHERE uid="+ request.uid+
                " and nro_doc_pago='"+c_nrodocspago.nro_doc_pago+"' ");
		  var importeTotal=0;
        var NeedLins=0;
        while (c_docspago.next()) {   // A Sumar ....
		      importeTotal=importeTotal+parseFloat(c_docspago.importe_total);  
		      NeedLins++;
        } 
        c_docspago.close();
 		  c_docspago = database.cursor("SELECT * FROM docspago WHERE uid="+ request.uid+
                " and nro_doc_pago='"+c_nrodocspago.nro_doc_pago+"' ORDER BY nro_reg ");
		  c_docspago.next();
		  CursorTabla("pr","nif","=\'"+StringClip(false,c_docspago.nif)+"\'",false,false);
		  CursorTabla("ba","cod_banco","=\'"+StringClip(false,c_docspago.cod_banco)+"\'",false,false);
        nlin=1;
        if (request.t_nl == "1") { lnro=nlin; }
		  for (n=1; n<13 ; n++) {
		      fileRpt.writeln(lnro+" ");
            nlin++;
            if (request.t_nl == "1") { lnro=nlin; }
		  }    
        fileRpt.writeln(lnro+"           Málaga,"+datetoString(c_docspago.f_emision_pago));
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
//         123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 23456789 123       
//		  direccion=StringClip(false,c_proveedores.direccion_envio);
//        localidad=StringClip(false,c_proveedores.cod_postal_envio)+" "+StringClip(false,c_proveedores.localidad_envio);
//		  if ( direccion == "" || direccion == " " ) {
  		      direccion=StringClip(false,c_proveedores.domicilio);
   		   localidad=StringClip(false,c_proveedores.cod_postal)+" "+c_proveedores.localidad;
//		  }
//		  attn_envio=StringClip(false,c_proveedores.attn_envio);
//		  fileRpt.writeln(lnro+"                                                 "+c_proveedores.attn_envio+" ");
		  fileRpt.writeln(lnro+"                                                    "+StringClip(false,c_proveedores.razon_social)+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"                                                    "+direccion+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"                                                    "+localidad+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  for (n=1; n<3 ; n++) {
		    fileRpt.writeln(lnro+" ");
		    nlin++;
          if (request.t_nl == "1") { lnro=nlin; }
        }
        if ( NeedLins > BodyLines) {
             PlusNroDoc++;
	     }
        var nro_doc_pago=parseFloat(c_docspago.nro_doc_pago)+PlusNroDoc;
        if (PlusNroDoc > 0 ) {   
          status=database.execute("UPDATE docspago SET nro_doc_pago='"+nro_doc_pago+"' WHERE nro_reg='"+c_docspago.nro_reg+"'");                
   	  }
		  fileRpt.writeln(lnro+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
        fileRpt.writeln(lnro+"           Muy Sres. nuestros:");  
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"                     Adjunto les remitimos talón nro. "+nro_doc_pago+" a cargo del ");  
        nlin++;   
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"           "+StringClip(false,c_bancos.nombre)+" de pesetas "+NroFormat(importeTotal,NF9)+",");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"           con el cual cancelamos las facturas siguientes: ");
        nlin++;  
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+" ");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"                    Centro   Registro      Importe            Nro.Fra ");
        nlin++; 
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"                    ------  ---------   ----------------    ----------------");
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
        blin=0;
		  while (true) {
            blin++;
            codCentro=StringClip(false,c_docspago.cod_centro);
            if ( c_docspago.importe_total < 0 ) 
                 codCentro="      ";
		      var nreg=c_docspago.nro_reg.substring(4,10)+"/"+c_docspago.nro_reg.substring(2,4);
		      fileRpt.writeln(lnro+"                    "+codCentro+"   "+nreg+"    "+NroFormat(c_docspago.importe_total,NF9)+" Ptas."+"  "+StringClip(false,c_docspago.nro_fra));  
            nlin++;
            if (request.t_nl == "1") { lnro=nlin; }
            if ( nlin == FootPosLin ) {
                for (var i=nlin ; i <= PaperLines ; i++) {
	             	  fileRpt.writeln(lnro+" ");  
                    if (request.t_nl == "1") { lnro=nlin; }
                }
                for (var i=nlin ; i <= HeadPosLin ; i++) {
	             	  fileRpt.writeln(lnro+" ");  
                    if (request.t_nl == "1") { lnro=nlin; }
                }
	             nlin=HeadPosLin;	  
            }
		      if ( !c_docspago.next()) 
            break;
		  }
        if (request.t_nl == "1") { lnro=nlin; }
		  while ( blin < BodyLines ) {
    	   	    fileRpt.writeln(lnro+" ");  
                nlin++; 
                blin++;
                if (request.t_nl == "1") { lnro=nlin; }
        }
		  fileRpt.writeln(lnro+"                     A la espera de que el mencionado importe sea de su entera ");
        nlin++;  
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"           conformidad, reciban un cordial saludo.");
        nlin++;   
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+" ");  
        nlin++; 
        if (request.t_nl == "1") { lnro=nlin; }
		  fileRpt.writeln(lnro+"                        CONSTRUCCIONES SANCHEZ DOMINGUEZ-SANDO, S.A. ");  
        nlin++;
        if (request.t_nl == "1") { lnro=nlin; }
        while ( nlin <= PaperTray ) {
		    fileRpt.writeln(lnro+" ");
		    nlin++;
          if (request.t_nl == "1") { lnro=nlin; }
        }
		  // Cerrando cursores
		  c_proveedores.close(); 
		  c_bancos.close();
		  c_docspago.close();
   }		  
   c_nrodocspago.close();
   fileRpt.writeln('
');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.close();
}
function out_docfichero() {
   var fileRpt=new File(nomFich);
   fileRpt.open("w");
   c_nrodocspago = database.cursor("SELECT UNIQUE nro_doc_pago FROM docspago WHERE uid="+ request.uid+" ORDER BY nro_doc_pago ");
   var PlusNroDoc=0;    // Acumula incrementos en Nro. Doc si salto página
   var lnro="";
   while (c_nrodocspago.next()) {
 		  c_docspago = database.cursor("SELECT importe_total FROM docspago WHERE uid="+ request.uid+
                " and nro_doc_pago='"+c_nrodocspago.nro_doc_pago+"' ");
		  var importeTotal=0;
        var NeedLins=0;
        while (c_docspago.next()) {   // A Sumar ....
		      importeTotal=importeTotal+parseFloat(c_docspago.importe_total);  
		      NeedLins++;
        } 
        c_docspago.close();
 		  c_docspago = database.cursor("SELECT * FROM docspago WHERE uid="+ request.uid+
                " and nro_doc_pago='"+c_nrodocspago.nro_doc_pago+"' ORDER BY nro_reg ");
		  c_docspago.next();

		  CursorTabla("pr","nif","=\'"+StringClip(false,c_docspago.nif)+"\'",false,false);
        linea="                                       ";
        linea=StringClip(false,c_proveedores.razon_social)+linea;
		  fileRpt.writeln(linea.substring(0,40)+" "+importeTotal);
		  // Cerrando cursores
		  c_proveedores.close(); 
		  c_docspago.close();
   }		  
   c_nrodocspago.close();
   fileRpt.close();
}

function rpt_test() {
   var fileRpt=new File(nomTest);
   fileRpt.open("w");
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('
 ');
   var cadena="";
   for (n=1; n< 8 ; n++) {
       cadena=cadena+"123456789 "
   }
   fileRpt.writeln(cadena);
   for (n=1; n< PaperLines ; n++) {
        fileRpt.writeln(n);
   }         
   fileRpt.writeln('
');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.writeln('');
   fileRpt.close();
   writeln('w_outtest=window.open("'+urlTest+'","w_test","toolbar=yes,directories=no,menubar=yes,status=no,scrollbars=yes,resizable=yes,width=600,height=500");');
}

function rpt_docpago() {
   c_docspago= database.cursor("SELECT * FROM docspago WHERE uid='"+request.uid+"' order by nro_doc_pago ");
   var fileRpt=new File(nomList);
   fileRpt.open("w");
   fileRpt.writeln('');
   fileRpt.writeln('');
   var suma_total=0;
   var nlins=0;
   var npag=1;
   var is_newpag=true;
   request.maxLins=53;
   while (c_docspago.next()) {
	  CursorTabla("pr","nif","=\'"+StringClip(false,c_docspago.nif)+"\'",false,false);
	  CursorTabla("fa","nro_reg","=\'"+StringClip(false,c_docspago.nro_reg)+"\'",false,false);
//     if ( nlins+3 == request.maxLins ) { 
//          fileRpt.writeln('


'); // nlins=0; // is_newpag=true; // }; if ( is_newpag == true ) { if (npag > 1 ) { fileRpt.write('')}; fileRpt.writeln('Dpto. Cuentas a Pagar

'); fileRpt.writeln('

LISTADO DE PAGOS PENDIENTES DE CONFIRMAR

'); fileRpt.writeln('
'); is_newpag=false; nlins=nlins+4; set_head=true; npag++; } if ( set_head == true ) { fileRpt.writeln('
'); fileRpt.writeln(" "+ ""+ ""+ ""+ ""+ ""+ ""); nlins=nlins+2; set_head=false; } // "/" + c_docspago.nro_reg.substring(0,4) +""+ fileRpt.writeln("" + ""+ ""+ ""+ ""+ ""+ ""+ ""); suma_total=suma_total+c_docspago.importe_total; nlins++; c_proveedores.close(); c_facturas.close(); } // writeln(""); // writeln(""); fileRpt.writeln('
N.Reg." + "F.Vto.Pago Centro ProveedorTot.Fra.Nro.Doc.BancoImporte
"+c_docspago.nro_reg.substring(4,c_docspago.nro_reg.length) + ""+datetoString(c_docspago.vto_pago) +""+c_docspago.cod_centro +""+c_proveedores.razon_social +""+NroFormat(c_facturas.importe_total,NF9)+""+StringClip(false,c_docspago.nro_doc_pago) +""+StringClip(false,c_docspago.cod_banco) +""+NroFormat(c_docspago.importe_total,NF9)+"
----------------
Suma Total:"+NroFormat(suma_total,NF10) +"
'); fileRpt.writeln('
'); fileRpt.writeln(""+ ""); fileRpt.writeln('
TOTAL Acumulado....... "+NroFormat(suma_total,NF11)+"
'); fileRpt.writeln(''); fileRpt.writeln(''); fileRpt.writeln(''); fileRpt.close(); writeln('w_outtest=window.open("'+urlList+'","w_list","toolbar=yes,directories=no,menubar=yes,status=no,scrollbars=yes,resizable=yes,width=600,height=500");'); }