213 lines
8.0 KiB
Markdown
213 lines
8.0 KiB
Markdown
# Инструкция для IT-отдела: Настройка системы сбора данных ЕППК
|
||
|
||
## Цель
|
||
Автоматизация сбора данных Единого плана повышения квалификации (ЕППК) и отчётов по бюджету обучений с филиалов Казахтелеком.
|
||
|
||
## Требования
|
||
|
||
### Google Workspace
|
||
- Корпоративный аккаунт Google Workspace
|
||
- Доступ к созданию форм и таблиц
|
||
- Доступ к Google Apps Script
|
||
|
||
### Пользователи
|
||
- 21 филиал + Центральный аппарат
|
||
- Каждый филиал заполняет форму через корпоративный email
|
||
|
||
---
|
||
|
||
## Шаг 1: Создание Google Формы
|
||
|
||
### Структура формы
|
||
|
||
**Название:** Сбор данных ЕППК — Казахтелеком
|
||
|
||
**Поля формы:**
|
||
|
||
| Поле | Тип | Обязательное | Варианты |
|
||
|------|-----|--------------|----------|
|
||
| Филиал | Выпадающий список | Да | Список филиалов (см. ниже) |
|
||
| Тип отчёта | Выпадающий список | Да | Бюджет (ежемесячно) / ЕППК (годовой) |
|
||
| Период | Выпадающий список | Да | Январь, Февраль, Март, ..., Декабрь |
|
||
| Год | Выпадающий список | Да | 2025, 2026 |
|
||
| Бюджет обучений (тенге) | Число | Да | - |
|
||
| Бюджет командировок (тенге) | Число | Да | - |
|
||
| Запланировано обучений | Число | Нет | - |
|
||
| Прошло обучений | Число | Нет | - |
|
||
| Комментарий | Текст | Нет | - |
|
||
|
||
### Список филиалов для выпадающего списка
|
||
|
||
```
|
||
Астана
|
||
Алматы
|
||
Шымкент
|
||
Атырау
|
||
Актобе
|
||
Караганда
|
||
Павлодар
|
||
Петропавловск
|
||
Костанай
|
||
Туркестан
|
||
Усть-Каменогорск
|
||
Уральск
|
||
Семей
|
||
Кызылорда
|
||
Тараз
|
||
Жезказган
|
||
Экибастуз
|
||
Темиртау
|
||
Балхаш
|
||
Турксиб
|
||
ЦА (Центральный аппарат)
|
||
```
|
||
|
||
### Настройки формы
|
||
|
||
1. **Ограничение доступа:** Только сотрудники корпоративного аккаунта
|
||
2. **Сбор email:** Включить автоматический сбор email заполнителя
|
||
3. **Одна отправка на email:** Запретить повторные отправки (опционально)
|
||
4. **Показывать.progress bar:** Включить
|
||
|
||
---
|
||
|
||
## Шаг 2: Настройка Google Таблицы
|
||
|
||
### Автоматическое создание таблицы
|
||
При создании формы нажмите "Создать таблицу" — данные будут поступать автоматически.
|
||
|
||
### Дополнительные колонки (формулы)
|
||
|
||
Добавьте в таблицу вычисляемые колонки:
|
||
|
||
| Колонка | Формула | Описание |
|
||
|---------|---------|----------|
|
||
| Статус | `=IF(E2>0,"Сдано","Ожидает")` | Автоматический статус |
|
||
| % выполнения | `=IF(D2>0,E2/D2*100,0)` | Процент выполнения плана |
|
||
| Разница бюджета | `=F2-G2` | Разница между обучением и командировками |
|
||
|
||
---
|
||
|
||
## Шаг 3: Настройка автоматических напоминаний
|
||
|
||
### Google Apps Script для напоминаний
|
||
|
||
Создайте новый скрипт: **Расширения → Apps Script**
|
||
|
||
```javascript
|
||
// Конфигурация
|
||
const SHEET_NAME = "Ответы формы";
|
||
const EMAIL_COLUMN = 2; // Столбец с email (B)
|
||
const STATUS_COLUMN = 10; // Столбец со статусом (J)
|
||
const DEADLINE_DAY = 25; // День дедлайна (25-е число)
|
||
|
||
function sendReminders() {
|
||
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
|
||
const data = sheet.getDataRange().getValues();
|
||
const today = new Date();
|
||
const currentDay = today.getDate();
|
||
|
||
// Проверяем, не наступил ли дедлайн (25-е число)
|
||
if (currentDay < DEADLINE_DAY) {
|
||
Logger.log("Дедлайн ещё не наступил. Текущий день: " + currentDay);
|
||
return;
|
||
}
|
||
|
||
// Собираем email филиалов, которые ещё не сдали
|
||
const pendingEmails = [];
|
||
for (let i = 1; i < data.length; i++) {
|
||
const email = data[i][EMAIL_COLUMN - 1];
|
||
const status = data[i][STATUS_COLUMN - 1];
|
||
if (email && status !== "Сдано") {
|
||
pendingEmails.push(email);
|
||
}
|
||
}
|
||
|
||
if (pendingEmails.length === 0) {
|
||
Logger.log("Все филиалы сдали отчёт!");
|
||
return;
|
||
}
|
||
|
||
// Формируем письмо
|
||
const subject = "Напоминание: сдача отчёта по ЕППК";
|
||
const body = `
|
||
Уважаемые коллеги!
|
||
|
||
Напоминаем о необходимости сдачи ежемесячного отчёта по бюджету обучений и командировочных расходов.
|
||
|
||
Дедлайн: 25-е число текущего месяца.
|
||
|
||
Пожалуйста, заполните форму:
|
||
[ВСТАВЬТЕ ССЫЛКУ НА ФОРМУ]
|
||
|
||
С уважением,
|
||
Центральный аппарат Казахтелеком
|
||
`;
|
||
|
||
// Отправляем каждому филиалу
|
||
pendingEmails.forEach(email => {
|
||
GmailApp.sendEmail(email, subject, body);
|
||
Logger.log("Отправлено: " + email);
|
||
});
|
||
|
||
// Или отправляем одним письмом BCC
|
||
// GmailApp.sendEmail("", subject, body, {bcc: pendingEmails.join(",")});
|
||
}
|
||
|
||
// Автоматический запуск каждый месяц 25-го числа
|
||
function createMonthlyTrigger() {
|
||
ScriptApp.newTrigger("sendReminders")
|
||
.timeBased()
|
||
.onMonthDay(DEADLINE_DAY)
|
||
.atHour(10) // 10:00 утра
|
||
.create();
|
||
}
|
||
```
|
||
|
||
### Настройка триггера
|
||
|
||
1. Запустите функцию `createMonthlyTrigger()` один раз
|
||
2. Скрипт будет автоматически отправлять напоминания 25-го числа каждого месяца в 10:00
|
||
|
||
---
|
||
|
||
## Шаг 4: Настройка доступа
|
||
|
||
### Кто может заполнять форму
|
||
- Настройте форму: **Настройки → Ограничения → Только сотрудники [ваша_организация].com**
|
||
|
||
### Кто может просматривать таблицу
|
||
- Настройте общий доступ к Google Таблице
|
||
- Роль: "Просмотр" для филиалов, "Редактор" для вас и IT
|
||
|
||
### Кто может редактировать скрипт
|
||
- Только IT-отдел и вы
|
||
|
||
---
|
||
|
||
## Шаг 5: Тестирование
|
||
|
||
1. Создайте тестовую форму с ограничением доступа
|
||
2. Отправьте тестовые данные
|
||
3. Проверьте, что данные поступают в таблицу
|
||
4. Проверьте отправку напоминаний вручную
|
||
5. Настройте автоматический триггер
|
||
|
||
---
|
||
|
||
## Контакты
|
||
|
||
При вопросах обращайтесь к [ваше имя] — [ваш email]
|
||
|
||
---
|
||
|
||
## Дополнительные опции
|
||
|
||
### Если нет Google Workspace
|
||
- **Microsoft Forms + Power Automate** — аналогичная функциональность
|
||
- **Яндекс.Формы** — если используете Яндекс.Корпоративный портал
|
||
|
||
### Если нужна более сложная система
|
||
- **Airtable** — база данных с формами и автоматизациями
|
||
- **Notion** — база данных + формы + шаблоны отчётов
|