| Норма | Значение | По умолчанию | Изменено |
|---|
| Когда | Кто | Что | Было → стало | Причина |
|---|
| Событие | Цвет | Мин | Приор | Название | Описание |
|---|
| № | 🏢 Название отдела | 👥 Количество сотрудников | ⚡ Действия |
|---|
| № | 🔑 Код роли | 📛 Название | 📊 Уровень | 👥 Редактирование подчинённых | 🔒 Права | ⚡ Действия |
|---|---|---|---|---|---|---|
| Загрузка... | ||||||
| ☐ | 👤 Имя | 🔑 Б24 ID | 📱 Telegram | 📞 Телефон | 🎭 Роль | 💼 Должность | 🏢 Отдел | 🔄 Доступ | ⚡ Действия |
|---|
Нет сотрудников
pushVacations
один раз для проверки, затем добавьте триггер по времени (например, раз в сутки).
Скрипт читает колонки A (ФИО), B (начало), C (конец) — поправьте индексы при другой раскладке.
function pushVacations() {
var SHEET_NAME = 'График отпусков'; // название листа
var DASHBOARD_URL = 'https://ВАШ-ДАШБОРД/api/vacations/push';
var SECRET = 'тот же секрет, что в настройках дашборда';
var sh = SpreadsheetApp.getActive().getSheetByName(SHEET_NAME);
var values = sh.getDataRange().getValues();
var rows = [];
for (var i = 1; i < values.length; i++) { // с 1 — пропускаем заголовок
var name = String(values[i][0] || '').trim(); // A — ФИО
var from = values[i][1], to = values[i][2]; // B и C — даты
if (!name || !from) continue;
rows.push({ name: name, date_from: fmtDate(from), date_to: fmtDate(to || from) });
}
var resp = UrlFetchApp.fetch(DASHBOARD_URL, {
method: 'post', contentType: 'application/json',
payload: JSON.stringify({ secret: SECRET, rows: rows }),
muteHttpExceptions: true
});
Logger.log(resp.getContentText());
}
function fmtDate(v) {
if (v instanceof Date) return Utilities.formatDate(v, 'Europe/Moscow', 'yyyy-MM-dd');
return String(v);
}
Вы уверены, что хотите отключить доступ?
Вы уверены, что хотите удалить сотрудника? Это действие нельзя отменить.