My idea for this is using SpreadsheetApp.getUi() methode in my code function sprawdzIwyswietl(). The script itself works, but of course not with trigers onFormSubmit due to limitations of the getUI() function. I will be grateful for any help with my problem. I have no idea how to get around.
function sprawdzIwyswietl(){
var ui = SpreadsheetApp.getUi();
var caleDaneArkusza = sheet.getDataRange().getValues();
var naglowki = caleDaneArkusza.shift();
var arkZeskanowane = ss.getSheetByName("Zeskanowane kody");
var lastRow = arkZeskanowane.getLastRow();
var ostCol = sheet.getLastColumn();
var zeskanowanyKod = arkZeskanowane.getRange(lastRow,2).getValue();
var arkWydPas = ss.getSheetByName("Wydane pasy");
var lrWP = arkWydPas.getLastRow();
var wQR = dane_col_glowne("Wartości QR").indexOf(zeskanowanyKod);
function wydajPass(){
var wyd = ui.alert(caleDaneArkusza[wQR][col_nazwaProduktu]+" Załóż opaske","Zrobione?",ui.ButtonSet.YES_NO);
if(wyd == ui.Button.YES){
rng(wQR+2,col_wydPass+1).setValue(true);
rng(wQR+2,1,1,ostCol).copyTo(arkWydPas.getRange(lrWP+1,1));
sheet.deleteRow(wQR+2);
}else{
var powod = ui.prompt("Napisz notatke dlaczego nie wydano","",ui.ButtonSet.OK_CANCEL)
if(powod.getSelectedButton() == ui.Button.OK) rng(wQR+2,col_naszeNotatki+1).setValue(powod.getResponseText());
}
}
if(wQR != -1){
var czyToTy = ui.alert("Sprawdz czy dane uczestnika się zgadzają",caleDaneArkusza[wQR][col_passImie]+" "+caleDaneArkusza[wQR][col_passNazwisko] +"\x0A Email: "+caleDaneArkusza[wQR][col_passEmail]+"\x0A Notatki: "+caleDaneArkusza[wQR][col_naszeNotatki],ui.ButtonSet.YES_NO);
if(czyToTy == ui.Button.YES){
if(caleDaneArkusza[wQR][col_nieOplacone] == ""){
wydajPass()
}else{
var czyPrzyjetaKasa = ui.alert("Pass nieopłacony, przyjmij w gotówce "+caleDaneArkusza[wQR][col_warPoz]+" PLN\x0A\x0A PRZYJĘTE?","",ui.ButtonSet.YES_NO);
if(czyPrzyjetaKasa == ui.Button.NO){
var innaPlatn = ui.prompt("Napisz dlaczego albo czy inna metoda płatnośći \x0A .","",ui.ButtonSet.OK_CANCEL)
if(innaPlatn.getSelectedButton() == ui.Button.OK)rng(wQR+2,col_naszeNotatki+1).setValue(innaPlatn.getResponseText());
}
}
if(czyPrzyjetaKasa == ui.Button.YES) {
wydajPass()
}
}
else{
ui.alert('Sprawdz w arkuszu \x0A"zamówienia"',"",ui.ButtonSet.OK)
}
}
else{
ui.alert("Prawdopodobnie pass już wydany SPRAWDZ \x0A albo nie ma takiego QR","",ui.ButtonSet.OK)
}
}
Global variables and function to the code above
// =====funkcje i zmienne pomocnicze zadeklarowane globalnie=========
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("zamówienia");
var rng = sheet.getRange;
var caleDaneArkusza = sheet.getDataRange().getValues(); //odniesienie do zeszytu to pierwszy [nr wiersza - 2] drugi[ index_col -1 ]
var naglowki = caleDaneArkusza.shift(); //wyciety wiersz nagłówków
function spr(n){Logger.log(n)} //skrócenie funkcji logera
function index_col(nazwa_col){ return naglowki.indexOf(nazwa_col) } //szukanie indeksu w tablicy po nazwie jesli range do arkusza to +1
function dane_col_glowne(nazwaKolumnySzukanej){return nazwaKolumnySzukanej = caleDaneArkusza.map(e => e[index_col(nazwaKolumnySzukanej)])}
var col_warPoz = index_col("Wartość pozycji");
var col_passImie = index_col("Pass Imię");
var col_passNazwisko = index_col("Pass Nazwisko");
var col_naszeNotatki = index_col("Nasze Notatki");
var col_nazwaProduktu = index_col("Nazwa produktu")
var col_wartosciQR = index_col("Wartości QR");
var col_nieOplacone = index_col("Nie opłacone");
var col_wydPass = index_col("Wydany pass");
var col_passEmail = index_col("Pass Email");
function dodajMenu(){
SpreadsheetApp.getUi().createMenu('Własne operacje')
.addItem('sprawdz', 'sprawdzIwyswietl')
.addToUi();
}