external:искусственный_интеллект_для_sh5

Искусственный интеллект для sh5 - ShPulse

Актуальный дистрибутив

Системные требования:

  • Компьютер под управлением ОС Windows 7+
  • StoreHouse v 5.84.308 и выше

Для обмен данными с системой учета StoreHouse требуется установить SHWebAPI (бесплатный модуль из состава SHv5).

Состав пакета:

sh_pulse.exe     - Сервер ИИ.
plugins          - Папка с плагинами.
                   Все плагины, находящиеся в корне этой папки, будут обработаны в алфавитном порядке.
static           - Дополнительные файлы (стили, картинки, JS скрипты).
templates        - Шаблон главной страницы.
                   Внимание! Не рекомендуется изменять структуру этого файла без понимания того как он устроен.
config.ini       - Настройки сервера ИИ.

Схема взаимодействия модулей ПО:

Установка модуля SH_II (sh_pulse.exe)

  • Скачать и распаковать архив (логичнее сделать это там, где крутится сервер SH) (путь, где будет находиться распакованная сборка ПО не должен содержать симолов кирилицы (русских букв))
  • Настроить файл config.ini
;Данные для входа в SH
[Account]
Username=Admin
Password=

[Settings]
;Адрес, по которому доступен SH Web API
Url=http://127.0.0.1:9797

;Свободный порт для доступа по http
;Если планируется доступ с других компьютеров,то открыть этот порт в брандмауэре и/или антивирусе
AppPort=5000
  • Далее нам нужно запустить сервер ИИ. Работать только как служба. Установка службы через файл start.bat (запустить от имени Администратора).
  • Настроить файл sh.ini на каждом клиентском компьютере, где должен отображаться модуль ИИ.
[EWB]
;Параметры браузера, запускающегося при логине пользователя
;Заголовок окна браузера
FCP = Анализ SH

;Имя пункта меню браузера (появляется в пункте меню Сервис)
MCP = Анализ SH

;Символ, предшествующий типу параметра в строке (по умолчанию @)
;Типы параметров:
;1 - строка, содержащая имя сервера склада;
;2 - Идентификатор файла БД (случайно генерируется при создании первоначального файла БД) в шестнадцатеричном виде;
;3 - Имя пользователя БД.
PPR = @

;Формат строки запроса (напр. URL-адрес с опциональным списком вышеописанных параметров)
FMT = http://127.0.0.1:5000/?q=@3
;Если имя текущего пользователя Igor, то FMT будет преобразован к виду https://twitter.com/search?q=Igor

;Cумма флагов параметров (по умолчанию 0)
;1 - Не показывать окно при логине автоматически (тогда вызывается из меню Сервис)
;PRMS = 0
  • Модуль ИИ выполнит все плагины лежащие в папке plugins. Если какой то из плагинов вам не нужен (например в данной БД не ведется работа с ЕГАИС), то вы просто удаляете файл (папку) с этим плагином.
  • Обработка плагинов осуществляется в алфавитном порядке, таким образом, если необходимо поменять местами какие то метрики, достаточно просто переименовать файлы.
  • Некоторые плагины имеют дополнительные параметры и настройки, изменить которые можно непосредственно в коде плагина.
  • Плагины можно модифицировать, а так же писать свои собственные на языке Python 3.

0_welcome.py Данный плагин здоровается с %username% при старте (username = имя пользователя в SH). Плагин работает только в том случае если при вызове был передан username. Т.е. вызов был из SH по ссылке вида http://127.0.0.1:5000/?q=@3 Если открыть в браузере по ссылке http://127.0.0.1:5000/ то плагин НЕ отрабатывает. Если параметр humor равен 1, то после приветствия цитируется случайный афоризм.


1_advertisement.py Данный плагин отображает страницу с информацией от дилера Если по адресу указанному в параметре 'url' находится какая то страница (код http ответа 200), то она будет отображена. Если указан не существующий или пустой url - плагин не работает.

Если «title = None», то раздел свернуть нельзя (он всегда будет раскрыт у пользователя)

Параметр url задает откуда брать информацию для вывода пользователю. Пример: url = 'https://carbis.ru/404' # Страница по адресу 'https://carbis.ru/404' не существует. Плагин не работает. url = 'https://soft.carbis.ru/sh_ii/test_news.html' # Страница по адресу 'https://soft.carbis.ru/sh_ii/test_news.html' существует. # Плагин отображает тестовую новость.


10_GDocs_1_256 Плагин «Документы». Анализ текущего состояния документооборота.

  • Дата последних п/н
  • Анализ компенсаторов за вчера, 3 дня, неделю и месяц
  • Даты проведенных инвентаризаций по каждому подразделению (складу)

Каждая метрика включает в себя «светофор»:

  • Зеленый - все хорошо
  • Желтый - следует обратить внимание, по данной метрике есть провалы
  • Красный - необходимо предпринять определенные действия т.к. параметры имеют не допустимые значения.


2_ODocs.py Данный плагин анализирует наличие не проведенных Заявок за последний месяц. Если все заявки по вчерашний день включительно проведены - Зеленый. Если в БД SH есть не проведенные заявки за 3 последних дня - Желтый. Если заявки не проведены более 4х дней - Красный. ВНИМАНИЕ! В базовом варианте плагин игнорирует заявки созданные в ручную. Анализ ведется только по импортированным заявкам. Но вы можете изменить эту логику поменяв фильтры в запросе к SH.


3_EDocs.py Плагин проверяет наличие не принятых документов ЕГАИС. Если в БД ведется несколько ЮЛ то анализ ведется по документам каждого ЮЛ. Если на предприятии не работают с ЕГАИС - отключите данный плагин, удалив этот файл из папки plugins


4_RptDSale.py Плагин строит графики по выручке, себестоимости и полученной прибыли за последние несколько дней (по умолчанию 7 дней). Эта же информация дублируется в табличном виде и дополняется значениями по наценке и фудкосту по дням.


5_GRemns.py Данный плагин используется для анализа товарных остатков по значению Min и Max товарного запаса, указанным в карточке товара. Для расчета берется остаток по ВСЕМ складам. Т.е. если на складе А товар меньше минимума, а на складе Б он есть в большом количестве, то его не нужно закупать. Можно делать копии данного плагина, в коде запроса добавлять RID конкретного склада или предприятия и получать отдельные показатели по нужным складам/предприятиям.


6_GdsByGDocs.py Данный плагин анализирует продажи за прошедший период и строит список товаров, которые необходимо докупить для бесперебойной работы заведения. Для заведений с небольшим меню (кофейни) рекомендуется брать для анализа 7-14 дней. Для заведений с большим меню (рестораны, бары) брать период равный 1 месяцу. Параметры для настройки плагина ggroup_rid = 2 # RID товарной группы содержащей в себе сырье (можно посмотреть в SH в свойствах ветки товара) days_range = 7 # Какой период (в днях) анализировать для построения прогноза будущих продаж red_threshold = 3 # «Красная» граница остатков в днях (товары которые надо срочно закупить) yellow_threshold = 7 # «Желтая» граница остатков в днях (товары которые нужно держать на контроле)


7_weather.py Данный плагин выводит прогноз погоды. Выбрать нужный город и изменить внешний вид информера можно по адресу: https://yandex.ru/pogoda/213/informer


8_Just4fun.py Данный плагин выводит случайный анекдот. Можно использовать другие параметры для получения анекдота. Описание тут http://www.rzhunemogu.ru/FAQ.aspx

Q: Это правда бесплатно? А почему?
A: Да, этот модуль поставляется абсолютно бесплатно и может быть установлен кем угодно на любом количестве объектов. Почему? Да просто потому что мы так решили…

Q: Могу ли я самостоятельно разрабатывать свои плагины и/или модифицировать те что включены в поставку?
A: Да. Если вы решите поделиться своим вариантом плагина с нами - мы включим его в базовую поставку с указанием автора.

Q: А вы можете написать специальный плагин по моему запросу?
A: Да. Если это будет решение интересное для всех пользователей, то мы напишем его бесплатно и включим в общую поставку. Если это какое то нишевое решение, востребованное в частном случае, то мы готовы рассмотреть варианты платной разработки на основе ТЗ.

Q: Я нашел баг! У меня есть гениальная идея! Куда писать?
A: Сюда: info@carbis.ru

v1.0.11.50 (06/10/2021)

  • Исправлена ошибка при неудачном соединении с новостным сайтом Карбиса.
  • Для запуска приложения теперь используется фреймворк waitress.

v1.0.8.45 (04/12/2020)

  • В плагинах для работы с API Сторхауса добавлена проверка на правильность логина и пароля.

v1.0.7.44 (23/11/2020)

  • Исправлена ошибка в плагине «Выручка/прибыль по дням» при отсутствии данных.

v1.0.6.43 (17/11/2020)

  • Плагин «Анализ документооборота» вынесен как отдельный файл, теперь его порядок проще поменять.
  • Исправлена бесконечная загрузка плагина при редких ошибках.

v1.0.4.41 (11/11/2020)

  • Изменен движок обработки плагинов (убрана ошибка «Failed to execute script app».
  • Добавлены новые плагины («Анализ документооборота» и «Выручка/прибыль по дням»).
  • Серверную часть можно запустить только службой.
  • добавлено логирование работы службы ИИ и каждого плагина.

v1.0.1.15 (02/11/2020)

  • Релиз проекта
  • external/искусственный_интеллект_для_sh5.txt
  • Последние изменения: 2021/10/06 08:49
  • Илья Савенков