<!--- 
application: Cuentas a Pagar
version: 1.0.0 
filename: g_docpago.html 
description: Esta página busca las filas de la tabla de acuerdo con el 
criterio de búsqueda establecido. Las filas tinen un hiper-enlace para 
poder ver los detalles completos, modificarla o Borrala. 
El botón de Alta permite acceder al form para crear una nueva fila
--->
<HTML>
<HEAD>
<TITLE>Doc. Pago de facturas</TITLE>
<SCRIPT SRC="global.js">
</SCRIPT>
<SCRIPT SRC="ctasapagar.js">
</SCRIPT>
<SCRIPT SRC="l_docpago.js">
</SCRIPT>
<SCRIPT SRC="nroletra.js">
</SCRIPT>
</HEAD>
<SERVER>
var NF09=""
var NFY9="";
var NF7="";
var NF10=""
var HOY=new Date();
// Algunos formatos para fechas.
var NLDF="";  // para columnas en las queries INFORMIX
var baseHtml="";
var nprinter="ep1170";
var spoolpath="";
var pathFile="c:/tmprpts/";
var nomFile=pathFile+request.uid+"_pag.html";     // Donde escribe el Server
var nomCarta=pathFile+request.uid+"_car.html";    
var nomFich=pathFile+request.uid+"_fic.txt";    
var nomTest=pathFile+request.uid+"_tst.html";     
var nomList=pathFile+request.uid+"_lst.html";     
var urlFile="file:///P|/"+request.uid+"_pag.html" // Donde leen los Clients
var urlCarta="file:///P|/"+request.uid+"_car.html"
var urlFich="file:///P|/"+request.uid+"_fic.txt"
var urlTest="file:///P|/"+request.uid+"_tst.html" 
var urlList="file:///P|/"+request.uid+"_lst.html" 
// Variable para Impresora y papel
var BodyLines=8;     // Nro. Lins. del Cuerpo
var PaperLines=72;   // Nro. Lins. del Papel Pagaré
var PaperTray=60;    // Nro. Lins. del Papel Bandeja
var PaperTLines=74;  // Nro. Lins. del Papel Talón
var HeadPosLin=20;   // Nro. Lin. de Cabecera (luego del logo)
var FootPosLin=43;   // Nro. Lin. del Pie (pagaré)
var CompLetOn="";    // Código on  Letra comprimida
var CompLetOff="";   // Código off Letra comprimida 
var LongLine=66;     // Longitud de línea
var CarPad="-";      // Caracter de relleno
// Variables de traducción de dígitos -- Se ha fracasado con matrices en el SERVER
	var mat_un_0="";
	var mat_un_1="";	 
	var mat_un_2="";
	var mat_un_3="";
	var mat_un_4="";
	var mat_un_5="";
	var mat_un_6="";
	var mat_un_7="";
	var mat_un_8="";
	var mat_un_9="";
	var mat_ud_0="";
	var mat_ud_1="";
	var mat_ud_2="";
	var mat_ud_3="";
	var mat_ud_4="";
	var mat_ud_5="";
	var mat_ud_6="";
	var mat_ud_7="";
	var mat_ud_8="";
	var mat_ud_9="";
	var mat_de_1="";
	var mat_de_2="";
	var mat_de_3="";
	var mat_de_4="";
	var mat_de_5="";
	var mat_de_6="";
	var mat_de_7="";
	var mat_de_8="";
	var mat_de_9="";
	var mat_ce_1="";
	var mat_ce_2="";
	var mat_ce_3="";
	var mat_ce_4="";
	var mat_ce_5="";
	var mat_ce_6="";
	var mat_ce_7="";
	var mat_ce_8="";
	var mat_ce_9="";
	var mat_mll_1="";
	var mat_mll_2="";
	var mat_mll_3="";
	var mat_mll_4="";
	var mat_mll_5="";
	var mat_mll_6="";
	var mat_mll_7="";
	var mat_mll_8="";
	var mat_mll_9="";
	var let_ciens="";         // cientos 
	var let_cient="";         // ciento  
	var let_cien="";          // cien    
   var let_plus100="";       // ciento 
	var let_un="";		        // un 
	var let_mil="";           // mil
	var let_mill="";          // cadena "llón"
	var let_mills="";         // cadena "llones"
   var let_con="";           // con para decimales
   var car_dec="";	        // carácter decimales
   var num_let="";           // resultado   
   var num_let2="";          // resultado   
   var tx_cent="";
   var tx_dece="";
   var tx_und="";                 
   var tx_mll="";
   var txletmll="";
   var txletmil="";
   var linPad="";
dbAcl();
if (request.doc_clean) {
   cleanup_docspago(); 
   redirect(addClient("g_docpago.html?"+baseHtml));
}   
if (request.doc_pago) {
   if (updPagoFras()) {
      cleanup_docspago(); 
      redirect(addClient("g_docpago.html?"+baseHtml));
   }
}
if (request.doc_delete) {
   // Borramos en tabla de pagos datos del usuario
   if ( request.h_nro_doc != "0" ) {          
       criteria=" nro_doc_pago >= '"+NroUnformat(request.d_nro_doc)+"' and nro_doc_pago <= '"+NroUnformat(request.h_nro_doc)+"'";    
   } else {
       criteria=" nro_doc_pago = '"+NroUnformat(request.d_nro_doc)+"'";
   }                           
   client.is_trans=true;
   database.beginTransaction();
   c_docspago = database.cursor("SELECT nro_reg FROM docspago WHERE uid='"+request.uid+"' and "+ criteria+"  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+"'"); 
   }
   c_docspago.close();
   status=database.execute("DELETE FROM docspago WHERE uid=\'" + request.uid+ "\' and "+criteria);
   database.commitTransaction();
   client.is_trans=false;
}
if (request.gofunc) 
   writeln(' <BODY  OnLoad="RunFunction(\''+request.gofunc+'\',\''+request.valor+'\')"');
else {
   if ( request.FrameType == "F" || request.FrameType == "T" ) 
     writeln(' <BODY  OnLoad="WriteFrameButtons();GoField()"');
   else
     writeln(' <BODY OnLoad="GoField()"');
}
writeln(' BACKGROUND="images/backgrnd.gif">');   
writeln('<SCRIPT SRC="global.js">');
writeln('</SCRIPT>');
writeln('<SCRIPT SRC="ctasapagar.js">');
writeln('</SCRIPT>');
writeln('<SCRIPT SRC="factura.js">');
writeln('</SCRIPT>');
writeln("<SCRIPT LANGUAGE='JavaScript'>");
writeln(' function GoField() {');
writeln('   var f=document.f_docpago; ');
writeln('   //     nro_letra("2505480", "spa", "f", "Pesetas", "-", 54,68);');
writeln('   //       alert("\\r"+num_let+"¡¡¡ !!!"); ');
if (!request.f_orden && !request.docpago && !request.opt_docpago && !request.test) {
   if ( chk_docspago() == false )
      writeln('    f.f_impdisp.focus();');
}
if (request.doc_list)
   writeln("displayRptPagos();");   
if (request.f_tipo_doc_pago == "2" && request.doc_carta)
   writeln("displayRptCarta();");   
if (request.f_tipo_doc_pago == "2" && request.doc_file)
   writeln("displayRptFile();");   
if (request.docpago) 
   writeln("displayReport();");   
if (request.test) 
   writeln("displayRptTest();");
writeln(' }');
writeln(' function chkYearNroReg(obj) {');
writeln('    var nro=0; ');
writeln('    nro=parseInt(obj.value); ');
writeln('    if (nro+1 > 0 ) { ');
writeln('        obj.value=nro; ');
writeln('        if ( HOY.getFullYear() != nro )  ');
writeln('           alert("¡¡ El Año del Nro. de Registro no es el actual !! ");');      
writeln('    }');
writeln(' }');
writeln('function NroPad(obj,longNro) {');
writeln('   if ( obj.value.length == 0 )'); 
writeln('        return;');
writeln('   if (obj.value.indexOf("*") >= 0) ');   
writeln('        return;');
writeln('   c_nro=obj.value;');
writeln('   for (var j=c_nro.length ; j<longNro ; j++ ) {');
writeln('	        c_nro="0"+c_nro;');	        
writeln('   }');  
writeln('   obj.value=c_nro.substring(0,longNro);');
writeln('}');   
writeln(' function Chek_fields(obj) {');
if (request.waux ) 
   writeln('     return true;');
else if (!request.f_orden && !request.docpago && !request.opt_docpago && !request.test)  { 			
   writeln('     var importe_disp=0, importe_min=0, nro=0;');
   writeln('     importe_disp=parseInt(NroUnformat(obj.f_impdisp.value));');
   writeln('     if ( emptyField(obj.f_impdisp) == true || importe_disp <= 0 ) { ');
   writeln('          alert("!!! El Disponible ha de ser mayor que 0 !!!->"+obj.f_impdisp.value+"<-");');
   writeln('          return false;');
   writeln('     }');
   writeln('     if ( emptyField(obj.f_nro_doc) == true || parseInt(obj.f_nro_doc.value)<=0 ) { ');
   writeln('          alert("!!! Es necesario rellenar el Nro. de Documento !!!->"+obj.f_nro_doc.value+"<-");');
   writeln('          return false;');
   writeln('     }');
   writeln('     importe_min=parseInt(NroUnformat(obj.f_importe_min.value));');
   writeln('     nro=importe_disp-importe_min;'); 
   writeln('     if ( nro < 0 ) { '); 
   writeln('          alert("!!! El importe Disponible ha de ser mayor que el Mínimo a pagar !!!->"+nro+"<-");');
   writeln('          return false;');
   writeln('     }');
   writeln('     return true;');
}
else if (request.f_orden && !request.test)  { 			
   writeln('     var sumaTotal=0, importe_disp=0, nro=0, pos=0;');
   writeln('     sumaTotal=parseFloat(NroUnformat(obj.sumaTotal.value));');
   writeln('     if ( sumaTotal <= 0 ) { '); 
   writeln('          alert("!!! EL importe total a pagar no puede ser 0 o menor que 0 !!!->"+sumaTotal+"<-");');
   writeln('          return false;');
   writeln('     }');
   writeln('     importe_disp=parseInt(NroUnformat(obj.f_impdisp.value));');
   writeln('     nro=sumaTotal-importe_disp;'); 
   writeln('     if ( nro < 0 ) { '); 
   writeln('          alert("!!! El importe Disponible ha sido excedido en !!!->"+nro+"<-");');
   writeln('          return false;');
   writeln('     }');
	writeln('     obj.sel_nro_reg.value="";');
	writeln('	  for (var i=0; i <obj.docpago.length; i++){  ');
	writeln('        if (obj.docpago.options[i].selected) {');
	writeln('           pos=obj.docpago.options[i].value.indexOf("|");');
	writeln('           if (pos > 1) {');
	writeln('             nro_reg=obj.docpago.options[i].value.substring(0,pos);');
	writeln('             if (obj.sel_nro_reg.value.length > 0 ) ');
	writeln('                  obj.sel_nro_reg.value=obj.sel_nro_reg.value+"|"+nro_reg;');
	writeln('             else ');
	writeln('                  obj.sel_nro_reg.value=nro_reg;');
	writeln('           }');
	writeln('        }');
	writeln('     }');
	writeln('     obj.sel_nro_reg.value=obj.sel_nro_reg.value+"|"');
	writeln('     obj.sel_nro_reg2.value="";');
	writeln('     if (obj.docpago2)  { ') ;
	writeln('	    for (var i=0; i <obj.docpago2.length; i++){  ');
	writeln('        if (obj.docpago2.options[i].selected) {');
	writeln('           pos=obj.docpago2.options[i].value.indexOf("|");');
	writeln('           if (pos > 1) {');
	writeln('             nro_reg=obj.docpago2.options[i].value.substring(0,pos);');
	writeln('             if (obj.sel_nro_reg2.value.length > 0 ) ');
	writeln('                  obj.sel_nro_reg2.value=obj.sel_nro_reg2.value+"|"+nro_reg;');
	writeln('             else ');
	writeln('                  obj.sel_nro_reg2.value=nro_reg;');
	writeln('           }');
	writeln('        }');
	writeln('       }');
	writeln('     }');
	writeln('     obj.sel_nro_reg.value=obj.sel_nro_reg.value+obj.sel_nro_reg2.value+"|"');
	writeln('     obj.sel_nro_reg2.value="";');
   writeln('     return true;');
}   
else if (request.docpago)  { 			
   writeln('     if (confirm("!!! Confirmar Tarea !!!"))');
   writeln('           return true;');
   writeln('     else ');
   writeln('           return false;');
}   
writeln('}');
if (request.gofunc) {
	writeln('function RunFunction(obj,valor) {');
	writeln('  var mainFrame=find_frame(top,"main");');
	writeln('  var f_frame=mainFrame.document.f_docpago;');
   writeln('  if ( obj == "Alta" ) {'); 
   writeln('		f_frame.action="g_docpago.html?nvo=1&'+baseHtml+'";');
   writeln('		f_frame.submit(); ');
	writeln('  }');
	writeln('  if ( obj == "Ayuda" )'); 
	writeln('       NetHelp(valor);');
	writeln('  history.back();');
	writeln('}');
}
writeln('</SCRIPT>');
if (request.docpago) {
         writeln("<SCRIPT LANGUAGE='JavaScript'>");
         writeln("function displayReport() {");
         report_docpago();      
         writeln("}");
         writeln("</SCRIPT>");
}
if (request.doc_list) {
         writeln("<SCRIPT LANGUAGE='JavaScript'>");
         writeln("function displayRptPagos() {");
         rpt_docpago();      
         writeln("}");
         writeln("</SCRIPT>");
}
if (request.f_tipo_doc_pago == "2" && request.doc_carta) {
         writeln("<SCRIPT LANGUAGE='JavaScript'>");
         writeln("function displayRptCarta() {");
         rpt_doccarta();      
         writeln("}");
         writeln("</SCRIPT>");
}
if (request.f_tipo_doc_pago == "2" && request.doc_file) {
         writeln("<SCRIPT LANGUAGE='JavaScript'>");
         writeln("function displayRptFile() {");
         rpt_docfile();      
         writeln("}");
         writeln("</SCRIPT>");
}
if (request.test) {
         writeln("<SCRIPT LANGUAGE='JavaScript'>");
         writeln("function displayRptTest() {");
         rpt_test();      
         writeln("}");
         writeln("</SCRIPT>");
}
if( request.f_orden && !request.test) {
  if (!request.gofunc) {
	dbConnect();
      LoadParametros();
 		    var criterio=""
 		    if ( request.f_desde.length > 0 ) {
              var f_desde=DateFormat(request.f_desde,NLDF);   
              if ( f_desde.substring(0,1) == "-" ) 
                  redirect("alertpage.html?alert=3");      
              criterio=" f_emision >= '"+f_desde+"' "              
          }        
 		    if ( request.f_hasta.length > 0 ) {          
              var f_hasta=DateFormat(request.f_hasta,NLDF);    
              if ( f_hasta.substring(0,1) == "-" ) 
                   redirect("alertpage.html?alert=3");      
              if (criterio.length > 0 ) 
                  criterio=criterio+" and "
              criterio=criterio+" f_emision <= '"+f_hasta+"' "     
          }         
 		    if ( request.v_desde.length > 0 ) {          
              var v_desde=DateFormat(request.v_desde,NLDF);   
              if ( v_desde.substring(0,1) == "-" ) 
                  redirect("alertpage.html?alert=3");      
              if (criterio.length > 0 ) 
                  criterio=criterio+" and "
              criterio=criterio+" f_pago >= '"+v_desde+"' "     
          }
 		    if ( request.v_hasta.length > 0 ) {                  
              var v_hasta=DateFormat(request.v_hasta,NLDF);    
              if ( v_hasta.substring(0,1) == "-" ) 
                   redirect("alertpage.html?alert=3");      
              if (criterio.length > 0 ) 
                  criterio=criterio+" and "
              criterio=criterio+" f_pago <= '"+v_hasta+"' "     
          }     
 		    if ( request.h_mes_fra.length > 0 ) {
              if (criterio.length > 0 ) 
                  criterio=criterio+" and "
              criterio=criterio+" facturas.mes >= '"+request.d_mes_fra+"' and facturas.mes <= '"+request.h_mes_fra+"'"          
          } else {
    		    if ( request.d_mes_fra.length > 0 ) {
                if (criterio.length > 0 ) 
                    criterio=criterio+" and "
                    criterio=criterio+" facturas.mes >= '"+request.d_mes_fra+"'"
             }         
          }                 
          if ( request.h_cod_centro.length > 0 ) {
              if (criterio.length > 0 ) 
                  criterio=criterio+" and "
              criterio=criterio+" cod_centro <= '"+request.d_cod_centro+"' and cod_centro >= '"+request.h_cod_centro+"' "
          } else {
            if ( request.d_cod_centro.length > 0 ) {
              if (criterio.length > 0 ) 
                  criterio=criterio+" and "
              criterio=criterio+" cod_centro matches '"+request.d_cod_centro+"'" 
              }     
          }    
 		    if ( request.nif.length > 0 ) {
              if (criterio.length > 0 ) 
                  criterio=criterio+" and "
              criterio=criterio+" facturas.nif matches '"+request.nif+"'"     
          } 
 		    if ( request.h_nro_fra.length > 0 ) {
              if (criterio.length > 0 ) 
                  criterio=criterio+" and "
              criterio=criterio+" facturas.nro_fra >= '"+request.d_nro_fra+"' and facturas.nro_fra <= '"+request.h_nro_fra+"'"          
          } else {
    		    if ( request.d_nro_fra.length > 0 ) {
                if (criterio.length > 0 ) 
                    criterio=criterio+" and "
                    criterio=criterio+" facturas.nro_fra >= '"+request.d_nro_fra+"'"
                }         
          }                 
 		    if ( request.h_nro_regn.length > 0 ) {
              if (criterio.length > 0 ) 
                  criterio=criterio+" and "
              criterio=criterio+" facturas.nro_reg >= '"+StringClip(true,request.d_nro_regy)+StringClip(true,request.d_nro_regn)+"' and facturas.nro_reg <= '"+StringClip(true,request.h_nro_regy)+StringClip(true,request.h_nro_regn)+"'"     
          } else {   
     		     if ( request.d_nro_regn.length > 0 ) {
                  if (criterio.length > 0 ) 
                      criterio=criterio+" and "
                  criterio=criterio+" facturas.nro_reg >= '"+StringClip(true,request.d_nro_regy)+StringClip(true,request.d_nro_regn)+"'"     
	           }
          }    
 		    if ( request.razon_social.length > 0 ) { 
              if (criterio.length > 0 ) 
                  criterio=criterio+" and "
              var razon_social=request.razon_social;    
// 			     var lowcaps = request.razon_social.toLowerCase();
// 			     var uppercaps = request.razon_social.toUpperCase();
              criterio=criterio+"razon_social matches '"+razon_social+"'"
          }    
          var nro=parseFloat(NroUnformat(request.f_importe_min));
          critIMP=""; 
  	       if ( nro > 0 ) {
              critIMP=" and importe_total >= '"+nro+"'"
 		 	 }
          if (criterio.length > 0 ) 
               criterio=" and "+criterio;
          request.criterio=criterio;     
          c_facturas = database.cursor("SELECT * FROM facturas,proveedores,centros WHERE facturas.nif=proveedores.nif and facturas.cod_centro=centros.cod_centro "+
                                       " and is_locked !='S' and  f_emision_pago is null and  proveedores.cond_pago != '"+client.pa_cp_lock+"'"+
		                                 " and tipo_doc_pago ='"+request.f_tipo_doc_pago+"' "+
                                       " and facturas.cond_pago != '"+client.pa_cp_lock+"' and importe_total > 0 "+criterio +
                                       critIMP+" ORDER BY " + request.f_orden);
		}	              
//      if (!c_facturas) 
//         DbsError(false,-1);  
//      else {
//         writeln("<SCRIPT LANGUAGE='JavaScript'>");
//         writeln("function displayReport() {");
//         report_fra();      
//         writeln("}");
//         writeln("</SCRIPT>");
//         c_facturas.close();
//      }
}	
criterio="Doc. Pago";
writeln("<SCRIPT LANGUAGE='JavaScript'>");
writeln('function RangoFecha(obj,clave) {');
writeln('  if (obj.value.length > 0 ){  ');
writeln('    if (clave == "emision") { ');
writeln('        if (dateCmp(obj.value,document.f_docpago.f_desde.value) != 1 ) {;');
writeln('           alert("¡ El Rango de Fechas no es posible !");');
writeln('           obj.value="";');
writeln('           document.f_docpago.f_desde.focus();');
writeln('        } ');
writeln('    } ');
writeln('    if (clave == "vto") { ');
writeln('        if (dateCmp(obj.value,document.f_docpago.v_desde.value) != 1 ) {;');
writeln('           alert("¡ El Rango de Fechas no es posible !");');
writeln('           obj.value="";');
writeln('           document.f_docpago.v_desde.focus();');
writeln('        } ');
writeln('    } ');
writeln('    if (clave == "fecha") {  ');
writeln('        if (dateCmp(obj.value,document.f_docpago.desde.value) != 1 ) {');
writeln('           alert("¡ El Rango de Fechas no es posible !");');
writeln('           obj.value="";');
writeln('           document.f_docpago.desde.focus();');
writeln('        } ');
writeln('    } ');
writeln('  } ');
writeln('} ');
writeln('function HastaDefault(obj,clave) {');
writeln('  if (obj.value.length <= 0 ){  ');
writeln('    if (clave == "emision")  ');
writeln('        obj.value=document.f_docpago.f_desde.value;');
writeln('    if (clave == "vto")  ');
writeln('        obj.value=document.f_docpago.v_desde.value;');
writeln('    if (clave == "fecha")  ');
writeln('        obj.value=document.f_docpago.desde.value;');
writeln('  } ');
writeln('} ');
writeln('function SumaTotal(obj) {');
writeln('  var f=document.f_docpago; ');
writeln('  var sumaTotal=0 ');
writeln('  var ndocs=0 ');
writeln('  for (var i=0; i <obj.length; i++){  ');
writeln('    if (obj.options[i].selected) {');
writeln('      ndocs++; ');
writeln('      var pos=obj.options[i].value.indexOf("|"); ');  
writeln('      if (pos > 1)  ');
writeln('        sumaTotal=sumaTotal+parseFloat(obj.options[i].value.substring(pos+1,obj.options[i].value.length))');
writeln('    } ');
writeln('  } ');
writeln('  f.sumaTotal.value=NroFormat(sumaTotal,NF9);');
writeln('  var impdisp=parseFloat(NroUnformat(f.f_impdisp[1].value));');
writeln('  f.totalDocs.value=ndocs;');
writeln('  var total=impdisp-sumaTotal ');
writeln('  if ( total<0 ) ');
writeln('           alert("¡ La suma total excede al disponible en:"+NroFormat(total*-1,NF9)+" !");');
writeln('} ');
writeln('function SumaTotal2(obj) {');
writeln('  var f=document.f_docpago; ');
writeln('  var sumaTotal2=0 ');
writeln('  var ndocs2=0 ');
writeln('  for (var i=0; i <obj.length; i++){  ');
writeln('    if (obj.options[i].selected) {');
writeln('      ndocs2++; ');
writeln('      var pos=obj.options[i].value.indexOf("|"); ');  
writeln('      if (pos > 1)  ');
writeln('        sumaTotal2=sumaTotal2+parseFloat(obj.options[i].value.substring(pos+1,obj.options[i].value.length))');
writeln('    } ');
writeln('  } ');
writeln('  f.sumaTotal2.value=NroFormat(sumaTotal2,NF9);');
writeln('  f.totalDocs2.value=ndocs2;');
writeln('} ');
writeln('</SCRIPT>');
if ( request.FrameType == "F" || request.FrameType == "T" ) {
   writeln("<SCRIPT LANGUAGE='JavaScript'>");
   writeln('function WriteFrameButtons() {')
   if (!request.waux) {
      writeln('   var topFrame=find_frame(top,"top");');
      writeln('   var ndoc=topFrame.document; ');
      writeln('   var mainFrame=find_frame(top,"main");');
      writeln('   var formAction=mainFrame.document.location.href;');
      QueryButtons("Facturas",criterio,"pag");
   }  
   writeln('}');
   writeln("</SCRIPT>");
}
if (!request.waux) {
 if (request.gofunc) {
   writeln('</BODY>');
	writeln('</HTML>');
	writeln(' <!--');
 }	
 else {
   if ( request.FrameType == "L" ) {
     	writeln('<FORM  METHOD="post" ACTION="g_docpago.html?'+baseHtml+'&nvo=1">');
      QueryHeadBar("Facturas",criterio,"rpt")
      writeln('</FORM>');
   }
   writeln('<FORM NAME="f_docpago" method="Post" action="g_docpago.html?'+baseHtml+'" onSubmit="return Chek_fields(this)">');
 }  
}
else {
   writeln('<FORM NAME="f_docpago" method="Post" action="g_docpago.html?waux='+request.waux+'&'+baseHtml+'" onSubmit="return Chek_fields(this)">');
   writeln('<CENTER><FONT SIZE=+2>'+criterio+'	</FONT></FONT></H1></CENTER>');	
}
if( !request.f_orden && !request.docpago && !request.opt_docpago) {
	       if (!request.nif) 
	            request.nif="";
	       if (!request.d_cod_centro) 
	            request.d_cod_centro="";
	       if (!request.h_cod_centro) 
	            request.h_cod_centro="";
	       if (!request.razon_social) 
	            request.razon_social="";
	       if (!request.d_nro_fra) 
	            request.d_nro_fra="";
	       if (!request.h_nro_fra) 
	            request.h_nro_fra="";
          if (!request.f_desde) 
               request.f_desde="";
          if (!request.f_hasta) 
               request.f_hasta="";   
          if (!request.v_desde) 
               request.v_desde="";
          if (!request.v_hasta) 
               request.v_hasta="";   
	       if (!request.d_mes_fra) 
	            request.d_mes_fra="";
	       if (!request.h_mes_fra) 
	            request.h_mes_fra="";
			 if (!request.d_nro_regn)
			 	   request.d_nro_regn="";
			 if (!request.d_nro_regy) {
               var n = HOY.getYear();	
               if ( n >= 0 && n <= 70 )
                    n += 2000;
               else
  		              n += 1900;
			 	   request.d_nro_regy=n;
			 }
			 if (!request.h_nro_regn)
			 	   request.h_nro_regn="";
			 if (!request.h_nro_regy) {
               var n = HOY.getYear();	
               if ( n >= 0 && n <= 70 )
                    n += 2000;
               else
  		              n += 1900;
			 	   request.h_nro_regy=n;
			 }
          writeln('<TABLE ALIGN="CENTER" BORDER=0>');
  	       writeln('<TR><TD ALIGN=LEFT><B>Disponible:</B></TD>');
  	       writeln('<TD><INPUT type="text" name="f_impdisp" VALUE="0" onBlur="NroToString(this,NF11)" onFocus="StringToNro(this,NF11)" SIZE=14></TD>');
  	    	 writeln('<TD><SELECT NAME="f_cod_banco" SIZE=1>');
  		  	 c_bancos = database.cursor("SELECT cod_banco,nombre FROM bancos where is_locked != 'S' ORDER BY cod_banco ");
          while (c_bancos.next()) {
         	   writeln('<OPTION VALUE="'+c_bancos.cod_banco+'" >'+c_bancos.nombre);
          }
          c_bancos.close();
          writeln('</SELECT></TD></TR>');       
          writeln('<TR><TD ALIGN=LEFT><B>Localidad:</B></TD>');
          writeln('<TD><INPUT type="text" name="f_cod_localidad" VALUE="MALAGA" size=12 maxlength=12></TD></TR>');
 	    	 writeln('<TR><TD ALIGN=LEFT><B>Nro. Documento:</B></TD>');
 	    	 writeln('<TD><INPUT type="text" name="f_nro_doc" onBlur="NroToString(this,NF11)" onFocus="StringToNro(this,NF11)" size=12 maxlength=12 VALUE="" ></TD></TR>');
 	    	 writeln('<TR><TD ALIGN=LEFT></TD><TD><SELECT NAME="f_tipo_doc_pago" OnChange="//" SIZE=1><OPTION VALUE="1" SELECTED> Pagaré <OPTION VALUE="2"> Talón Bancario <OPTION VALUE="3"> Compensación <OPTION VALUE="4"> Domiciliación </SELECT></TD></TR>');
          writeln('<TR><TD ALIGN=LEFT><B>Fecha Emisión:</B></TD>');
          writeln('<TD><INPUT type="text" name="f_f_emision_pago" VALUE="'+set_hoy()+'" onBlur="ToStringDate(this,IFDF)" onFocus="UnfrmtStrDate(this,IFDF)" size=8 maxlength=8></TD></TR>');
          writeln('</TABLE>');
          writeln('<HR>');
          writeln('<B>Criterios de Seleccion Datos: </B><BR>');
          writeln('<TABLE ALIGN="CENTER" BORDER=0>');
          writeln('<INPUT TYPE="submit" value="Buscar">');
  	       writeln('<TR><TD ALIGN=LEFT><B>Importe Superior a:</B></TD>');
  	       writeln('<TD><INPUT type="text" name="f_importe_min" VALUE="0" onBlur="NroToString(this,NF11)" onFocus="StringToNro(this,NF11)" SIZE=14><INPUT TYPE="submit" value=" . "></TD>');
          writeln('<TR><TD ALIGN=LEFT><B>Nro.Reg.Desde: </B></TD><TD><INPUT TYPE="text" NAME="d_nro_regn" VALUE="'+request.d_nro_regn+'" OnChange="NroPad(this,5)" SIZE=5 > <INPUT TYPE="text" NAME="d_nro_regy" VALUE="'+request.d_nro_regy+'" SIZE=4  OnChange="chkYearNroReg(this)">');
          writeln('Hasta: <INPUT TYPE="text" NAME="h_nro_regn" VALUE="'+request.h_nro_regn+'" OnChange="NroPad(this,5)" SIZE=5 > <INPUT TYPE="text" NAME="h_nro_regy" VALUE="'+request.h_nro_regy+'" SIZE=4  OnChange="chkYearNroReg(this)"><INPUT TYPE="submit" value=" / "></TD>');
          writeln('<TR><TD ALIGN=LEFT><B>Nro.Fra.Desde: </B></TD><TD><INPUT TYPE="text" NAME="d_nro_fra" VALUE="'+request.d_nro_fra+'" SIZE=12 >');
          writeln('Hasta: <INPUT TYPE="text" NAME="h_nro_fra" VALUE="'+request.h_nro_fra+'" SIZE=12 > </TD>');
  	       writeln("<TR><TD ALIGN=LEFT>N.I.F. .......: </TD><TD><INPUT type='text' name='nif' size=12 maxlength=12 VALUE='"+request.nif +"' onChange='this.value=this.value.toUpperCase()' > </TD></TR>");
  	       writeln("<TR><TD ALIGN=LEFT>Razón Social .: </TD><TD><INPUT type='text' name='razon_social' size=30 maxlength=40 VALUE='"+request.razon_social +"' ></TD></TR>");
  	       writeln("<TR><TD ALIGN=LEFT>Código Centro Desde: </TD><TD><INPUT type='text' name='d_cod_centro' size=12 maxlength=12 VALUE='"+request.d_cod_centro +"' >");
  	       writeln("Hasta: <INPUT type='text' name='h_cod_centro' size=12 maxlength=12 VALUE='"+request.h_cod_centro +"' ></TD></TR>");
  	       writeln("<TR><TD ALIGN=LEFT>Emitida Desde: </TD><TD><INPUT type='text' name='f_desde' size=8 maxlength=10 VALUE='"+request.f_desde +"' onBlur='ToStringDate(this,IFDF)' onFocus='UnfrmtStrDate(this,IFDF)' >");
    	    writeln("Hasta: <INPUT type='text' name='f_hasta' size=8 maxlength=10 VALUE='"+request.f_hasta +"' onBlur='ToStringDate(this,IFDF)' onFocus='HastaDefault(this,\"emision\");UnfrmtStrDate(this,IFDF)' onChange='RangoFecha(this,\"emision\")' ></TD></TR>");
  	       writeln("<TR><TD ALIGN=LEFT>Fecha. Pago Desde: </TD><TD><INPUT type='text' name='v_desde' size=8 maxlength=10 VALUE='"+request.v_desde +"' onBlur='ToStringDate(this,IFDF)' onFocus='UnfrmtStrDate(this,IFDF)' >");
    	    writeln("Hasta: <INPUT type='text' name='v_hasta' size=8 maxlength=10 VALUE='"+request.v_hasta +"' onBlur='ToStringDate(this,IFDF)' onFocus='HastaDefault(this,\"vto\");UnfrmtStrDate(this,IFDF)' onChange='RangoFecha(this,\"vto\")''></TD></TR>");
          writeln('<TR><TD ALIGN=LEFT><B>Nro.Mes.Desde: </B></TD><TD><INPUT TYPE="text" NAME="d_mes_fra" VALUE="'+request.d_mes_fra+'" SIZE=2 >');
          writeln('Hasta: <INPUT TYPE="text" NAME="h_mes_fra" VALUE="'+request.h_mes_fra+'" SIZE=2 > </TD>');
  	    	 writeln('<TR><TD ALIGN=LEFT>Ordenado por: </TD><TD><SELECT NAME="f_orden" SIZE=1>');
   	    writeln('<OPTION VALUE="razon_social" SELECTED>Razón Social');
   	    writeln('<OPTION VALUE="facturas.nif" >N.I.F.');
   	    writeln('<OPTION VALUE="nro_fra" >Nro.Fra. ');
   	    writeln('<OPTION VALUE="nro_reg" >Nro.Reg. ');
   	    writeln('<OPTION VALUE="f_emision" >Fecha Emisión');
   	    writeln('<OPTION VALUE="vto_pago" >Vto. Pago');
   	    writeln('<OPTION VALUE="cod_centro" >Centro ');
   	    writeln('<OPTION VALUE="f_pago" >Fecha Pago ');
          writeln('</SELECT></TD></TR>');       
  	    	 writeln('<TR><TD ALIGN=LEFT>Nro.Lin (test): </TD><TD><SELECT NAME="t_nl" SIZE=1>');
   	    writeln('<OPTION VALUE="0" SELECTED>No');
   	    writeln('<OPTION VALUE="1" >Si');
          writeln('</SELECT></TD></TR></TABLE>');       
  writeln('<INPUT TYPE="submit" value="Buscar">');

  writeln('<INPUT TYPE="submit" name="test" value="Test">');
  writeln('</FORM>');
}
writeln("<CENTER>");
if (!request.waux) {
   refHtml="g_docpago.html?"+baseHtml;
}
else {
   refHtml="g_docpago.html?waux=1&"+baseHtml;
} 
LoadHidden(refHtml);
if( request.f_orden && !request.test ) {
   writeln("</CENTER>");
   if (request.t_nl == "1") 
      writeln('<FONT COLOR="#800040" SIZE=+2><BLINK><B>TEST nro. Línea </B></BLINK></FONT>');
   writeln('<TABLE ALIGN="CENTER" BORDER=0>');
  	writeln('<TR><TD ALIGN=LEFT></TD><TD>');
   if (request.f_cod_banco && request.f_cod_banco != null) {
       CursorTabla("ba","cod_banco","=\'"+StringClip(true,request.f_cod_banco)+"\'",false,false);
       request.f_t_nombre_banco=StringClip(false,c_bancos.nombre);
       c_bancos.close();
	}
	else
	    request.f_t_nombre_banco="";
  	writeln('<TR><TD ALIGN=LEFT><B> Cód: <B>'+request.f_cod_banco+'</B></TD>');
   writeln('<TD ALIGN=LEFT><FONT COLOR="#800040"><B>'+request.f_t_nombre_banco+'</FONT></B><INPUT TYPE="hidden" NAME="f_cod_banco" VALUE="'+request.f_cod_banco+'" SIZE=4></TD></TR>');
	writeln('<TR><TD ALIGN=LEFT><B>Disponible:</TD>');
	writeln('<TD ALIGN=LEFT><FONT COLOR="#800040"><B>'+request.f_impdisp+'</B></FONT><INPUT TYPE="hidden" NAME="f_impdisp" VALUE="'+request.f_impdisp+'" SIZE=14> </TD></TR>');
   writeln('<TR><TD ALIGN=LEFT><B>Localidad:</B></TD>');
   writeln('<TD ALIGN=LEFT><FONT COLOR="#800040"><B>'+request.f_cod_localidad+'</FONT><INPUT type="hidden" name="f_cod_localidad" VALUE="'+request.f_cod_localidad+'" size=12 maxlength=12></FONT></TD></TR>');
   writeln('<TR><TD ALIGN=LEFT><B>Fecha Emisión:</B></TD>');
   writeln('<TD ALIGN=LEFT><FONT COLOR="#800040"><B>'+request.f_f_emision_pago+'</FONT><INPUT type="hidden" name="f_f_emision_pago" VALUE="'+request.f_f_emision_pago+'" size=8 maxlength=8></TD></FONT></TR>');
   writeln('<TR><TD ALIGN=LEFT><B>Nro.</B>');
   if (request.f_tipo_doc_pago=="1")
      writeln('<FONT COLOR="#800040"><B> Pagaré </B></FONT>');
   if (request.f_tipo_doc_pago=="2")
     	 writeln('<FONT COLOR="#800040"><B> Talón </B></FONT>');
   if (request.f_tipo_doc_pago=="3")
    	 writeln('<FONT COLOR="#800040"><B> Compensación </B></FONT>');
   if (request.f_tipo_doc_pago=="4")
     	 writeln('<FONT COLOR="#800040"><B> Domiciliación </B></FONT>');
   writeln('<TD ALIGN=LEFT><FONT COLOR="#800040"><B>'+request.f_nro_doc+'</B></FONT><INPUT TYPE="hidden" NAME="f_nro_doc" VALUE="'+request.f_nro_doc+'">');
   writeln('<INPUT TYPE="hidden" NAME="f_tipo_doc_pago" VALUE="'+request.f_tipo_doc_pago+'"></TD></TR>');
   writeln('<TR><TD ALIGN=LEFT><B>Importe Superior a:</B></TD>');
   writeln('<TD ALIGN=LEFT><FONT COLOR="#800040"><B>'+request.f_importe_min+'</B></FONT><INPUT type="hidden" name="f_importe_min" VALUE="'+request.f_importe_min+'"  SIZE=14></TD>');
   writeln('<INPUT TYPE="hidden" NAME="t_nl" VALUE="'+request.t_nl+'"></TD></TR>');
   writeln('</TABLE>');
   writeln("<HR><CENTER>");
   var suma_total=0;
   var nrows=0;
   while (c_facturas.next()) {
     if ( nrows == 0 ) 
          writeln('<SELECT NAME="docpago" OnChange="SumaTotal(this)" SIZE=10 MULTIPLE>');
     nrows++;
     LastRow=c_facturas.nro_reg;
	//lista de todos los facturas devueltos por el cursor.
         if ( (suma_total+c_facturas.importe_total) > NroUnformat(request.f_impdisp) ) 
           continue ;
         var linea=c_facturas.nro_reg.substring(4,c_facturas.nro_reg.length)+"&nbsp&nbsp&nbsp";
         linea=linea+NroFormat(c_facturas.importe_total,NF09)   
         linea=linea+"&nbsp&nbsp&nbsp"+   
   		        c_facturas.nif +"&nbsp&nbsp&nbsp"+ 
   		        datetoString(c_facturas.f_pago) +"&nbsp&nbsp"+ 
					  c_facturas.razon_social.substring(0,20);
//         "/" + c_facturas.nro_reg.substring(0,4) +" "+ 
//   		        c_facturas.nro_fra +" "+
//   		        datetoString(c_facturas.f_emision) +" "+ 
//   		        datetoString(c_facturas.vto_pago) +" "+ 
//   		        c_facturas.cod_centro +" "+
//   		writeln("<option>"+substChar(linea," ","&nbsp;")+"</option>");
   		writeln('<option value="'+c_facturas.nro_reg+'|'+c_facturas.importe_total+'">'+linea+'</option>');
    suma_total=suma_total+c_facturas.importe_total; 
    if ( suma_total > NroUnformat(request.f_impdisp) ) 
        break ;
  }
  c_facturas.close();
  if ( nrows > 0 ) 
     writeln('</SELECT>');
  writeln('<HR>');
  writeln('<INPUT TYPE="hidden" NAME="sel_nro_reg" VALUE="">');
  writeln('<TABLE ALIGN="CENTER" BORDER=0>');
  writeln('<TD ALIGN=LEFT><B>Suma Total:</B><INPUT TYPE="text" NAME="sumaTotal" OnChange="SumaTotal(this)" VALUE="0" SIZE=12 ></TD>');
  writeln('<TD ALIGN=RIGHT><B>Disponible:</B><FONT COLOR="#800040"><B>'+request.f_impdisp+'</B></FONT><INPUT TYPE="hidden" NAME="f_impdisp" VALUE="'+request.f_impdisp+'" SIZE=14> </TD>');
  writeln('<TD ALIGN=LEFT><B>Nro. Docs:</B><INPUT TYPE="text" NAME="totalDocs" VALUE="0" OnChange="SumaTotal(this)" SIZE=3 ></TD><TR>');
  writeln('</TABLE>');
  writeln('<CENTER> <B><H3>Devoluciones</B></H3></CENTER>');
  writeln('<HR>');
  var suma_total2=0;
  var nrows2=0;
  c_facturas = database.cursor("SELECT * FROM facturas,proveedores,centros WHERE facturas.nif=proveedores.nif and facturas.cod_centro=centros.cod_centro "+
                                  " and is_locked !='S' and  f_emision_pago is null and  proveedores.cond_pago != '"+client.pa_cp_lock+"'"+
                                  " and tipo_doc_pago ='"+request.f_tipo_doc_pago+"' "+
                                  " and facturas.cond_pago != '"+client.pa_cp_lock+"' "+request.criterio +
 	                               " and importe_total < 0 ORDER BY " + request.f_orden);
   while (c_facturas.next()) {
        if ( nrows2 == 0 ) 
           writeln('<SELECT NAME="docpago2" OnChange="SumaTotal2(this)" SIZE=10 MULTIPLE>');
        nrows2++;
        LastRow=c_facturas.nro_reg;
            var linea=c_facturas.nro_reg.substring(4,c_facturas.nro_reg.length)+"&nbsp&nbsp&nbsp";
            linea=linea+NroFormat(c_facturas.importe_total,NF09)   
            linea=linea+"&nbsp&nbsp&nbsp"+   
   		        c_facturas.nif +"&nbsp&nbsp&nbsp"+ 
   		        datetoString(c_facturas.f_pago) +"&nbsp&nbsp"+ 
					  c_facturas.razon_social.substring(0,20);
//         "/" + c_facturas.nro_reg.substring(0,4) +" "+ 
//   		        c_facturas.nro_fra +" "+
//   		        datetoString(c_facturas.f_emision) +" "+ 
//   		        datetoString(c_facturas.vto_pago) +" "+ 
//   		        c_facturas.cod_centro +" "+
//   	    	writeln("<option>"+substChar(linea," ","&nbsp;")+"</option>");
      		writeln('<option value="'+c_facturas.nro_reg+'|'+c_facturas.importe_total+'">'+linea+'</option>');
            suma_total2=suma_total2+c_facturas.importe_total; 
  }
  c_facturas.close();
  if ( nrows2 > 0 ) 
     writeln('</SELECT>');
  writeln('<HR>');
  writeln('<INPUT TYPE="hidden" NAME="sel_nro_reg2" VALUE="">');
  writeln('<TABLE ALIGN="CENTER" BORDER=0>');
  writeln('<TD ALIGN=LEFT><B>Suma Total:</B><INPUT TYPE="text" NAME="sumaTotal2" OnChange="SumaTotal2(this)" VALUE="0" SIZE=12 ></TD>');
  writeln('<TD ALIGN=LEFT><B>Nro. Docs:</B><INPUT TYPE="text" NAME="totalDocs2" VALUE="0" OnChange="SumaTotal2(this)" SIZE=3 ></TD><TR>');
  writeln('</TABLE>');
  writeln('<HR>');
  writeln('<CENTER><INPUT TYPE="submit" value="Pagar Documentos"></CENTER>');
}   
if (request.docpago || request.opt_docpago) {
  writeln('<CENTER><INPUT TYPE="submit" name="doc_pago" value="Confirmar">');
  writeln('<INPUT TYPE="submit"  name="doc_clean" value="Deshacer">');
  if (request.f_tipo_doc_pago == "2" ) {
    writeln('<INPUT TYPE="submit"  name="doc_carta" value="Carta">');
    writeln('<INPUT TYPE="submit"  name="doc_file" value="Fichero">');    
  }
  writeln('<INPUT TYPE="submit"  name="doc_list" value="Listar"></CENTER>');
  writeln('<INPUT TYPE="hidden" NAME="opt_docpago" VALUE="0">');
  writeln('<INPUT TYPE="hidden" NAME="f_tipo_doc_pago" VALUE="'+request.f_tipo_doc_pago+'">');
  writeln('<BR><BR><LEFT><B>Documentos a Cancelar:</B>');
  writeln('Desde<INPUT type="text" name="d_nro_doc" onBlur="NroToString(this,NF7)" onFocus="StringToNro(this,NF7)" size=9 maxlength=9 VALUE="" >');
  writeln('Hasta<INPUT type="text" name="h_nro_doc" onBlur="NroToString(this,NF7)" onFocus="StringToNro(this,NF7)" size=9 maxlength=9 VALUE="" >');  
  writeln('<INPUT TYPE="submit"  name="doc_delete" value="Cancelar">');    
}
writeln('</FORM>');
if (!request.waux) 
   writeSignature(true);
if (request.gofunc) {
	writeln('-->');
}
else {
	writeln('</BODY>');
	writeln('</HTML>');
}
</SERVER>