function getSheetUrl() {
var SS = SpreadsheetApp.getActiveSpreadsheet();
var ss = SS.getActiveSheet();
var url = '';
url += SS.getUrl();
url = url.substring(0, url.length - 4);
url += 'export?format=xlsx&gid=';
url += SS.getSheetId();
return url;
}
function WriteGaffers() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
var name = sheet.getName()
var lastRow = sheet.getLastRow()
var qty = ""
var containerNum = ""
var shipDate = new Date(Date.now())
let valuesToWrite = [[]];
lastRow = lastRow - 2
for (var i = 6; i<lastRow; i+=2){
qty = sheet.getRange(i, 47).getValue();
if (qty>0 && i%2==0){
var iDate = i + 1
shipDate = sheet.getRange(iDate, 2).getValue()
shipDate = ((shipDate.getUTCMonth() +1)+"/"+shipDate.getUTCDate()+"/"+shipDate.getUTCFullYear())
loadLineNum = sheet.getRange(i, 5).getValue()
containerNum = sheet.getRange(i,8).getValue()
containerNum = containerNum.replace("\n","")
if(valuesToWrite[0][0] == null){
valuesToWrite[0][0] = shipDate
valuesToWrite[0][1] = qty
valuesToWrite[0][2] = loadLineNum
valuesToWrite[0][3] = containerNum
}else{
valuesToWrite.push([shipDate, qty, loadLineNum, containerNum])
}
}
}
//Now that it's done getting values, lets make sure its not null before passing that array to the other sheet.
if (valuesToWrite[0][0] != null){
//Normally you can use sheet.getLastRow(), but this sheet has 1000 check boxes and so the last row would always
//be 1000. The bottom 2 lines of code get all of the values in column A, filter them as string, and counts the
//length.
const returnSheet = SpreadsheetApp.openById('1ZZz-eUGInbPdZJ78SqUjHulEO8umi5bnFcRCo5sJceY')
.getSheetByName('GAFFERS');
returnVals = returnSheet.getRange("A1:A").getValues()
returnLastRow = returnVals.filter(String).length;
returnSheet.getRange(returnLastRow + 1, 1,valuesToWrite.length,valuesToWrite[0].length)
.setValues(valuesToWrite);
}
//return "";
}
function COMBOPLATTER(){
//nonsense = WriteGaffers();
WriteGaffers();
combo_url = getSheetUrl();
return combo_url;
}