Files

585 lines
40 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Документация — АгроТО</title>
<meta name="description" content="Полная техническая документация платформы АгроТО: установка, модули, роли, интеграции, API.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
<style>
:root {
--g50:#f2f8f4;--g100:#dff0e6;--g200:#b8ddc6;--g300:#82c49d;--g400:#4a9e64;
--g500:#2d8049;--g600:#246639;--g700:#1e5a33;--g800:#174829;--g900:#0f2f1b;
--ink:#111917;--ink2:#2d3b34;--ink3:#6b7f74;
--white:#ffffff;--bg:#f7f9f7;--bg2:#f0f4f1;--sand:#dde5de;
--r1:8px;--r2:12px;--r3:16px;
--sh1:0 1px 4px rgba(0,0,0,.06);--sh2:0 4px 16px rgba(0,0,0,.08);
--t:.18s ease;
--sidebar:260px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--white);line-height:1.6}
a{color:var(--g600);text-decoration:none}
a:hover{color:var(--g800)}
/* NAV */
nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
border-bottom:1px solid var(--sand);padding:0 max(24px,calc((100vw - 1160px)/2));
display:flex;align-items:center;justify-content:space-between;height:60px}
.nav-logo{display:flex;align-items:center;gap:8px;font-family:'Onest',sans-serif;font-weight:600;font-size:1rem;color:var(--ink)}
.nav-mark{width:28px;height:28px;border-radius:7px;background:var(--g700);display:flex;align-items:center;justify-content:center}
.nav-links-right{display:flex;align-items:center;gap:16px}
.nav-links-right a{font-size:0.85rem;color:var(--ink2)}
.btn-sm{padding:7px 16px;border-radius:var(--r1);font-size:0.82rem;font-weight:600;background:var(--g700);color:white;transition:var(--t)}
.btn-sm:hover{background:var(--g900);color:white}
.doc-badge{display:inline-flex;align-items:center;gap:5px;background:var(--g50);border:1px solid var(--g200);
color:var(--g700);font-size:0.72rem;font-weight:600;padding:3px 10px;border-radius:99px}
/* LAYOUT */
.doc-layout{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:calc(100vh - 60px);max-width:1200px;margin:0 auto;padding:0 24px}
/* SIDEBAR */
.doc-sidebar{border-right:1px solid var(--sand);padding:32px 0 64px;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto}
.doc-sidebar::-webkit-scrollbar{width:4px}
.doc-sidebar::-webkit-scrollbar-thumb{background:var(--sand);border-radius:2px}
.sidebar-section{margin-bottom:28px}
.sidebar-label{font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--ink3);padding:0 24px;margin-bottom:8px;display:block}
.sidebar-link{display:block;padding:6px 24px;font-size:0.85rem;color:var(--ink2);border-left:2px solid transparent;transition:var(--t)}
.sidebar-link:hover{color:var(--g700);background:var(--g50)}
.sidebar-link.active{color:var(--g700);border-left-color:var(--g500);background:var(--g50);font-weight:500}
/* CONTENT */
.doc-content{padding:48px 48px 96px;max-width:780px}
.doc-content h1{font-family:'Onest',sans-serif;font-size:2rem;font-weight:700;color:var(--ink);margin-bottom:12px}
.doc-content h2{font-family:'Onest',sans-serif;font-size:1.3rem;font-weight:600;color:var(--ink);margin:48px 0 16px;padding-top:48px;border-top:1px solid var(--sand)}
.doc-content h2:first-of-type{margin-top:32px;padding-top:0;border-top:none}
.doc-content h3{font-size:1rem;font-weight:600;color:var(--ink);margin:28px 0 10px}
.doc-content p{font-size:0.92rem;color:var(--ink2);line-height:1.75;margin-bottom:14px}
.doc-content ul,.doc-content ol{padding-left:20px;margin-bottom:14px}
.doc-content li{font-size:0.92rem;color:var(--ink2);line-height:1.75;margin-bottom:4px}
.doc-lead{font-size:1rem;color:var(--ink3);margin-bottom:32px;line-height:1.7}
.doc-divider{height:1px;background:var(--sand);margin:40px 0}
/* CALLOUTS */
.callout{border-radius:var(--r2);padding:16px 20px;margin:20px 0;font-size:0.88rem;line-height:1.65}
.callout-info{background:var(--g50);border-left:3px solid var(--g400);color:var(--ink2)}
.callout-warn{background:#fffbf0;border-left:3px solid #f0a500;color:#5a4200}
.callout strong{font-weight:600}
/* BADGES / ROLES */
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.role-card{background:var(--bg2);border:1px solid var(--sand);border-radius:var(--r2);padding:16px 18px}
.role-card h4{font-size:0.88rem;font-weight:600;color:var(--ink);margin-bottom:6px}
.role-card p{font-size:0.82rem;color:var(--ink3);line-height:1.55;margin:0}
.tag{display:inline-block;background:var(--g100);color:var(--g800);font-size:0.72rem;font-weight:600;
padding:2px 8px;border-radius:4px;margin-right:4px;margin-bottom:4px}
.tag-orange{background:#fff0e0;color:#b85000}
.tag-blue{background:#e8f0fe;color:#1a56a0}
/* STEPS */
.steps{counter-reset:step;display:flex;flex-direction:column;gap:16px;margin:20px 0}
.step{display:flex;gap:16px;align-items:flex-start}
.step-num{counter-increment:step;min-width:28px;height:28px;border-radius:50%;background:var(--g700);
color:white;font-size:0.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.step-num::before{content:counter(step)}
.step-body h4{font-size:0.9rem;font-weight:600;color:var(--ink);margin-bottom:4px}
.step-body p{font-size:0.85rem;color:var(--ink3);margin:0;line-height:1.55}
/* TABLE */
.doc-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:0.85rem}
.doc-table th{text-align:left;font-weight:600;color:var(--ink);padding:10px 14px;background:var(--bg2);border:1px solid var(--sand)}
.doc-table td{padding:10px 14px;border:1px solid var(--sand);color:var(--ink2);vertical-align:top}
.doc-table tr:nth-child(even) td{background:var(--bg)}
/* MODULE CARDS */
.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.module-card{border:1px solid var(--sand);border-radius:var(--r2);padding:16px 18px;background:var(--white)}
.module-card .mc-ico{width:32px;height:32px;border-radius:8px;background:var(--g50);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.module-card .mc-ico svg{width:16px;height:16px;stroke:var(--g600)}
.module-card h4{font-size:0.88rem;font-weight:600;color:var(--ink);margin-bottom:4px}
.module-card p{font-size:0.8rem;color:var(--ink3);line-height:1.5;margin:0}
/* FOOTER */
footer{border-top:1px solid var(--sand);padding:24px max(24px,calc((100vw - 1160px)/2));
display:flex;justify-content:space-between;align-items:center}
footer p{font-size:0.8rem;color:var(--ink3)}
footer a{font-size:0.8rem;color:var(--g500)}
@media(max-width:860px){
.doc-layout{grid-template-columns:1fr}
.doc-sidebar{display:none}
.doc-content{padding:32px 0 64px}
.role-grid,.module-grid{grid-template-columns:1fr}
}
footer{background:var(--bg);border-top:1px solid var(--sand);padding:60px max(24px,calc((100vw - 1160px)/2)) 40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-logo{display:flex;align-items:center;gap:9px;margin-bottom:16px}
.footer-logo-mark{width:30px;height:30px;border-radius:7px;background:var(--g700);display:flex;align-items:center;justify-content:center}
.footer-logo-mark svg{width:14px;height:14px}
.footer-logo-name{font-family:'Onest',sans-serif;font-weight:600;font-size:1.05rem;color:var(--ink)}
.footer-tagline{font-size:0.85rem;color:var(--ink3);line-height:1.65;max-width:260px;margin-bottom:20px}
.footer-contact{font-size:0.82rem;color:var(--ink3)}
.footer-contact a{color:var(--g500)}
.footer-col h4{font-family:'Onest',sans-serif;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink3);margin-bottom:16px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col ul a{font-size:0.88rem;color:var(--ink2);transition:color 0.22s ease}
.footer-col ul a:hover{color:var(--g700)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--sand);padding-top:24px}
.footer-bottom p{font-size:0.8rem;color:var(--ink3)}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-bottom{flex-direction:column;gap:8px;text-align:center}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
:root{--g900:#173626;--g700:#1e5c3a;--g500:#2d7d53;--g400:#3d9966;--g300:#5db37d;--g50:#eef8f2;--bg:#faf9f6;--ink:#151515;--ink2:#404040;--ink3:#767676;--sand:#e6e0d5;--t:.22s ease}
.cta-section{background:var(--g900);text-align:center;padding:96px max(24px,calc((100vw - 1160px)/2));position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 50% 50%,rgba(45,125,83,0.25) 0%,transparent 70%)}
.cta-inner{position:relative;z-index:1}
.cta-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:white;margin-bottom:20px}
.cta-eyebrow::before{content:'';width:18px;height:2px;background:var(--g400);border-radius:2px}
.cta-section h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:600;color:white;margin-bottom:16px;letter-spacing:-0.02em;line-height:1.15}
.cta-section h2 em{font-style:italic;color:var(--g300)}
.cta-sub{font-size:1.05rem;color:rgba(255,255,255,0.6);margin-bottom:40px}
.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border-radius:10px;font-family:inherit;font-size:0.9rem;font-weight:500;cursor:pointer;border:none;transition:all var(--t);white-space:nowrap;text-decoration:none}
.btn-xl{padding:14px 32px;font-size:1rem;font-weight:600;border-radius:12px}
.btn-cta-white{background:white;color:var(--g900)}
.btn-cta-white:hover{background:var(--g50);transform:translateY(-1px);box-shadow:0 6px 24px rgba(0,0,0,.2)}
.btn-cta-ghost{background:transparent;color:rgba(255,255,255,0.75);border:1.5px solid rgba(255,255,255,0.2)}
.btn-cta-ghost:hover{background:rgba(255,255,255,0.08);color:white;border-color:rgba(255,255,255,0.35)}
.cta-note{font-size:0.82rem;color:rgba(255,255,255,0.4)}
.cta-note a{color:rgba(255,255,255,0.6);border-bottom:1px dashed rgba(255,255,255,0.25)}
.cta-note a:hover{color:white}
footer{background:var(--bg);border-top:1px solid var(--sand);padding:60px max(24px,calc((100vw - 1160px)/2)) 40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-logo{display:flex;align-items:center;gap:9px;margin-bottom:16px}
.footer-logo-mark{width:30px;height:30px;border-radius:7px;background:var(--g700);display:flex;align-items:center;justify-content:center}
.footer-logo-mark svg{width:14px;height:14px}
.footer-logo-name{font-family:inherit;font-weight:600;font-size:1.05rem;color:var(--ink)}
.footer-tagline{font-size:0.85rem;color:var(--ink3);line-height:1.65;max-width:260px;margin-bottom:20px}
.footer-contact{font-size:0.82rem;color:var(--ink3)}
.footer-contact a{color:var(--g500)}
.footer-col h4{font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink3);margin-bottom:16px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0}
.footer-col ul a{font-size:0.88rem;color:var(--ink2);transition:color var(--t);text-decoration:none}
.footer-col ul a:hover{color:var(--g700)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--sand);padding-top:24px}
.footer-bottom p{font-size:0.8rem;color:var(--ink3)}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.cta-section{padding:72px 24px}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px;text-align:center}}
</style>
</head>
<body>
<nav>
<a href="/" class="nav-logo">
<div class="nav-mark">
<svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/></svg>
</div>
АгроТО
</a>
<span class="doc-badge">
<svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14,2 14,8 20,8"/></svg>
Документация
</span>
<div class="nav-links-right">
<a href="/kb.html">База знаний</a>
<a href="https://app.agroto.ru" class="btn-sm">Войти в систему</a>
</div>
</nav>
<div class="doc-layout">
<!-- SIDEBAR -->
<aside class="doc-sidebar">
<div class="sidebar-section">
<span class="sidebar-label">Начало работы</span>
<a class="sidebar-link active" href="#intro">Что такое АгроТО</a>
<a class="sidebar-link" href="#quickstart">Быстрый старт</a>
<a class="sidebar-link" href="#roles">Роли и права</a>
</div>
<div class="sidebar-section">
<span class="sidebar-label">Модули</span>
<a class="sidebar-link" href="#equipment">Оборудование</a>
<a class="sidebar-link" href="#maintenance">Плановое ТО</a>
<a class="sidebar-link" href="#emergencies">Аварийные заявки</a>
<a class="sidebar-link" href="#inventory">Склад</a>
<a class="sidebar-link" href="#personnel">Персонал</a>
<a class="sidebar-link" href="#analytics">Аналитика и отчёты</a>
</div>
<div class="sidebar-section">
<span class="sidebar-label">Настройки</span>
<a class="sidebar-link" href="#import">Импорт данных</a>
<a class="sidebar-link" href="#mobile">Мобильное приложение</a>
<a class="sidebar-link" href="#notifications">Уведомления</a>
</div>
<div class="sidebar-section">
<span class="sidebar-label">Энтерпрайз</span>
<a class="sidebar-link" href="#enterprise">Офлайн-сервер</a>
<a class="sidebar-link" href="#ai">ИИ-ассистент</a>
<a class="sidebar-link" href="#1c">Интеграция с 1С</a>
</div>
</aside>
<!-- MAIN CONTENT -->
<main class="doc-content">
<h1>Документация АгроТО</h1>
<p class="doc-lead">Полное руководство по работе с платформой для управления техническим обслуживанием сельскохозяйственной техники и оборудования.</p>
<!-- INTRO -->
<h2 id="intro">Что такое АгроТО</h2>
<p>АгроТО — это CMMS (Computerized Maintenance Management System) — система управления техническим обслуживанием, разработанная специально для агропромышленных предприятий России.</p>
<p>Платформа объединяет в одном месте весь цикл обслуживания техники: от планового ТО по расписанию до аварийных заявок и учёта запчастей на складе.</p>
<div class="module-grid">
<div class="module-card">
<div class="mc-ico"><svg fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><rect x="2" y="3" width="20" height="14" rx="2"/><path d="M8 21h8M12 17v4"/></svg></div>
<h4>Веб + PWA</h4>
<p>Работает в браузере и устанавливается как приложение на iOS и Android</p>
</div>
<div class="module-card">
<div class="mc-ico"><svg fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div>
<h4>Безопасность</h4>
<p>Данные на серверах в России, HTTPS, разграничение прав по ролям</p>
</div>
<div class="module-card">
<div class="mc-ico"><svg fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75"/></svg></div>
<h4>Мультитенантность</h4>
<p>Полная изоляция данных между предприятиями, поддержка нескольких подразделений</p>
</div>
<div class="module-card">
<div class="mc-ico"><svg fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg></div>
<h4>Аналитика</h4>
<p>Дашборд, PDF-отчёты, статистика по задачам, оборудованию, складу</p>
</div>
</div>
<!-- QUICKSTART -->
<h2 id="quickstart">Быстрый старт</h2>
<p>После оформления заявки вы получите доступ к системе. Рекомендуемая последовательность настройки:</p>
<div class="steps">
<div class="step">
<div class="step-num"></div>
<div class="step-body">
<h4>Создайте предприятие и добавьте подразделения</h4>
<p>Настройки → Организация. Укажите название, часовой пояс, подразделения (фермы, участки, цеха).</p>
</div>
</div>
<div class="step">
<div class="step-num"></div>
<div class="step-body">
<h4>Добавьте сотрудников и назначьте роли</h4>
<p>Раздел «Персонал». Создайте учётные записи для механиков, инженеров и руководителя. Каждый получит свой уровень доступа.</p>
</div>
</div>
<div class="step">
<div class="step-num"></div>
<div class="step-body">
<h4>Внесите оборудование</h4>
<p>Раздел «Оборудование». Добавьте технику вручную или импортируйте из Excel. Укажите инвентарные номера, модели, год выпуска, ответственных.</p>
</div>
</div>
<div class="step">
<div class="step-num"></div>
<div class="step-body">
<h4>Настройте расписания ТО</h4>
<p>Для каждой единицы техники создайте планы обслуживания: вид работ, периодичность (дни, моточасы, км), ответственный исполнитель.</p>
</div>
</div>
<div class="step">
<div class="step-num"></div>
<div class="step-body">
<h4>Заполните склад запчастей</h4>
<p>Раздел «Склад». Внесите запчасти с артикулами, минимальными остатками и ценами. Система будет предупреждать об исчерпании запасов.</p>
</div>
</div>
</div>
<div class="callout callout-info">
<strong>Среднее время запуска</strong> — 5 рабочих дней. За каждым новым клиентом закрепляется персональный менеджер, который помогает с настройкой и обучением команды.
</div>
<!-- ROLES -->
<h2 id="roles">Роли и права доступа</h2>
<p>Система использует ролевую модель доступа. Каждый пользователь имеет ровно одну роль в рамках организации.</p>
<div class="role-grid">
<div class="role-card">
<h4>Администратор <span class="tag">admin</span></h4>
<p>Полный доступ: настройки организации, управление пользователями, все модули, удаление данных, PDF-отчёты.</p>
</div>
<div class="role-card">
<h4>Инженер <span class="tag tag-blue">engineer</span></h4>
<p>Создание и редактирование расписаний ТО, оборудования, задач. Управление складом. Просмотр аналитики.</p>
</div>
<div class="role-card">
<h4>Механик <span class="tag tag-orange">mechanic</span></h4>
<p>Выполнение назначенных задач ТО, создание аварийных заявок, отметка работ, добавление комментариев и фото.</p>
</div>
<div class="role-card">
<h4>Наблюдатель <span class="tag">viewer</span></h4>
<p>Только просмотр: оборудование, задачи, склад, аналитика. Не может создавать или изменять данные.</p>
</div>
</div>
<!-- EQUIPMENT -->
<h2 id="equipment">Модуль «Оборудование»</h2>
<p>Центральный справочник всей техники и оборудования предприятия. Поддерживает любые виды: тракторы, комбайны, грузовики, прицепы, сеялки, опрыскиватели, насосные станции, генераторы и прочее.</p>
<h3>Карточка оборудования</h3>
<p>Каждая единица содержит:</p>
<ul>
<li>Наименование, инвентарный номер, заводской серийный номер</li>
<li>Категория, марка, модель, год выпуска</li>
<li>Подразделение и ответственный сотрудник</li>
<li>Фотографии и документы</li>
<li>История всех работ и ремонтов</li>
<li>Журнал наработки (моточасы / километраж)</li>
<li>Связанные запчасти со склада</li>
</ul>
<h3>Статусы оборудования</h3>
<table class="doc-table">
<thead><tr><th>Статус</th><th>Описание</th></tr></thead>
<tbody>
<tr><td><span class="tag" style="background:#e8f8ee;color:#1a6e3a">Активно</span></td><td>Техника в работе, задачи ТО создаются по расписанию</td></tr>
<tr><td><span class="tag tag-orange">В ремонте</span></td><td>Техника на ремонте, временно выведена из эксплуатации</td></tr>
<tr><td><span class="tag" style="background:#fce8e8;color:#a01010">Неисправно</span></td><td>Авария, требует немедленного вмешательства</td></tr>
<tr><td><span class="tag">Списано</span></td><td>Выведено из эксплуатации, история сохраняется</td></tr>
</tbody>
</table>
<!-- MAINTENANCE -->
<h2 id="maintenance">Плановое ТО</h2>
<p>Модуль автоматически создаёт задачи технического обслуживания по заданным расписаниям. Поддерживаются несколько типов периодичности.</p>
<h3>Типы расписаний</h3>
<ul>
<li><strong>Календарное</strong> — каждые N дней, в конкретные даты или дни недели</li>
<li><strong>По наработке</strong> — каждые N моточасов или км пробега</li>
<li><strong>Сезонное</strong> — предсезонная подготовка (весна/осень), зимнее хранение</li>
<li><strong>Разовое</strong> — одноразовая задача с конкретной датой</li>
</ul>
<h3>Жизненный цикл задачи</h3>
<p>Новая → Назначена → В работе → Выполнена / Отменена. Каждый переход фиксируется с временной меткой и исполнителем. К выполненным задачам прикрепляются фото и комментарии.</p>
<div class="callout callout-warn">
<strong>Важно:</strong> задачи с истёкшим сроком автоматически переходят в статус «Просрочено» и выделяются в дашборде. Руководитель получает уведомление.
</div>
<!-- EMERGENCIES -->
<h2 id="emergencies">Аварийные заявки</h2>
<p>Любой сотрудник может создать аварийную заявку прямо с телефона — без доступа к компьютеру. Заявка немедленно появляется у ответственного инженера.</p>
<p>В системе два типа задач: <strong>обычные задачи</strong> (плановое ТО, регламентные работы) и <strong>аварийные заявки</strong>. Аварийная заявка — это всегда критическая ситуация, требующая немедленной реакции. Никаких подуровней нет — если произошла авария, она аварийная.</p>
<!-- INVENTORY -->
<h2 id="inventory">Склад запчастей</h2>
<p>Учёт всего склада запасных частей и расходных материалов с контролем минимальных остатков и историей движения.</p>
<ul>
<li>Каталог позиций с артикулами, ценами, единицами измерения</li>
<li>Привязка запчастей к конкретным единицам оборудования</li>
<li>Автоматическое списание при выполнении задачи ТО</li>
<li>Уведомление при достижении минимального остатка</li>
<li>История прихода и расхода по каждой позиции</li>
<li>Оценка стоимости склада</li>
</ul>
<!-- PERSONNEL -->
<h2 id="personnel">Персонал</h2>
<p>Справочник сотрудников предприятия. Здесь создаются учётные записи, назначаются роли, указываются специализации и подразделения.</p>
<p>К каждому сотруднику привязывается история выполненных работ, что позволяет оценивать нагрузку и производительность механиков.</p>
<!-- ANALYTICS -->
<h2 id="analytics">Аналитика и отчёты</h2>
<p>Дашборд предоставляет оперативную картину состояния парка техники и хода обслуживания.</p>
<h3>Ключевые показатели на дашборде</h3>
<ul>
<li>Количество задач: открытые / просроченные / выполненные за период</li>
<li>Коэффициент готовности парка (% исправной техники)</li>
<li>Аварийные заявки: открытые, среднее время закрытия</li>
<li>Остатки склада: позиции ниже минимума</li>
<li>Загрузка механиков по подразделениям</li>
</ul>
<h3>PDF-отчёты</h3>
<p>Доступны на тарифах Профессиональный и Энтерпрайз. Форматы: сводный отчёт по ТО за период, карточка оборудования с историей работ, отчёт по складу, акт выполненных работ.</p>
<!-- IMPORT -->
<h2 id="import">Импорт данных из Excel</h2>
<p>Для начала работы не нужно вносить данные вручную — поддерживается импорт из Excel-таблиц.</p>
<h3>Что можно импортировать</h3>
<ul>
<li>Справочник оборудования (наименование, инвентарный номер, модель, подразделение)</li>
<li>Расписания ТО (вид работ, периодичность, ответственный)</li>
<li>Каталог склада (артикулы, наименования, количество, цены)</li>
<li>Список сотрудников</li>
</ul>
<div class="callout callout-info">
Если ваш формат данных нестандартный, менеджер поможет с подготовкой шаблона и загрузкой в рамках онбординга.
</div>
<!-- MOBILE -->
<h2 id="mobile">Мобильное приложение</h2>
<p>АгроТО — прогрессивное веб-приложение (PWA). Оно устанавливается на смартфон через браузер без App Store и Google Play.</p>
<h3>Установка на Android</h3>
<div class="steps">
<div class="step"><div class="step-num"></div><div class="step-body"><h4>Откройте сайт app.agroto.ru в Chrome</h4><p>Войдите в свою учётную запись.</p></div></div>
<div class="step"><div class="step-num"></div><div class="step-body"><h4>Нажмите «Добавить на главный экран»</h4><p>Появится баннер внизу экрана или через меню браузера (⋮ → Установить приложение).</p></div></div>
<div class="step"><div class="step-num"></div><div class="step-body"><h4>Подтвердите установку</h4><p>Значок АгроТО появится на рабочем столе. Приложение запускается без браузерной строки.</p></div></div>
</div>
<h3>Установка на iOS (iPhone / iPad)</h3>
<div class="steps">
<div class="step"><div class="step-num"></div><div class="step-body"><h4>Откройте сайт в Safari</h4><p>Только Safari поддерживает установку PWA на iOS.</p></div></div>
<div class="step"><div class="step-num"></div><div class="step-body"><h4>Нажмите кнопку «Поделиться» (□↑)</h4><p>В нижней панели браузера.</p></div></div>
<div class="step"><div class="step-num"></div><div class="step-body"><h4>Выберите «На экран Домой»</h4><p>Прокрутите список вниз и нажмите «Добавить».</p></div></div>
</div>
<p>Приложение кэширует данные локально и работает при нестабильном интернете. Действия, выполненные офлайн, синхронизируются при появлении связи.</p>
<!-- NOTIFICATIONS -->
<h2 id="notifications">Уведомления</h2>
<p>Система отправляет push-уведомления прямо на телефон при:</p>
<ul>
<li>Назначении новой задачи ТО на вас</li>
<li>Приближении срока планового ТО (за 3 дня)</li>
<li>Просрочке задачи</li>
<li>Создании новой аварийной заявки</li>
<li>Изменении статуса вашей заявки</li>
<li>Достижении минимального остатка на складе</li>
</ul>
<div class="callout callout-info">
Для получения push-уведомлений необходимо разрешить уведомления при первом входе в систему. Настройки → Уведомления.
</div>
<!-- ENTERPRISE -->
<h2 id="enterprise">Энтерпрайз: офлайн-сервер</h2>
<p>На тарифе Энтерпрайз мы поставляем физический сервер, который разворачивается внутри сети вашего предприятия. Система работает полностью автономно — постоянный доступ к интернету не требуется.</p>
<h3>Что входит в поставку</h3>
<ul>
<li>Настроенный физический сервер с предустановленной АгроТО</li>
<li>Развёртка в локальной сети предприятия (Wi-Fi или LAN)</li>
<li>Доступ с любого устройства в сети без интернета</li>
<li>Офлайн-модель ИИ для работы ИИ-ассистента без облака</li>
<li>Все данные хранятся исключительно на вашем сервере</li>
<li>Периодическая синхронизация обновлений ПО при наличии интернета</li>
</ul>
<div class="callout callout-warn">
<strong>Для кого актуально:</strong> животноводческие комплексы и полевые операции в зонах со слабым покрытием мобильной сети, предприятия с высокими требованиями к защите данных, холдинги в труднодоступных районах.
</div>
<!-- AI -->
<h2 id="ai">ИИ-ассистент</h2>
<p>Встроенный ИИ-ассистент доступен во всех тарифах в облачном режиме и на тарифе Энтерпрайз — в офлайн-режиме на локальном сервере.</p>
<h3>Что умеет ассистент</h3>
<ul>
<li>Отвечать на вопросы по обслуживанию конкретной техники</li>
<li>Помогать описывать неисправности в аварийных заявках</li>
<li>Предлагать типовые регламенты ТО на основе марки и модели</li>
<li>Анализировать историю поломок и формировать рекомендации</li>
<li>Формировать текстовые отчёты по данным системы</li>
</ul>
<!-- 1C -->
<h2 id="1c">Интеграция с 1С</h2>
<p>Доступна на тарифе Энтерпрайз. Интеграция <strong>односторонняя</strong>: АгроТО получает данные из 1С, но не передаёт данные обратно. Это позволяет не дублировать учёт — всё что уже есть в 1С автоматически попадает в АгроТО.</p>
<h3>Что приходит из 1С в АгроТО</h3>
<ul>
<li><strong>Склад запчастей и материалов</strong> — номенклатура, текущие остатки, приход и расход. Главное — вам не нужно вести склад в двух системах.</li>
<li>Справочник оборудования и основных средств</li>
<li>Контрагенты (поставщики запчастей)</li>
</ul>
<div class="callout callout-info">
<strong>Важно:</strong> данные идут из 1С в АгроТО, но не наоборот. АгроТО не вносит изменения в вашу 1С.
</div>
<p>Детали настройки обсуждаются с техническим специалистом. Поддерживаются конфигурации: 1С:Сельскохозяйственное предприятие, 1С:ERP, 1С:Управление торговлей.</p>
</main>
</div>
<section class="cta-section">
<div class="cta-inner">
<div class="cta-eyebrow">Начните сегодня</div>
<h2>Возьмите оборудование<br><em>под контроль</em></h2>
<p class="cta-sub">Быстрое внедрение. Персональная поддержка на старте.</p>
<div class="cta-actions">
<a href="https://app.agroto.ru" class="btn btn-xl btn-cta-white">
Начать работу
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
<a href="https://app.agroto.ru" class="btn btn-xl btn-cta-ghost">Смотреть демо</a>
</div>
<p class="cta-note">Или напишите нам: <a href="mailto:info@agroto.ru">info@agroto.ru</a></p>
</div>
</section>
<footer>
<div class="footer-grid">
<div>
<div class="footer-logo">
<div class="footer-logo-mark">
<svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/>
</svg>
</div>
<span class="footer-logo-name">АгроТО</span>
</div>
<p class="footer-tagline">CMMS-платформа для управления обслуживанием оборудования на агропредприятиях России.</p>
<p class="footer-contact">Написать нам: <a href="mailto:info@agroto.ru">info@agroto.ru</a></p>
</div>
<div class="footer-col">
<h4>Продукт</h4>
<ul>
<li><a href="/#features">Возможности</a></li>
<li><a href="/#pricing">Тарифы</a></li>
<li><a href="/#how">Как работает</a></li>
<li><a href="/#faq">FAQ</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Компания</h4>
<ul>
<li><a href="/about.html">О нас</a></li>
<li><a href="/blog.html">Блог</a></li>
<li><a href="/contacts.html">Контакты</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Поддержка</h4>
<ul>
<li><a href="/docs.html">Документация</a></li>
<li><a href="/kb.html">База знаний</a></li>
<li><a href="mailto:info@agroto.ru">Email</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>© 2026 АгроТО. Все права защищены.</p>
<p>Сделано в России 🇷🇺</p>
</div>
</footer>
<script>
// Активный пункт сайдбара при скролле
const sections = document.querySelectorAll('h2[id]');
const links = document.querySelectorAll('.sidebar-link');
const obs = new IntersectionObserver(entries => {
entries.forEach(e => {
if (e.isIntersecting) {
links.forEach(l => l.classList.remove('active'));
const active = document.querySelector('.sidebar-link[href="#' + e.target.id + '"]');
if (active) active.classList.add('active');
}
});
}, { rootMargin: '-20% 0px -70% 0px' });
sections.forEach(s => obs.observe(s));
</script>
</body>
</html>