Я — разработчик 1С с 10-летним стажем.
Однажды утром захотелось разработать что-то свое — не сложное, но нужное и я решил обратиться к своему искусственному другу Qwen3.5:
- Привет, дружище. Подскажи прибыльный и интересный проект, который можно не сложно продать (монетизировать). Что спрашивают пользователи 1С в основном на форумах? Дай топ 10 идей для разработки интересного приложения на 1С.
Немного подумав, друг выдал мне довольно развёрнутый ответ. Первой в Топ-10 идеей был именно он: Телеграм-бот «Директор в кармане».
ИИ расписал его так:
#### 1. Телеграм-бот «Директор в кармане»- **Суть:** Бот, который по запросу присылает ключевые показатели (Остатки денег, Прибыль за день, Долги клиентов, План продаж).- **Почему купят:** Руководители не хотят лезть в 1С. Им нужна цифра в телефоне за 5 секунд.- **Монетизация:** Подписка (SaaS) 500–1000 руб./мес. или разовая покупка лицензии.- **Сложность:** Низкая (HTTP-сервисы + Telegram API).
Всё! Я загорелся.
Я всё это могу!!! Тем более, если 90% кода я буду писать с помощью Cursor.
В этой статье я расскажу, с какими трудностями мне пришлось с толкнуться, поделюсь архитектурой решения, кодом расширения-агента и тем, как обеспечена безопасность данных.
Проблема и решаемая задача
В большинстве систем «1С:Предприятие» доступ к данным вне офиса — это боль.
-
Web-клиент — тяжеловесен, требует хорошего интернета и лицензий.
-
RDP/Thin Client — неудобен на телефоне.
-
Отчеты на почту — не дают ощущения «здесь и сейчас».
Задача: дать директору возможность простыми командами в Telegram (/balance, /sales, /debts) получать актуальные метрики, с минимальными усилиями на настройку и с гарантией безопасности передаваемых данных.
Архитектура системы
Я решил не строить «монолит на монолите» и разделил систему на три независимых компонента. Это позволило развязать базы клиентов и серверную логику.
Схема взаимодействия состоит из трех звеньев: Агент (в базе клиента) → Сервер (VPS) → Telegram Bot.
1. Расширение-агент (Client-side)
Это единственное, что устанавливается в базу клиента.
-
Роль: Шлюз. Не содержит бизнес-логики, только отправляет метрики на сервер по HTTPS.
-
Настройка: Минимум метаданных. Ввели ключ → нажали «Подключить».
-
Безопасность: Агент не авторизуется на сервере по паролю, он отправляет зашифрованный пакет с метриками и токеном. Если сервер взломают — злоумышленник получит только агрегированные числа, а не проводки.
Почему код агента открыт? Я принципиально открыл исходный код расширения. Любой квалифицированный специалист может подключить его к своей конфигурации, посмотреть, какие именно данные уходят, и убедиться, что «под капотом» ничего лишнего не происходит. Доверие строится на прозрачности на стороне клиента.
Почему нет БСП? Для лёгкого API-шлюза я взял пустую конфигурацию + 3 модуля. Работает быстрее, обновлять проще.
2. Сервер-«мозг» (Server-side)
Здесь живет 1С, Apache и Windows VPS.
-
Функции: Принимает данные от агентов, проверяет подписку, формирует ответы для бота.
-
Логика: Проверки безопасности, валидация подписки, маршрутизация запросов реализованы здесь.
-
Архитектура: Использован паттерн «Адаптер». Сейчас работает Telegram, но архитектура позволяет легко добавить VK, MAX или любой другой мессенджер, не переписывая ядро.
3. Telegram-бот
Простой интерфейс для пользователя.
-
Обработка команд через вебхуки (Webhooks).
-
Кэширование ответов для скорости отклика (< 1 сек).
-
Интеграция с платежной системой (для управления подпиской).
Защита данных
Вопрос безопасности был ключевым. Клиенты не хотят, чтобы их детальные проводки утекли в интернет. Как это решено:
1. От взлома расширения
Вся логика проверки подписки вынесена на сервер. Код расширения (.cfu) у клиента «глупый» — он просто отправляет то, что попросили. Даже если переписать расширение, обмануть сервер и получить ответ без оплаты не получится.
2. От утечки данных
-
Протокол: Все запросы идут по HTTPS с валидацией сертификата.
-
Хранилище: На сервере хранятся только агрегированные метрики (сальдо, обороты). Детальные проводки и персональные данные на сервер никогда не попадают.
-
Контексты: Данные разных клиентов изолированы на уровне базы сервера 1С.
3. Криптография (RSA)
Используется асимметричное шифрование. Агент и сервер обмениваются публичными ключами. Если злоумышленник попытается организовать «Man-in-the-Middle» атаку (встать посередине и притвориться сервером), агент не выполнит его код, так как подпись не пройдет проверку.
4. Двухфакторная привязка
Авторизация в боте требует двух факторов: Лицензионный ключ + Telegram ChatID. Даже если кто-то украдет ключ, без доступа к телефону (Telegram) он не получит данные.
Как это работает: сценарий подключения
Хотелось сделать процесс максимально простым («Plug and Play»).
-
Шаг 1: Пользователь заходит в бота, принимает оферту и получает уникальный ключ.
-
Шаг 2: Скачивает расширение
.cfuи добавляет его в свою базу (УТ, УНФ или БП). -
Шаг 3: Вставляет ключ в настройки расширения и нажимает «Записать».
Всё. Далее расширение само начинает отправлять данные по расписанию или по требованию бота.
Требования к расширению
-
Платформа: 1С:Предприятие 8.3.20+
-
Конфигурации: УТ 11.5, УНФ 3.0, БП 3.0 (и выше).
-
Сеть: Возможность исходящих HTTPS-запросов.
Особенности реализации и бизнес-модель
Проект работает по модели SaaS. Серверная часть закрыта, так как это коммерческий сервис, который требует поддержки и аптайма. Однако, как я упоминал выше, код расширения полностью открыт.
Это позволяет использовать решение как:
-
Готовый продукт для малого бизнеса (есть бесплатный тариф для старта).
-
Референс-архитектуру для разработчиков, которые хотят построить своего бота, но не хотят «изобретать велосипед» с безопасностью и обменом данными.
Дорожная карта
Что уже работает и что в планах:
-
[Done] Мультипользователь: один аккаунт на директора, финдира и РОП.
-
[Done] Поддержка нескольких баз в одном аккаунте.
-
[Planned] Автоматическое обезличивание данных
-
[Planned] Бот для VK Мессенджер.
-
[Planned] ИИ-классификатор запросов (безопасный, только чтение).
-
[Planned] Генерация графиков и PDF-отчетов прямо в чат.
-
[Planned] Автоматическое обезличивание данных
Куда двигаться дальше?
будет зависеть от просьб активных пользователей. Напишите мне, что для вас важнее?
-
Добавить разнообразие команд 1С
-
Написать бот для других мессенджеров
-
Что ожидаете от внедрения ИИ?
Полезные ссылки
-
Бот: @DirectorInPocketBot
-
Видео-инструкция: Rutube
-
Исходный код агента: GitHub
ссылка на оригинал статьи https://habr.com/ru/articles/1022648/