Система управления заказами для полиграфии — Лекала
Веб-система для учёта заказов полиграфической компании, заменившая Excel-таблицы.
Тэги: #автоматизация #управление_заказами #CRM #полиграфия #лекала #Flask #HTMX #SQLite #Python #веб-приложение #учёт_платежей #генерация_квитанций #парсинг_файлов #1С_интеграция
Кейс: Автоматизация учёта заказов «Лекала»
О проекте
Заказчик – полиграфическая компания, специализирующаяся на изготовлении штампов и лекал для одежды. До внедрения системы все заказы велись в Excel-таблицах, что приводило к:
- ошибкам в расчётах (особенно при скидках и срочности);
- потере файлов и версий;
- сложности поиска заказа по клиенту или дате;
- отсутствию прозрачности по оплатам.
Цель – создать единую веб-систему, которая заменит Excel, ускорит работу менеджеров и станет фундаментом для дальнейшего роста компании.
Функциональные возможности
Для менеджера
- Заказы – создание, редактирование, дублирование, удаление (с корзиной).
- Автоподстановка цен – при выборе материала из справочника цена подтягивается автоматически, расчёт итога пересчитывается в реальном времени.
- Загрузка файлов – поддерживаются форматы PDF, PLT, PLO; автоматически извлекаются габариты (ширина, высота).
- Платежи – внесение оплат, формирование квитанций в PDF, кнопка «оплатить полностью» (автоматический расчёт остатка).
- Комментарии – внутренние заметки по заказу, сохраняются с автором и временем.
Для руководителя
- Дашборд – сводка по активным заказам, статусам, задолженностям.
- Фильтрация и поиск – по клиенту, статусу, дате, автору, с нечётким поиском (fuzzywuzzy).
- История статусов – отслеживание движения заказа по этапам.
- Права доступа – менеджеры видят только свои заказы, руководитель – все, администратор – полный контроль.
Для администратора
- Справочники – клиенты, номенклатура (материалы и услуги), статусы, способы доставки, виды скидок.
- Управление пользователями – создание, блокировка, назначение ролей (admin/supervisor/manager).
- Настройки системы – коэффициенты срочности, идентификаторы услуг корректировки и склейки.
- Просмотр лога – аудит всех действий пользователей.
Технические детали
| Компонент | Технология |
|---|---|
| Backend | Python 3.11 + Flask (app factory, blueprints) |
| Frontend | HTMX (динамика без JS-фреймворков) + TailwindCSS + Jinja2 |
| База данных | SQLite с WAL-режимом, триггерами и представлениями (VIEW) |
| Авторизация | Flask-Login + временная сессионная таблица |
| Генерация PDF | WeasyPrint (квитанции) |
| Поиск | SQLite FTS5 + fuzzywuzzy для нечёткого совпадения |
| Сервер | Nginx (reverse proxy) + Gunicorn в продакшене |
Архитектурные особенности
- Блокировка заказов – при редактировании заказ блокируется для других пользователей, автоснятие через 15 минут.
- Черновики – возможность сохранить заказ как черновик (хранится 30 дней).
- Каскадное удаление – вместо физического DELETE используется флаг
to_recycleс триггерами, запрещающими удаление критичных записей. - Представления (VIEW) – упрощают вставку и обновление данных (например,
v_order_itemsс INSTEAD OF INSERT). - Пересчёт итогов – триггеры автоматически пересчитывают сумму заказа при изменении строк, цен доставки, скидок или коэффициента срочности.
- Интеграция с 1С – через OData-протокол (подготовлена архитектура для будущего подключения).
Результаты внедрения
- Скорость – оформление заказа сократилось с 15 до 3 минут (в 5 раз).
- Точность – полностью исключены арифметические ошибки в итоговых суммах.
- Прозрачность – все платежи и статусы видны в реальном времени.
- Масштабируемость – система готова к подключению 1С и расширению функционала.
- Удовлетворённость – менеджеры перестали тратить время на рутинные расчёты и сосредоточились на клиентах.
Скриншоты

Ссылки
Нужна похожая система? Свяжитесь с нами для обсуждения вашего проекта.
Читайте также: