Я создал сценарий для своей команды на страницах Google, где они могут нажать кнопку, чтобы включить часы, и еще одну кнопку, чтобы отключить ее.
Однако я пытался создать сценарий для автоматического расчета количества часов, которые они отработали за этот период времени, и я не могу его построить.
Я вставил рисунок нескольких блоков с надписью «Бьянка, В и В». Я назначил сценарий каждому блоку для сценария ниже.
Это часть, которая не работает.
function onPunchOut (){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var lastRow = sheet.getLastRow();
var finish = sheet.getRange("E"+lastRow).getValue();
var hoursWorked = sheet.getRange("F"+lastRow);
}
if (finish === "Out") {
hoursWorked.setFormulaR1C1('=R[0]C[-2]-R[-1]C[-2]');
hoursWorked.setNumberFormat("H:mm");
}
Текущий код, который работает для включения и выключения:
function setValue(cellName, value) {
SpreadsheetApp.getActiveSpreadsheet().getRange(cellName).setValue(value);
}
function getValue(cellName){
return SpreadsheetApp.getActiveSpreadsheet().getRange(cellName).getValue();
}
function getNextRow() {
return SpreadsheetApp.getActiveSpreadsheet().getLastRow() + 1;
}
function setBianca() {
setValue('L1' , 'Bianca');
}
function addRecord(a, b, c){
var row = getNextRow();
setValue('A' + row, a);
setValue('D' + row, b);
setValue('E' + row, c);
}
function punchInBianca(){
addRecord(getValue('L1'), new Date(), 'In');
}
function punchOutBianca(){
addRecord(getValue('L1'), new Date(), 'Out');
}
Ожидаемые результаты:
Name Date/Time In/Out **Hours worked**
Bianca 4/25/2019 7:59:34 In **3.15**
Bianca 4/25/2019 11:15:20 Out **0.29**
Bianca 4/25/2019 11:44:44 In **4.55**
Фактические результаты: получайте ошибки скрипта, пытаясь отработать часы. Говорит, что не может найти переменную "finish"