From 55905e16edd5d69967283a256226877b8ee8a4e8 Mon Sep 17 00:00:00 2001 From: Dauren777 Date: Fri, 19 Jun 2026 05:48:34 +0000 Subject: [PATCH] IT instruction for corporate setup --- IT-INSTRUCTION.md | 212 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100644 IT-INSTRUCTION.md diff --git a/IT-INSTRUCTION.md b/IT-INSTRUCTION.md new file mode 100644 index 0000000..0f14d93 --- /dev/null +++ b/IT-INSTRUCTION.md @@ -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** — база данных + формы + шаблоны отчётов