ctasapagar/l_prevision.js

160 lines
7.5 KiB
JavaScript

//////////////////////////////////////
// //
// JavaScript Functions //
// //
//////////////////////////////////////
function report_prev() {
var npag=0;
var nrolin=0;
// if (request.f_formato=="documento")
PrevisionHtml();
}
function PrevisionHtml() {
request.sumaret=0;
request.sumapag=0;
request.sumatal=0;
request.linea="";
request.suma_lin=0;
request.suma_tot=0;
var nrolin=0;
var set_head=true;
// var s_seq=getSeqPrt(nprinter);
// textoReqs=textoReqs+" "+s_seq;
// var nomFile=spoolpath+nprinter+"/req_"+s_seq+".html"
fileRpt=new File(nomFile);
fileRpt.open("w");
fileRpt.writeln('<HTML><HEAD></HEAD>');
fileRpt.writeln('<BASEFONT SIZE=1>');
fileRpt.writeln('<FONT SIZE=1>');
var keyLastRow="-";
c_vtosDate = database.cursor("SELECT unique vto_pago from facturas where tipo_doc_pago = '1' "+
" and vto_pago >='"+
request.f_entrada+"' order by vto_pago ")
c_bancos = database.cursor("SELECT cod_banco,nombre FROM bancos where is_locked != 'S' ORDER BY cod_banco ");
while (c_bancos.next()) {
eval ("request.sum_"+c_bancos.cod_banco+"=0");
}
c_bancos.close();
while (c_vtosDate.next()){
if ( nrolin+3 == request.maxLins ) {
fileRpt.writeln('<BR><BR><BR>');
nrolin=0;
set_head=true;
};
if ( set_head == true ) {
nrolin=nrolin+2;
if ( keyLastRow !="-" )
fileRpt.writeln("</TABLE>");
PrevisionCab();
set_head=false;
}
if ( nrolin+1 > request.maxLins ) {
skipTopPage(nrolin,request.maxLins);
nrolin=6;
fileRpt.writeln("</TABLE>");
PrevisionCab();
}
c_bancos = database.cursor("SELECT cod_banco,nombre FROM bancos where is_locked != 'S' ORDER BY cod_banco ");
request.linea="<TD ALIGN=RIGHT><FONT SIZE=1>"+datetoString(c_vtosDate.vto_pago)+"</TD>";
request.suma_lin=0;
while (c_bancos.next()) {
c_vtos = database.cursor("SELECT sum(importe_total) from facturas where tipo_doc_pago = '1' "+
" and cod_banco = '"+c_bancos.cod_banco+
"' and vto_pago ='"+datetoString(c_vtosDate.vto_pago)+
"'")
c_vtos.next();
numero=0;
if ( c_vtos[0] > 0 || c_vtos[0] < 0 )
numero=c_vtos[0];
request.linea=request.linea+"<TD ALIGN=RIGHT><FONT SIZE=1>"+NroFormat(numero,NF11)+"</TD>"
eval ("request.sum_"+c_bancos.cod_banco+"=parseFloat(request.sum_"+c_bancos.cod_banco+")+parseFloat("+numero+")");
request.suma_lin=parseFloat(request.suma_lin)+parseFloat(numero);
c_vtos.close();
}
c_bancos.close();
c_pagemi = database.cursor("SELECT sum(importe_total),f_pago,tipo_doc_pago from facturas where tipo_doc_pago ='2' "+
" and vto_pago is null and f_pago ='"+
datetoString(c_vtosDate.vto_pago)+"' group by tipo_doc_pago, f_pago order by f_pago,tipo_doc_pago")
c_pagemi.next();
// Suma de Pagos tipo 2
numero=0;
if ( c_pagemi[0] > 0 || c_pagemi[0] < 0 )
numero=c_pagemi[0];
request.linea=request.linea+"<TD ALIGN=RIGHT><FONT SIZE=1>"+NroFormat(numero,NF11)+"</TD>"
request.sumtal=parseFloat(request.sumatal+numero);
request.suma_lin=parseFloat(request.suma_lin)+parseFloat(numero);
c_pagemi.close();
c_pagemi = database.cursor("SELECT sum(importe_total),f_pago,tipo_doc_pago from facturas where tipo_doc_pago = '1' "+
" and vto_pago is null and f_pago ='"+
datetoString(c_vtosDate.vto_pago)+"' group by tipo_doc_pago, f_pago order by f_pago,tipo_doc_pago")
c_pagemi.next();
// Suma de Pagos tipo 1
numero=0;
if ( c_pagemi[0] > 0 || c_pagemi[0] < 0 )
numero=c_pagemi[0];
request.linea=request.linea+"<TD ALIGN=RIGHT><FONT SIZE=1>"+NroFormat(numero,NF11)+"</TD>"
request.sumpag=parseFloat(request.sumapag+numero);
request.suma_lin=parseFloat(request.suma_lin)+parseFloat(numero);
c_pagemi.close();
c_reten = database.cursor("SELECT sum(importe_total),f_pago from facturas,proveedores where tipo_doc_pago between '1' and '2' "+
" and f_emision_pago is null and f_pago ='"+
datetoString(c_vtosDate.vto_pago)+"' "+
" and facturas.nif=proveedores.nif "+
" and ( proveedores.cond_pago = '99' or facturas.cond_pago = '99' )"+
" group by cod_banco,f_pago order by f_pago")
c_reten.next();
// Suma de Retenciones
numero=0;
if ( c_reten[0] > 0 || c_reten[0] < 0 )
numero=c_reten[0];
request.linea=request.linea+"<TD ALIGN=RIGHT><FONT SIZE=1>"+NroFormat(numero,NF11)+"</TD>"
request.sumret=parseFloat(request.sumaret+numero);
request.suma_lin=parseFloat(request.suma_lin)+parseFloat(numero);
c_reten.close();
keyLastRow=c_vtosDate.vto_pago;
request.suma_tot=parseFloat(request.suma_tot)+parseFloat(request.suma_lin);
request.linea=request.linea+"<TD ALIGN=RIGHT><FONT SIZE=1>"+NroFormat(request.suma_lin,NF11)+"</TD>"
nrolin++;
fileRpt.writeln("<TR>"+request.linea+"</TR>")
}
// Acumulados totales
c_vtosDate.close();
request.linea="";
c_bancos = database.cursor("SELECT cod_banco,nombre FROM bancos where is_locked != 'S' ORDER BY cod_banco ");
while (c_bancos.next()) {
eval ("request.linea=request.linea+'<TD ALIGN=RIGHT><FONT SIZE=1>'+NroFormat(request.sum_"+c_bancos.cod_banco+",NF11)+'</TD>'");
}
c_bancos.close();
request.linea=request.linea+"<TD ALIGN=RIGHT><FONT SIZE=1>"+NroFormat(request.sumatal,NF11)+"</TD>"
request.linea=request.linea+"<TD ALIGN=RIGHT><FONT SIZE=1>"+NroFormat(request.sumapag,NF11)+"</TD>"
request.linea=request.linea+"<TD ALIGN=RIGHT><FONT SIZE=1>"+NroFormat(request.sumaret,NF11)+"</TD>"
request.linea=request.linea+"<TD ALIGN=RIGHT><FONT SIZE=1>"+NroFormat(request.suma_tot,NF11)+"</TD>"
fileRpt.writeln("<TR><TD><FONT SIZE=1>TOTALES</TD>"+request.linea+"</TR>");
fileRpt.writeln('</TABLE>');
fileRpt.writeln('</BODY>');
fileRpt.writeln('</HTML>');
fileRpt.close();
}
function PrevisionCab() {
request.linea="";
fileRpt.writeln('<H6><I>Dpto. Cuentas a Pagar</FONT></I>');
fileRpt.writeln('<HR>');
fileRpt.writeln('<ALIGN=CENTER><H4><B>PREVISIONES</B></H4>');
fileRpt.writeln('<HR>');
fileRpt.writeln('</TABLE><ALIGN=LEFT>');
fileRpt.writeln('<TABLE BORDER='+request.borde+' ALIGN=CENTER CELLSPACING=0 CELLPADDING=4 VALIGN="TOP">');
c_bancos = database.cursor("SELECT cod_banco,acronimo FROM bancos where is_locked != 'S' ORDER BY cod_banco ");
while (c_bancos.next()) {
request.linea=request.linea+"<TH ALIGN=RIGHT NOWRAP VALIGN=TOP ><I><FONT SIZE=1>"+c_bancos.acronimo+"</I></TH> ";
}
c_bancos.close();
request.linea=request.linea+"<TH ALIGN=RIGHT NOWRAP VALIGN=TOP ><I><FONT SIZE=1>CONTADO</I></TH> ";
request.linea=request.linea+"<TH ALIGN=RIGHT NOWRAP VALIGN=TOP ><I><FONT SIZE=1>PAGARES</I></TH> ";
request.linea=request.linea+"<TH ALIGN=RIGHT NOWRAP VALIGN=TOP ><I><FONT SIZE=1>RETENIDO</I></TH> ";
request.linea=request.linea+"<TH ALIGN=RIGHT NOWRAP VALIGN=TOP ><I><FONT SIZE=1>TOTALES</I></TH> ";
fileRpt.writeln("<TR><TH ALIGN=RIGHT NOWRAP VALIGN=TOP ><I><FONT SIZE=1> VTOS.</I></TH> "+request.linea+"</TR>");
}