387 lines
18 KiB
JavaScript
387 lines
18 KiB
JavaScript
//////////////////////////////////////
|
|
// //
|
|
// JavaScript Functions //
|
|
// //
|
|
//////////////////////////////////////
|
|
|
|
function wrtraspaso(text){
|
|
// writeln("w_outtraspaso.document.write('"+text+"\\n');");
|
|
fileRpt.writeln(text);
|
|
}
|
|
function chk_traspaso() {
|
|
var query;
|
|
c_query = database.cursor("select * FROM traspaso WHERE uid=\'" + request.uid+ "\'");
|
|
if (c_query.next()) {
|
|
request.criterio=StringClip(false,c_query.criterio);
|
|
request.f_traspaso=StringClip(false,c_query.f_traspaso);
|
|
request.f_emision=StringClip(false,c_query.f_emision);
|
|
request.f_nro_doc=StringClip(false,c_query.f_nro_doc);
|
|
request.sel_order=StringClip(false,c_query.sel_order);
|
|
writeln(' alert("\\r Existe un Traspaso de '+request.f_traspaso+' Pendientes de Confirmación !!!"); ');
|
|
request.opt_traspaso="true";
|
|
}
|
|
c_query.close();
|
|
if (request.opt_traspaso)
|
|
return true
|
|
else
|
|
return false
|
|
}
|
|
function insertaTrasp() {
|
|
status=database.execute('INSERT INTO traspaso(' +
|
|
' uid,' +
|
|
' sel_order,'+
|
|
' criterio,'+
|
|
' f_traspaso,'+
|
|
' f_emision,'+
|
|
' f_nro_doc ) VALUES ("' + request.uid+ '","' +
|
|
request.sel_order + '","'+
|
|
request.criterio + '","'+
|
|
request.f_traspaso + '","'+
|
|
request.f_emision + '","'+
|
|
request.f_nro_doc + '")');
|
|
if ( status != 0 ) {
|
|
client.is_trans=false;
|
|
database.rollbackTransaction();
|
|
redirect(addClient('error.html?alert=14'));
|
|
}
|
|
}
|
|
|
|
function report_traspaso() {
|
|
client.is_trans=true;
|
|
database.beginTransaction();
|
|
insertaTrasp();
|
|
out_traspaso();
|
|
database.commitTransaction();
|
|
client.is_trans=false;
|
|
}
|
|
function rpt_traspaso_Doc() {
|
|
writeln('w_carta=window.open("'+urlDoc+'","w_traspaso","toolbar=yes,directories=no,menubar=yes,status=no,scrollbars=yes,resizable=yes,width=600,height=500");');
|
|
}
|
|
function rpt_traspaso_Data() {
|
|
writeln('w_carta=window.open("'+urlData+'","w_traspaso","toolbar=yes,directories=no,menubar=yes,status=no,scrollbars=yes,resizable=yes,width=600,height=500");');
|
|
}
|
|
|
|
function cleanup_traspaso() {
|
|
// Borramos en tabla de pagos datos del usuario
|
|
status=database.execute("DELETE FROM traspaso WHERE uid=\'" + request.uid+ "\'");
|
|
return;
|
|
}
|
|
|
|
function out_traspaso() {
|
|
var Clave="-";
|
|
var SumaTotal=0;
|
|
var fileRpt=new File(nomDoc);
|
|
fileRpt.open("w");
|
|
var fileData=new File(nomData);
|
|
fileData.open("w");
|
|
fileRpt.writeln('<HTML>');
|
|
fileRpt.writeln('<HEAD></HEAD>');
|
|
fileRpt.writeln('<BODY>');
|
|
fileRpt.writeln('<B><I><CENTER> Traspaso de Facturas - '+request.f_traspaso+' - </B></I>');
|
|
if (request.f_traspaso=="gasto")
|
|
fileRpt.writeln('<FONT SIZE=1>');
|
|
else
|
|
fileRpt.writeln('<FONT SIZE=1>');
|
|
fileRpt.writeln('<PRE> ');
|
|
fileRpt.writeln('<HR>');
|
|
if (request.f_traspaso=="gasto")
|
|
fileRpt.writeln('<B>N.Doc. Línea Fecha Centro Cuenta Cv. DEBE HABER C o n c e p t o F. Vto. Contrap.</B>');
|
|
else {
|
|
fileRpt.writeln('<TABLE ALIGN="CENTER" BORDER=0>');
|
|
fileRpt.writeln('<B>N.Doc. Línea Fecha Centro Cuenta Cv. DEBE HABER C o n c e p t o F. Vto. Contrap.</B>');
|
|
}
|
|
fileRpt.writeln('<HR>');
|
|
linea=" ";
|
|
// c_traspaso = database.cursor("SELECT * FROM traspaso WHERE uid="+ request.uid+" ORDER BY nro_reg ");
|
|
var nlin=1
|
|
var nro_doc=NroUnformat(request.f_nro_doc);
|
|
while (c_traspdocs.next()) {
|
|
if (request.f_traspaso=="pago")
|
|
c_traspaso = database.cursor("SELECT * FROM facturas,proveedores WHERE facturas.nif=proveedores.nif "+
|
|
" and nro_doc_pago='"+c_traspdocs.nro_doc_pago+"' "+
|
|
" ORDER BY " + request.sel_order);
|
|
if (request.f_traspaso=="gasto")
|
|
c_traspaso = database.cursor("SELECT * FROM facturas,proveedores WHERE facturas.nif=proveedores.nif "+
|
|
" and nro_reg='"+c_traspdocs.nro_reg+"' "+
|
|
" ORDER BY " + request.sel_order);
|
|
if (request.f_traspaso=="vto")
|
|
c_traspaso = database.cursor("SELECT * FROM facturas,proveedores WHERE facturas.nif=proveedores.nif "+
|
|
" and nro_reg_vto='"+c_traspdocs.nro_reg_vto+"' "+
|
|
" ORDER BY " + request.sel_order);
|
|
while (c_traspaso.next()) {
|
|
request.razon_social=c_traspaso.razon_social;
|
|
if ( request.f_traspaso=="pago" && Clave == c_traspaso.nro_doc_pago )
|
|
continue;
|
|
if ( request.f_traspaso=="vto" && Clave == c_traspaso.nro_reg_vto )
|
|
continue ;
|
|
nrolin=1;
|
|
if (request.f_traspaso!="vto")
|
|
CursorTabla("acf","nro_reg","=\'"+c_traspaso.nro_reg+"\' order by nro_lin ",false,"");
|
|
if (request.f_traspaso=="gasto") {
|
|
fileRpt.writeln('<TABLE ALIGN="CENTER" BORDER=0>');
|
|
while (c_aptectasfra.next()) {
|
|
make_apte(nro_doc,"",StringClip(false,c_traspaso.cta_contable),"",nrolin,0);
|
|
// if ( nrolin+1 > request.maxLins ) {
|
|
// skipTopPage(nrolin,request.maxLins);
|
|
// nrolin=0;
|
|
// }
|
|
fileData.writeln(request.linea);
|
|
fileRpt.writeln(request.lindoc);
|
|
nrolin++;
|
|
}
|
|
fileRpt.writeln('</TABLE>');
|
|
} else {
|
|
if (request.f_traspaso!="vto")
|
|
c_aptectasfra.next();
|
|
// fileRpt.writeln('<TABLE ALIGN="CENTER" BORDER=0>');
|
|
if (request.f_traspaso=="pago")
|
|
CursorTabla("fa","nro_doc_pago","=\'"+c_traspaso.nro_doc_pago+"\'",true,"");
|
|
if (request.f_traspaso=="vto")
|
|
CursorTabla("fa","nro_reg_vto","=\'"+c_traspaso.nro_reg_vto+"\'",true,"");
|
|
SumaTotal=0;
|
|
request.cta_contable=c_traspaso.cta_contable;
|
|
request.f_emision_pago=datetoString(c_traspaso.f_emision_pago);
|
|
request.is_remesa ="N";
|
|
while ( true ) {
|
|
request.nro_reg=c_facturas.nro_reg;
|
|
request.nro_fra=c_facturas.nro_fra;
|
|
request.nro_doc_pago=c_facturas.nro_doc_pago;
|
|
request.importe_total=c_facturas.importe_total;
|
|
if ( c_traspaso.nro_doc_pago != c_facturas.nro_doc_pago )
|
|
request.is_remesa ="S";
|
|
if (request.f_traspaso=="pago") {
|
|
traspaso_pago(nro_doc,nrolin,"D");
|
|
if (c_facturas.tipo_doc_pago == "1" ) {
|
|
fileData.writeln(request.linea);
|
|
fileRpt.writeln(request.lindoc);
|
|
nrolin++;
|
|
traspaso_pago(nro_doc,nrolin,"H");
|
|
Clave=c_traspaso.nro_doc_pago;
|
|
}
|
|
}
|
|
if (request.f_traspaso=="vto")
|
|
traspaso_vto(nro_doc,nrolin,"D");
|
|
fileData.writeln(request.linea);
|
|
fileRpt.writeln(request.lindoc);
|
|
nrolin++;
|
|
SumaTotal=parseFloat(c_facturas.importe_total)+parseFloat(SumaTotal);
|
|
if (!c_facturas.next())
|
|
break;
|
|
}
|
|
c_facturas.close();
|
|
request.nro_reg=c_traspaso.nro_reg;
|
|
request.nro_fra=c_traspaso.nro_fra;
|
|
request.nro_doc_pago=c_traspaso.nro_doc_pago;
|
|
request.importe_total=SumaTotal;
|
|
if (request.f_traspaso=="pago" && c_traspaso.tipo_doc_pago == "2" ) {
|
|
traspaso_pago(nro_doc,nrolin,"H");
|
|
Clave=c_traspaso.nro_doc_pago;
|
|
fileData.writeln(request.linea);
|
|
fileRpt.writeln(request.lindoc);
|
|
nrolin++;
|
|
}
|
|
if (request.f_traspaso=="vto") {
|
|
traspaso_vto(nro_doc,nrolin,"H");
|
|
Clave=c_traspaso.nro_reg_vto;
|
|
fileData.writeln(request.linea);
|
|
fileRpt.writeln(request.lindoc);
|
|
nrolin++;
|
|
}
|
|
// fileRpt.writeln('</TABLE>');
|
|
}
|
|
if (request.f_traspaso!="vto")
|
|
c_aptectasfra.close();
|
|
fileRpt.writeln('<HR>');
|
|
nro_doc++;
|
|
}
|
|
c_traspaso.close();
|
|
}
|
|
c_traspdocs.close();
|
|
fileRpt.writeln('</TABLE>');
|
|
request.lindoc="TOTALES DEBE : "+NroFormat(SumaDebe,NF11);
|
|
// request.lindoc=request.lindoc.substring(0,46)+NroFormat(SumaDebe,NF11)+NroFormat(SumaHaber,NF11)+""
|
|
fileRpt.writeln(request.lindoc);
|
|
request.lindoc="TOTALES HABER: "+NroFormat(SumaHaber,NF11);
|
|
fileRpt.writeln(request.lindoc);
|
|
fileRpt.writeln('<PRE>');
|
|
fileRpt.writeln('</FONT>');
|
|
fileRpt.writeln('</BODY>');
|
|
fileRpt.writeln('</HTML>');
|
|
fileRpt.close();
|
|
fileData.close();
|
|
}
|
|
function traspaso_pago(nro_doc,nrolin,tipoApte) {
|
|
var DocNro="";
|
|
var s_cta="";
|
|
s_banco=parseInt(c_traspaso.cod_banco)+"";
|
|
lon=s_banco.length;
|
|
request.d_cod_cta=request.cta_contable;
|
|
if (c_traspaso.tipo_doc_pago == "1" )
|
|
s_cta=request.pag_hpag;
|
|
if (c_traspaso.tipo_doc_pago == "2" )
|
|
s_cta=request.pag_htal;
|
|
s_lon=s_cta.length;
|
|
request.h_cod_cta=s_cta.substring(0,s_lon-lon)+s_banco;
|
|
s_lon=request.d_cod_cta.length;
|
|
if ( tipoApte == "H") {
|
|
DocNro=StringClip(false,request.nro_doc_pago)+"";
|
|
make_apte(nro_doc,request.h_cod_cta,request.d_cod_cta,"H",nrolin,request.importe_total,DocNro);
|
|
}
|
|
if ( tipoApte == "D") {
|
|
DocNro=StringClip(false,request.nro_fra)+" "+request.nro_reg.substring(4,10);
|
|
make_apte(nro_doc,request.d_cod_cta,request.h_cod_cta,"D",nrolin,request.importe_total,DocNro);
|
|
}
|
|
}
|
|
|
|
function traspaso_vto(nro_doc,nrolin,tipoApte) {
|
|
var DocNro="";
|
|
var s_cta="";
|
|
s_banco=parseInt(c_traspaso.cod_banco)+"";
|
|
lon=s_banco.length;
|
|
if (c_traspaso.tipo_doc_pago == "1" )
|
|
s_cta=request.vto_dpag;
|
|
if (c_traspaso.tipo_doc_pago == "2" )
|
|
s_cta=request.vto_dtal;
|
|
s_lon=s_cta.length;
|
|
request.d_cod_cta=s_cta.substring(0,s_lon-lon)+s_banco;
|
|
s_lon=request.vto_h.length;
|
|
request.h_cod_cta=request.vto_h.substring(0,s_lon-lon)+s_banco;
|
|
DocNro=StringClip(false,request.nro_doc_pago);
|
|
if ( tipoApte == "H") {
|
|
DocNro=StringClip(false,request.nro_doc_pago);
|
|
if ( request.is_remesa == "S" ) {
|
|
lon=c_traspaso.nro_reg_vto.length;
|
|
request.razon_social="REMESA "+c_traspaso.nro_reg_vto.substring(5,lon);
|
|
}
|
|
make_apte(nro_doc,request.h_cod_cta,request.d_cod_cta,"H",nrolin,request.importe_total,DocNro);
|
|
}
|
|
if ( tipoApte == "D") {
|
|
if ( request.is_remesa == "S" ) {
|
|
CursorTabla("pr","nif","=\'"+StringClip(true,c_facturas.nif)+"\'",false,false);
|
|
request.razon_social=StringClip(false,c_proveedores.razon_social);
|
|
c_proveedores.close();
|
|
}
|
|
make_apte(nro_doc,request.d_cod_cta,request.h_cod_cta,"D",nrolin,request.importe_total,DocNro);
|
|
DocNro=StringClip(false,request.nro_fra)+" "+request.nro_reg.substring(4,10);
|
|
}
|
|
}
|
|
|
|
function make_apte(nro_doc,cod_cta,c_cod_cta,tipo_apte,nl,Cantidad,DocNro) {
|
|
linea=" ";
|
|
request.linea=linea;
|
|
request.lindoc="";
|
|
cadena=parseInt(nro_doc)+"";
|
|
lon=cadena.length;
|
|
request.linea=request.linea.substring(0,p_nro_doc-lon)+cadena+linea;
|
|
cadena=parseInt(nl)+"";
|
|
lon=cadena.length;
|
|
request.linea=request.linea.substring(0,p_nro_lin-lon)+cadena+linea;
|
|
request.lindoc=StringClip(false,request.linea);
|
|
s_cadena=request.f_emision;
|
|
if (request.f_traspaso=="pago")
|
|
s_cadena=request.f_emision_pago;
|
|
cadena=datetoNString(s_cadena);
|
|
lon=cadena.length;
|
|
request.linea=request.linea.substring(0,p_f_cont-lon)+cadena+linea;
|
|
request.linea=request.linea.substring(0,p_f_emis-lon)+cadena+linea;
|
|
request.lindoc=request.lindoc+" "+s_cadena;
|
|
cadena=StringClip(false,c_traspaso.cod_centro);
|
|
request.lindoc=request.lindoc+" "+cadena;
|
|
lon=cadena.length;
|
|
request.linea=request.linea.substring(0,p_centro-lon)+cadena+linea;
|
|
if (request.f_traspaso=="gasto")
|
|
cadena=StringClip(false,c_aptectasfra.cod_cta);
|
|
if (request.f_traspaso=="pago")
|
|
cadena=StringClip(false,cod_cta)+"";
|
|
if (request.f_traspaso=="vto")
|
|
cadena=StringClip(false,cod_cta)+"";
|
|
request.lindoc=request.lindoc+" "+cadena;
|
|
lon=cadena.length;
|
|
request.linea=request.linea.substring(0,p_cta-lon)+cadena+linea;
|
|
if (request.f_traspaso=="gasto")
|
|
cadena=c_aptectasfra.clave+"";
|
|
if (request.f_traspaso=="pago")
|
|
cadena=request.f_clave+"";
|
|
if (request.f_traspaso=="vto")
|
|
cadena=request.f_clave+"";
|
|
request.lindoc=request.lindoc+" "+cadena;
|
|
clave=cadena;
|
|
if (request.f_traspaso=="gasto") {
|
|
nro=c_aptectasfra.importe;
|
|
tipo_apte=c_aptectasfra.tipo_apte;
|
|
} else {
|
|
nro=Cantidad;
|
|
}
|
|
if ( c_traspaso.tipo_doc_pago == "1" )
|
|
cadDoc="P/";
|
|
if ( c_traspaso.tipo_doc_pago == "2" )
|
|
cadDoc="T/";
|
|
if ( nro < 0 ) {
|
|
nro=nro*-1;
|
|
if (request.f_traspaso=="pago" && tipo_apte == "D")
|
|
cadDoc="";
|
|
if ( tipo_apte == "D" )
|
|
tipo_apte="H";
|
|
else
|
|
tipo_apte="D";
|
|
}
|
|
if (tipo_apte == "H") {
|
|
SumaHaber=SumaHaber+nro;
|
|
request.lindoc=request.lindoc+" "+NroFormat(nro,NF9)+" ";
|
|
} else {
|
|
SumaDebe=SumaDebe+nro;
|
|
request.lindoc=request.lindoc+" "+NroFormat(nro,NF9)+" ";
|
|
};
|
|
cadena=tipo_apte;
|
|
lon=cadena.length;
|
|
request.linea=request.linea.substring(0,p_tipo_apte-lon)+cadena+linea;
|
|
cadena=NroUnformat(NroFormat(nro,NF9))+"";
|
|
lon=cadena.length;
|
|
request.linea=request.linea.substring(0,p_importe-lon)+cadena+linea;
|
|
lon=clave.length;
|
|
request.linea=request.linea.substring(0,p_clave-lon)+clave+linea;
|
|
if (request.f_traspaso=="gasto") {
|
|
cadena=StringClip(false,c_aptectasfra.concepto);
|
|
// cadena=StringClip(false,c_traspaso.nro_fra)+" "+c_traspaso.nro_reg.substring(4,10)+" "+StringClip(false,request.razon_social);
|
|
}
|
|
if (request.f_traspaso=="pago" && tipo_apte == "H")
|
|
cadena=cadDoc+DocNro+" "+StringClip(false,request.razon_social);
|
|
if (request.f_traspaso=="pago" && tipo_apte == "D") {
|
|
// cadena=StringClip(false,c_aptectasfra.concepto);
|
|
cadena=DocNro+StringClip(false,request.razon_social);
|
|
}
|
|
if (request.f_traspaso=="vto" && tipo_apte == "D")
|
|
cadena=cadDoc+DocNro+" "+StringClip(false,request.razon_social);
|
|
if (request.f_traspaso=="vto" && tipo_apte == "H") {
|
|
if ( request.is_remesa == "S" )
|
|
cadena=StringClip(false,request.razon_social);
|
|
else
|
|
cadena=cadDoc+DocNro+" "+StringClip(false,request.razon_social);
|
|
}
|
|
lon=30; // lon=cadena.length;
|
|
s_cadena=cadena+linea;
|
|
request.lindoc=request.lindoc+" "+s_cadena.substring(0,lon);
|
|
request.linea=request.linea.substring(0,p_concepto-lon)+cadena.substring(0,lon)+linea;
|
|
if (request.f_traspaso=="gasto") {
|
|
s_cadena=" ";
|
|
cadena=s_cadena;
|
|
}
|
|
else {
|
|
s_cadena=datetoString(c_traspaso.vto_pago);
|
|
cadena=datetoNString(s_cadena);
|
|
}
|
|
request.lindoc=request.lindoc+" "+s_cadena;
|
|
lon=cadena.length;
|
|
request.linea=request.linea.substring(0,p_vto-lon)+cadena+linea;
|
|
cadena=StringClip(false,c_cod_cta);
|
|
lon=cadena.length;
|
|
//texto="p_contracta="+p_contracta+" lon="+lon+" c_cod_cta="+c_cod_cta
|
|
//debug(texto)
|
|
//debug(request.linea)
|
|
request.lindoc=request.lindoc+" "+cadena;
|
|
// if (request.f_traspaso=="pago" && tipo_apte == "H" && cod_cta.substring(0,2) != "41")
|
|
// lon=lon-4;
|
|
request.linea=request.linea.substring(0,p_contracta-lon)+cadena;
|
|
//debug(request.linea)
|
|
}
|