IT instruction for corporate setup
This commit is contained in:
parent
ac2246a784
commit
55905e16ed
212
IT-INSTRUCTION.md
Normal file
212
IT-INSTRUCTION.md
Normal file
@ -0,0 +1,212 @@
|
||||
# Инструкция для 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** — база данных + формы + шаблоны отчётов
|
||||
Loading…
Reference in New Issue
Block a user