I am not a professional programmer, but I am doing a small code to extract customer information from a corporate intranet.
For every client there are several orders, but only one will be avaible (DISPONIBLE). When the code finds an avaible order, it goes to delivery note url to extract the lines of the items: date, description and dispatched, and normally there are 4 rows. If the date is empty, dispatched too.
I need that when one row has no date, it skips to the next. With my code, the second open TAB (delivery note) doesn't close when any date is empty and then the extraction stops.
How do I make it jump to the next row to extract data when the date is empty?
Thanks.
Code: Select all
// 1.- Carga de website
var visord1 = "CODE:";
visord1 += "TAB T=1\n";
visord1 += "SET !ERRORIGNORE YES\n";
visord1 += "SET !TIMEOUT_STEP 2\n";
visord1 += "URL GOTO=https://intranet/ma1/jsp/VisorD/visord.jsp\n";
// 2.- Menú "buscar"
var visord2 = "CODE:";
visord2 += "FRAME NAME=\"menu\"\n";
visord2 += "TAG POS=1 TYPE=A ATTR=TXT:Buscar\n";
// 3.- Menú "formulario"
var visord3 = "CODE:";
visord3 += "FRAME NAME=\"Formulario\"\n";
visord3 += "SET !DATASOURCE VISORD_telf_nif.csv\n";
visord3 += "SET !DATASOURCE_COLUMNS 3\n";
visord3 += "SET !DATASOURCE_LINE {{csvline}}\n";
visord3 += "ADD !EXTRACT {{!COL1}}\n"; //Extrae oficina Extract 1
visord3 += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:principal ATTR=ID:nif CONTENT={{!COL2}}\n";
visord3 += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:principal ATTR=ID:telefono CONTENT={{!COL3}}\n";
visord3 += "TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:principal ATTR=NAME:enviarForm\n";
// 4.- Menú "búsqueda"
var visord4 = "CODE:"
visord4 += "FRAME NAME=\"Busqueda\"\n";
visord4 += "SET !TIMEOUT_STEP 2\n";
visord4 += "TAG POS=1 TYPE=TD ATTR=TXT:{{contador}} EXTRACT=TXT\n"; //Extrae contador Extract 2
visord3 += "ADD !EXTRACT {{contador}}\n";
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n"; //Extrae año Extract 3
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n"; //Extrae central Extract 4
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n"; //Extrae orden Extract 5
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n"; //Extrae fecha Extract 6
visord4 += "TAG POS=R2 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n"; //Extrae teléfono Extract 7
visord4 += "TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n"; //Extrae estado Extract 8
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n"; //Extrae nif Extract 9
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n"; //Extrae cliente Extract 10
// 5.- Peticion Materiales
var visord5 = "CODE:";
visord5 += "TAB OPEN NEW\n";
visord5 += "TAB T=2\n";
visord5 += "URL GOTO=https://intranet/ma1/servlet/VisorDPeticionMaterialesNewLook?anno={{ano}}¢ral={{central}}&orden={{orden}}\n";
visord5 += "TAG POS=2 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n";
visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
visord5 += "TAG POS=4 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n";
visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
visord5 += "TAG POS=6 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n";
visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
visord5 += "TAG POS=8 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n";
visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
visord5 += "TAB T=1\n";
visord5 += "TAB CLOSEALLOTHERS\n";
// 6.- Escritura en fichero.CSV
var visordPRINT = "CODE:";
visordPRINT += "ADD !EXTRACT {{oficina}}\n";
visordPRINT += "ADD !EXTRACT {{num_order}}\n";
visordPRINT += "ADD !EXTRACT {{ano}}\n";
visordPRINT += "ADD !EXTRACT {{central}}\n";
visordPRINT += "ADD !EXTRACT {{orden}}\n";
visordPRINT += "ADD !EXTRACT {{fecha}}\n";
visordPRINT += "ADD !EXTRACT {{telefono}}\n";
visordPRINT += "ADD !EXTRACT {{estado}}\n";
visordPRINT += "ADD !EXTRACT {{nif}}\n";
visordPRINT += "ADD !EXTRACT {{cliente}}\n";
visordPRINT += "ADD !EXTRACT {{date1}}\n";
visordPRINT += "ADD !EXTRACT {{descripcion1}}\n";
visordPRINT += "ADD !EXTRACT {{estado1}}\n";
visordPRINT += "ADD !EXTRACT {{date2}}\n";
visordPRINT += "ADD !EXTRACT {{descripcion2}}\n";
visordPRINT += "ADD !EXTRACT {{estado2}}\n";
visordPRINT += "ADD !EXTRACT {{date3}}\n";
visordPRINT += "ADD !EXTRACT {{descripcion3}}\n";
visordPRINT += "ADD !EXTRACT {{estado3}}\n";
visordPRINT += "ADD !EXTRACT {{date4}}\n";
visordPRINT += "ADD !EXTRACT {{descripcion4}}\n";
visordPRINT += "ADD !EXTRACT {{estado4}}\n";
visordPRINT += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=VISORD_o.csv\n";
//#####################################################################
//#####################################################################
// 1.- Carga de website
iimPlay(visord1);
// 2.- Menú "buscar"
iimPlay(visord2);
var save_csv = new Array();
// 3.- Menú "formulario"
for (var csvline=1;csvline<30;csvline++)
{
iimSet("csvline",csvline);
iimPlay(visord3);
var oficina= iimGetLastExtract(1); //alert("oficina: "+oficina);
save_csv[0] = oficina;
// 4.- Menú "búsqueda"
for (var contador=1;contador<4;contador++)
{
iimSet("contador",contador);
iimPlay(visord4);
var num_order = iimGetLastExtract(1); //alert("Nº: "+num_order);
save_csv[1] = num_order;
if (num_order == "#EANF#"){ break;}
var ano = iimGetLastExtract(2); //alert("ano: "+ano);
save_csv[2] = ano;
var central = iimGetLastExtract(3); //alert("central: "+central);
save_csv[3] = central;
var orden = iimGetLastExtract(4); //alert("orden: "+orden);
save_csv[4] = orden;
var fecha = iimGetLastExtract(5); //alert("fecha: "+fecha);
save_csv[5] = fecha;
var telefono = iimGetLastExtract(6); //alert("telefono: "+telefono);
save_csv[6] = telefono;
var estado = iimGetLastExtract(7); //alert("estado: "+estado);
save_csv[7] = estado;
var nif = iimGetLastExtract(8); //alert("nif: "+nif);
save_csv[8] = nif;
var cliente= iimGetLastExtract(9); //alert("cliente: "+cliente);
save_csv[9] = cliente;
// 5.- Peticion Materiales
if (estado == "DISPONIBLE")
{
iimSet("ano",ano);
iimSet("central",central);
iimSet("orden",orden);
iimPlay(visord5);
var date1= iimGetLastExtract(1); //alert("F.Entrega: "+date1);
if (date1 == "#EANF#" || date1 == "__undefined__"){ break;}
save_csv[10] = date1;
var descripcion1= iimGetLastExtract(2); //alert("Descripcion: "+descripcion1);
save_csv[11] = descripcion1;
var estado1= iimGetLastExtract(3); //alert("Estado: "+estado1);
save_csv[12] = estado1;
var date2= iimGetLastExtract(4); //alert("F.Entrega: "+date2);
save_csv[13] = date2;
var descripcion2= iimGetLastExtract(5); //alert("Descripcion: "+descripcion2);
save_csv[14] = descripcion2;
var estado2= iimGetLastExtract(6); //alert("Estado: "+estado2);
save_csv[15] = estado2;
var date3= iimGetLastExtract(7); //alert("F.Entrega: "+date3);
save_csv[16] = date3;
var descripcion3= iimGetLastExtract(8); //alert("Descripcion: "+descripcion3);
save_csv[17] = descripcion3;
var estado3= iimGetLastExtract(9); //alert("Estado: "+estado3);
save_csv[18] = estado3;
var date3= iimGetLastExtract(10); //alert("F.Entrega: "+date4);
save_csv[19] = date3;
var descripcion3= iimGetLastExtract(11); //alert("Descripcion: "+descripcion4);
save_csv[20] = descripcion3;
var estado3= iimGetLastExtract(12); //alert("Estado: "+estado4);
save_csv[21] = estado3;
iimSet("oficina",save_csv[0]);
iimSet("num_order",save_csv[1]);
iimSet("ano",save_csv[2]);
iimSet("central",save_csv[3]);
iimSet("orden",save_csv[4]);
iimSet("fecha",save_csv[5]);
iimSet("telefono",save_csv[6]);
iimSet("estado",save_csv[7]);
iimSet("nif",save_csv[8]);
iimSet("cliente",save_csv[9]);
iimSet("date1",save_csv[10]);
iimSet("descripcion1",save_csv[11]);
iimSet("estado1",save_csv[12]);
iimSet("date2",save_csv[13]);
iimSet("descripcion2",save_csv[14]);
iimSet("estado2",save_csv[15]);
iimSet("date3",save_csv[16]);
iimSet("descripcion3",save_csv[17]);
iimSet("estado3",save_csv[18]);
iimSet("date4",save_csv[19]);
iimSet("descripcion4",save_csv[20]);
iimSet("estado4",save_csv[21]);
iimPlay(visordPRINT);
save_csv = [];
}
}
}