Я пытаюсь добавить значения в новую строку целевого листа при каждом нажатии кнопки.Я создал объект для проверки значений целевых листов в указанном столбце.Затем я создал цикл for для проверки добавляемых значений к значениям, уже имеющимся в объекте, для предотвращения дублирования, однако объект выглядит как «нулевой» и не препятствует добавлению дублирующихся строк.
Я попытался создать объект для сравнения новых значений со значениями, уже существующими на целевом листе.Я попытался добавить новый столбец с логическим значением «ИСТИНА» и проверить, равно ли это значение столбца = «ИСТИНА», а затем не добавлять строку.
function sendToOutreach() {
var ss = SpreadsheetApp.openById('someid')
var sheet = ss.getSheetByName('39')
var outreachSheet = SpreadsheetApp.openById('anotherid')
var outreachTab = outreachSheet.getSheetByName("Sheet1")
var tab = ss.getSheetByName(sheet)
var range = sheet.getRange('A2:O' + sheet.getLastRow()).getDisplayValues()
var rx = outreachTab.getRange('c2:c' + outreachTab.getLastRow()).getDisplayValues()
var targetRange = outreachSheet.getRange('A2:Q' + outreachSheet.getLastRow()).getDisplayValues()
var timestamp = Utilities.formatDate(new Date(),"CST","MM/dd/yyyy HH:mm:ss")
var user = Session.getActiveUser()
var object = createObject(targetRange)
Logger.log(object)
for (var a = 0; a<range.length;a++){
if(!object[[a][0]]){
var checkCode = range[a][14]
if(checkCode == 'reason'||checkCode == 'reason'||checkCode == 'reason'||checkCode == 'reason'|| checkCode == 'reason'){
var Info = ([user,timestamp,range[a][0],range[a][1],range[a][2],range[a][3],range[a][4],range[a][5],range[a][6],range[a][7],range[a][9],
range[a][10],range[a][11],range[a][12],range[a][13],range[a][14]])
outreachSheet.appendRow(Info)
}
}
}
}
function createObject (range) {
var object = {}
for(var c=0;c<range.length;c++){
var rx = range[c][2]
if(!object[rx]){
object[rx] = {"rx":rx}
}
}
return object
}
Я продолжаю получать те же строкидобавляются, когда они не должны быть добавлены.