(function() {
var sheet = Api.GetActiveSheet();
var cell = sheet.GetActiveCell();
// Получаем адрес активной ячейки вида "$B$88" и извлекаем буквы столбца и номер строки
var addr = cell.GetAddress().replace(/\$/g, '');
var match = addr.match(/([A-Z]+)([0-9]+)/);
var colLetters = match[1];
var rowNumber = match[2];
// Функция для вычисления следующего столбца (C → D, Z → AA и т.д.)
function nextColumn(col) {
var chars = col.split('');
var carry = 1;
for (var i = chars.length - 1; i >= 0; i--) {
var code = chars[i].charCodeAt(0);
if (carry) {
code++;
if (code > 'Z'.charCodeAt(0)) {
code = 'A'.charCodeAt(0);
carry = 1;
} else {
carry = 0;
}
}
chars[i] = String.fromCharCode(code);
}
if (carry) {
chars.unshift('A');
}
return chars.join('');
}
var nextCol1 = nextColumn(colLetters); // столбец для времени
var nextCol2 = nextColumn(nextCol1); // столбец для текста "Звонок"
var nextCol3 = nextColumn(nextCol2); // столбец для текста "Доп. Офис"
// Формируем строки с датой и временем
var now = new Date();
var dateStr = now.toLocaleDateString('ru-RU');
var timeStr = now.toLocaleTimeString('ru-RU');
// Записываем значения: дата, время, "Звонок", "Доп. Офис"
sheet.GetRange(colLetters + rowNumber).SetValue(dateStr);
sheet.GetRange(nextCol1 + rowNumber).SetValue(timeStr);
sheet.GetRange(nextCol2 + rowNumber).SetValue('Звонок');
sheet.GetRange(nextCol3 + rowNumber).SetValue('Доп. Офис');
})();