МПФИТ - агент печати этикеток
Версия: 1.2.0 (15.09.2026)

Что это
-------
Служебная программа для складского ПК: получает с сервера МПФИТ задания
на печать этикеток и отправляет их на принтер. Работает в фоне, окон не
показывает; перезапускается планировщиком задач Windows каждые 5 минут.

Управление
----------
install.cmd      - установка и настройка подключения (запускать от имени
                   администратора)
start_agent.cmd  - возобновить печать: создаёт задачу планировщика
                   «MPFIT Print Labels» и сразу запускает агента
stop_agent.cmd   - приостановить печать: снимает задачу и останавливает
                   агента; настройки и журналы остаются на месте
diag_ssl.cmd     - разбор ошибки «SSL certificate problem» при установке:
                   называет причину (нет файла сертификатов, устарел,
                   мешает антивирус) и что сделать; прав администратора
                   не требует

Windows 7 и Server 2008 R2: вместо install.cmd / start_agent.cmd /
stop_agent.cmd запускайте install-win7.cmd / start_agent-win7.cmd /
stop_agent-win7.cmd. Признак того, что нужны именно они: обычный
install.cmd печатает «The system cannot write to the specified device»
и вместо русского текста показывает мусор из чёрточек и квадратиков.
Установка при этом проходит, но меню и инструкцию в конце не прочитать.

Настройки - в файле config.ini, журналы работы - в папке logs\ (по файлу
на каждый день). При обращении в поддержку назовите версию из этого файла
и приложите свежий файл из папки logs\.

Удаление: stop_agent.cmd, затем удалить папку программы.

Linux и macOS
-------------
Для складов на Linux и Mac есть свой архив - printLabels-linux-<версия>.tar.gz
(в нём нет Windows-файлов, а PHP не возится с собой, ставится пакетом).

Понадобятся: PHP 8.0.2+ c расширением curl и CUPS.
  Debian/Ubuntu:  sudo apt install php-cli php-curl cups
  RHEL/Fedora:    sudo dnf install php-cli php-common cups
  macOS:          brew install php   (Homebrew: https://brew.sh; CUPS в macOS
                  уже есть, принтер добавляется в Системных настройках)

Установка:
  1. Распакуйте архив, например в /opt/printLabels (на Mac - в папку
     пользователя, например ~/printLabels).
  2. Заведите принтеры в CUPS. Имя очереди CUPS (lpstat -p) должно совпадать
     с именем принтера рабочего места в МПФИТ; пробелов в именах очередей
     CUPS не бывает, поэтому и в МПФИТ имя задавайте без пробелов. Очередь
     должна отдавать поток на принтер как есть - агент шлёт готовые команды
     TSPL/ZPL c опцией raw.
  3. sudo ./install.sh - те же вопросы, что у install.cmd (вход по логину
     МПФИТ или ручной ввод пары warehouseId + token).

Управление: sudo ./start_agent.sh / sudo ./stop_agent.sh. Служба: на Linux
systemd-юнит mpfit-print, на macOS LaunchDaemon ru.mpfit.print - стартует при
загрузке до входа пользователя. Журналы - папка logs/ (по файлу на день); плюс
journalctl -u mpfit-print на Linux и logs/launchd.log на macOS.

Если печать не идёт: запустите sudo ./diag.sh - он соберёт диагностику
(состояние службы, очереди CUPS, свежие логи; токен в отчёт не попадает)
в один файл mpfit-diag-*.txt. Пришлите этот файл в поддержку МПФИТ.

Если установка спотыкается о сертификат (cURL error 60): php tools/diag_tls.php
- тот же разбор, что diag_ssl.cmd под Windows.

Удаление: sudo ./stop_agent.sh, затем
  Linux: sudo rm /etc/systemd/system/mpfit-print.service && sudo systemctl daemon-reload
  macOS: sudo rm /Library/LaunchDaemons/ru.mpfit.print.plist
затем удалить папку программы.
