Skip to content

Repository files navigation

Контур Маркировка

Windows-приложение для автоматизации работы с Контур.Маркировкой и «Честным знаком» на производстве. Оно объединяет заказ и загрузку кодов, ввод продукции в оборот, агрегацию, задания для ТСД и печать этикеток BarTender в одном операторском интерфейсе.

Заявки из WMS принимает локальный HTTP-мост на порту 8791; отдельного экрана для них в приложении нет.

Возможности

  • авторизация в Контуре через существующий профиль Яндекс Браузера;
  • подписание документов через КриптоПро/CAdES;
  • заказ, получение и учёт кодов маркировки;
  • ввод продукции в оборот и агрегация упаковок;
  • обмен заданиями с WMS и ТСД;
  • печать этикеток через BarTender;
  • фоновые процессы, журналирование и автоматическое обновление приложения.

Как устроен проект

Часть Назначение
main.py, backend/ Python-приложение, интеграции, локальный API и desktop-оболочка
frontend/ React-интерфейс; готовая сборка хранится в frontend/dist
docs/ Архитектура, разработка и эксплуатация
Install.bat, Install.exe Установка приложения на рабочую станцию
update.bat Принудительное обновление установленной копии

Основной стек: Python 3.12, pywebview, Selenium, React, TypeScript, Vite, CryptoPro, CAdES и BarTender. Подробная схема потоков данных приведена в описании архитектуры.

Требования к рабочему ПК

  • Windows 10/11 и доступ в интернет;
  • Яндекс Браузер с профилем, в котором выполнен вход в Контур;
  • КриптоПро CSP и сертификат организации;
  • BarTender для печати этикеток.

Лицензионные программы в репозиторий и установщик не входят.

Установка

  1. Склонируйте репозиторий, например в %USERPROFILE%\kontur_api.
  2. Запустите Install.bat или Install.exe.
  3. Дождитесь установки Git, uv, Python 3.12, зависимостей и YandexDriver.
  4. Откройте созданный .env и заполните параметры своей организации до первого запуска.

Установщик создаёт пустой .env, ярлык «Контур Маркировка» на рабочем столе и ярлык фонового моста «CRPT server» в автозагрузке. Приложение не готово к работе, пока обязательные значения не заполнены.

Переменная Что указать
ORGANIZATION_ID, OMS_ID, WAREHOUSE_ID идентификаторы своей организации, станции управления заказами и склада
PRODUCT_GROUP, RELEASE_METHOD_TYPE, CIS_TYPE, FILLING_METHOD значения, согласованные с используемым процессом маркировки
BASE_URL адрес используемого контура Контур.Маркировки
THUMBPRINT отпечаток установленного сертификата организации
CHZ_BRIDGE_TOKEN отдельный случайный токен локального HTTP-моста
WMS_API_BASE_URL адрес WMS, если интеграция включена

Параметры отладки и сетевого прослушивания включайте осознанно по комментариям в .env.example. На уже настроенном ПК после git pull снова запустите установщик — окружение будет обновлено в той же папке без публикации локального .env.

Запуск и обновление

Обычный запуск выполняется ярлыком «Контур Маркировка». Для диагностики:

.\.venv\Scripts\python.exe main.py

Приложение проверяет обновления каждые пять минут. При появлении новой версии в шапке отображается кнопка «Обновить». Для принудительного сценария используйте update.bat: он выполняет git pull и повторную установку окружения. Журнал обновления находится в runtime\logs\kontur_update.log.

Node.js на рабочих местах не требуется: готовый интерфейс уже находится в репозитории.

Разработка и проверки

Backend и desktop-оболочка:

uv sync --dev
uv run flake8
uv run mypy .
uv run python main.py

Frontend:

cd frontend
npm ci
npm run lint
npm run test
npm run build

Полная настройка среды описана в руководстве разработчика, а карта файлов и обязательные правила изменений — в AGENTS.md.

Локальные данные

Данные Расположение
Cookies, логи, резервные копии и временные файлы runtime/ — не попадает в Git
История заказов full_orders_history.json
Настройки рабочей станции .env, создаётся из .env.example
Драйвер браузера driver\yandexdriver.exe, загружается автоматически

Документация

Ограничения

Проект рассчитан на внутренний Windows-контур и зависит от установленного коммерческого ПО, сертификатов организации и доступности внешних сервисов. Без КриптоПро, BarTender и настроенной браузерной сессии все производственные сценарии воспроизвести нельзя.

About

Windows-приложение для автоматизации Контур.Маркировки, CRPT, WMS и печати этикеток.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages