I have the following Script to update a couple of records of mine. The script should fill a new line anytime anytime it finds the first field of a line empty (that means the entire line is empty), but before to do that, the script checks if any of the previous lines containes already the values it should be put at that moment.
Problem is, apparently, the script jumps the second line. Anyone can help me?
var shipsName = this.getField("SHIPSNAME").value;
var data = this.getField("DATAAUTORIZZAZIONE").value;
var port = this.getField("PORTOFARRIVAL").value;
var flag = this.getField("FLAGSTATE").value;
var targa = this.getField("PLATES").value;
if (this.getField("Imposta bollo digitale").display === display.hidden) {
var bunkerDoc = app.openDoc("G:\\Il mio Drive\\PERSONALE - BRUNO PADULA\\REGISTRO BUNKER.pdf");
var stop = false;
for (var i = 1; i <= 294 && !stop; i++) {
if (bunkerDoc.getField("SHIPSNAME" + i).value === "") {
if (i === 1) {
bunkerDoc.getField("SHIPSNAME1").value = shipsName;
bunkerDoc.getField("DATA1").value = data;
bunkerDoc.getField("PORTO1").value = port;
bunkerDoc.getField("FLAGSTATE1").value = flag;
bunkerDoc.getField("AUTOBOTTE1").value = targa;
} else if ( i !== 1) {
for (var j = i - 1; j >= 1; j--){
if (bunkerDoc.getField("SHIPSNAME" + j).value !== shipsName && bunkerDoc.getField("DATA" + j).value !== data && bunkerDoc.getField("PORTO" + j).value !== port && bunkerDoc.getField("AUTOBOTTE" + j).value !== targa) {
bunkerDoc.getField("SHIPSNAME" + i).value = shipsName;
bunkerDoc.getField("DATA" + i).value = data;
bunkerDoc.getField("PORTO" + i).value = port;
bunkerDoc.getField("FLAGSTATE" + i).value = flag;
bunkerDoc.getField("AUTOBOTTE" + i).value = targa;
stop = true; // imposta la variabile stop a true
break; // esce dal ciclo for interno
} else if (bunkerDoc.getField("SHIPSNAME" + j).value === shipsName && bunkerDoc.getField("DATA" + j).value === data && bunkerDoc.getField("PORTO" + j).value === port && bunkerDoc.getField("AUTOBOTTE" + j).value === targa) {
stop = true; // imposta la variabile stop a true
break; // esce dal ciclo for interno
}
}
}
bunkerDoc.saveAs("G:\\Il mio Drive\\PERSONALE - BRUNO PADULA\\REGISTRO BUNKER.pdf");
bunkerDoc.closeDoc();
}
}
} else if (this.getField("Imposta bollo digitale").display === display.visible) {
var bunker2Doc = app.openDoc("G:\\Il mio Drive\\PERSONALE - BRUNO PADULA\\REGISTRO BUNKER (marche digitali).pdf");
var stop = false;
for (var i = 1; i <= 294 && !stop; i++) {
if (bunker2Doc.getField("SHIPSNAME" + i).value === "") {
if (i === 1) {
bunker2Doc.getField("SHIPSNAME1").value = shipsName;
bunker2Doc.getField("DATA1").value = data;
bunker2Doc.getField("PORTO1").value = port;
bunker2Doc.getField("FLAGSTATE1").value = flag;
bunker2Doc.getField("AUTOBOTTE1").value = targa;
} else if ( i !== 1) {
for (var j = i - 1; j >= 1; j--){
if (bunker2Doc.getField("SHIPSNAME" + j).value !== shipsName && bunker2Doc.getField("DATA" + j).value !== data && bunker2Doc.getField("PORTO" + j).value !== port && bunker2Doc.getField("AUTOBOTTE" + j).value !== targa) {
bunker2Doc.getField("SHIPSNAME" + i).value = shipsName;
bunker2Doc.getField("DATA" + i).value = data;
bunker2Doc.getField("PORTO" + i).value = port;
bunker2Doc.getField("FLAGSTATE" + i).value = flag;
bunker2Doc.getField("AUTOBOTTE" + i).value = targa;
stop = true; // imposta la variabile stop a true
break; // esce dal ciclo for interno
} else if (bunker2Doc.getField("SHIPSNAME" + j).value === shipsName && bunker2Doc.getField("DATA" + j).value === data && bunker2Doc.getField("PORTO" + j).value === port && bunker2Doc.getField("AUTOBOTTE" + j).value === targa) {
stop = true; // imposta la variabile stop a true
break; // esce dal ciclo for interno
}
}
}
bunker2Doc.saveAs("G:\\Il mio Drive\\PERSONALE - BRUNO PADULA\\REGISTRO BUNKER (marche digitali).pdf");
bunker2Doc.closeDoc();
}
}
}