ctasapagar/g_docpago.html
2021-10-01 20:28:38 +01:00

803 lines
38 KiB
HTML

<!---
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>