ctasapagar/l_docpago.js

946 lines
42 KiB
JavaScript

//////////////////////////////////////
// //
// 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('<HTML>');
fileRpt.writeln('<HEAD></HEAD>');
fileRpt.writeln('<BODY>');
fileRpt.writeln('<FONT SIZE=3>');
fileRpt.writeln('<PRE> ');
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+" <B>"+StringClip(false,c_proveedores.razon_social)+"</B> ");
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. <I>0"+nro_doc_pago+"</I> a cargo del ");
nlin++;
if (request.t_nl == "1") { lnro=nlin; }
fileRpt.writeln(lnro+" <I>"+StringClip(false,c_bancos.nombre)+"</I> de pesetas <B><I>"+NroFormat(importeTotal,NF9)+"</I></B>,");
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+"<I> CONSTRUCCIONES SANCHEZ DOMINGUEZ-SANDO, S.A.</I> ");
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+" <FONT SIZE=-1>");
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+" </FONT>");
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('<PRE>');
fileRpt.writeln('</FONT>');
fileRpt.writeln('</BODY>');
fileRpt.writeln('</HTML>');
fileRpt.close();
}
function out_doctalon() {
var fileRpt=new File(nomFile);
fileRpt.open("w");
fileRpt.writeln('<HTML>');
fileRpt.writeln('<HEAD></HEAD>');
fileRpt.writeln('<BODY>');
fileRpt.writeln('<FONT SIZE=2>');
fileRpt.writeln('<PRE> ');
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('<PRE>');
fileRpt.writeln('</FONT>');
fileRpt.writeln('</BODY>');
fileRpt.writeln('</HTML>');
fileRpt.close();
}
function out_doccarta() {
var fileRpt=new File(nomCarta);
fileRpt.open("w");
fileRpt.writeln('<HTML>');
fileRpt.writeln('<HEAD></HEAD>');
fileRpt.writeln('<BODY>');
fileRpt.writeln('<FONT SIZE=3>');
fileRpt.writeln('<PRE> ');
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+" <B>"+StringClip(false,c_proveedores.razon_social)+"</B> ");
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. <B><I>"+nro_doc_pago+"</I></B> a cargo del ");
nlin++;
if (request.t_nl == "1") { lnro=nlin; }
fileRpt.writeln(lnro+" <I>"+StringClip(false,c_bancos.nombre)+"</I> de pesetas <B><I>"+NroFormat(importeTotal,NF9)+"</I></B>,");
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+"<I> CONSTRUCCIONES SANCHEZ DOMINGUEZ-SANDO, S.A.</I> ");
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('<PRE>');
fileRpt.writeln('</FONT>');
fileRpt.writeln('</BODY>');
fileRpt.writeln('</HTML>');
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('<HTML>');
fileRpt.writeln('<HEAD></HEAD>');
fileRpt.writeln('<BODY>');
fileRpt.writeln('<FONT SIZE=3>');
fileRpt.writeln('<PRE> ');
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('<PRE>');
fileRpt.writeln('</FONT>');
fileRpt.writeln('</BODY>');
fileRpt.writeln('</HTML>');
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('<HTML><HEAD></HEAD>');
fileRpt.writeln('<BODY BACKGROUND="images/backgrnd.gif">');
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('<BR><BR><BR>');
// nlins=0;
// is_newpag=true;
// };
if ( is_newpag == true ) {
if (npag > 1 ) { fileRpt.write('</TABLE>')};
fileRpt.writeln('<B><I>Dpto. Cuentas a Pagar</B></I><BR><HR>');
fileRpt.writeln('<ALIGN=LEFT><H3><B>LISTADO DE PAGOS PENDIENTES DE CONFIRMAR</B></H3>');
fileRpt.writeln('<HR>');
is_newpag=false;
nlins=nlins+4;
set_head=true;
npag++;
}
if ( set_head == true ) {
fileRpt.writeln('<CENTER><TABLE BORDER=0 ALIGN=CENTER>');
fileRpt.writeln(" <TR><TD ALIGN=CENTER><B>N.Reg.</B>" +
"<TD ALIGN=CENTER><B>F.Vto.Pago</B> </TD>"+
"<TD ALIGN=CENTER><B>Centro </B></TD>"+
"<TD ALIGN=CENTER><B>Proveedor</B></TD>"+
"<TD ALIGN=CENTER><B>Tot.Fra.</B></TD>"+
"<TD ALIGN=CENTER><B>Nro.Doc.</B></TD>"+
"<TD ALIGN=CENTER><B>Banco</B></TD>"+
"<TD ALIGN=CENTER><B>Importe</B></TD></TR>");
nlins=nlins+2; set_head=false;
}
// "/" + c_docspago.nro_reg.substring(0,4) +"</TD>"+
fileRpt.writeln("<TR><TD ALIGN=RIGHT>"+c_docspago.nro_reg.substring(4,c_docspago.nro_reg.length) + "</TD>" +
"<TD ALIGN=RIGHT>"+datetoString(c_docspago.vto_pago) +"</TD>"+
"<TD ALIGN=CENTER>"+c_docspago.cod_centro +"</TD>"+
"<TD ALIGN=CENTER>"+c_proveedores.razon_social +"</TD>"+
"<TD ALIGN=RIGHT>"+NroFormat(c_facturas.importe_total,NF9)+"</TD>"+
"<TD ALIGN=CENTER>"+StringClip(false,c_docspago.nro_doc_pago) +"</TD>"+
"<TD ALIGN=CENTER>"+StringClip(false,c_docspago.cod_banco) +"</TD>"+
"<TD ALIGN=RIGHT>"+NroFormat(c_docspago.importe_total,NF9)+"</TD></TR>");
suma_total=suma_total+c_docspago.importe_total;
nlins++;
c_proveedores.close();
c_facturas.close();
}
// writeln("<TR><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD ALIGN=RIGHT></TD><TD ALIGN=RIGHT>----------------</TD>");
// writeln("<TR><TD></TD><TD></TD><TD></TD><TD></TD><TD></TD><TD ALIGN=RIGHT>Suma Total:</TD><TD ALIGN=RIGHT>"+NroFormat(suma_total,NF10) +"</TD>");
fileRpt.writeln('</TABLE>');
fileRpt.writeln('<HR><TABLE BORDER=0 ALIGN=CENTER><TR>');
fileRpt.writeln("<TR><TD></TD><TD ALIGN=RIGHT><B>TOTAL Acumulado....... </B></TD>"+
"<TD ALIGN=RIGHT><B>"+NroFormat(suma_total,NF11)+"</B></TD>");
fileRpt.writeln('</TABLE>');
fileRpt.writeln('</FONT>');
fileRpt.writeln('</BODY>');
fileRpt.writeln('</HTML>');
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");');
}