external:pds_system_carbis

Это старая версия документа!


"Наша ПДС" - Персональная дисконтная система

Данное программное обеспечение предназначено для ведения собственной базы дисконтных карт и работы системы лояльности: скидки, бонусы, накопления.

Создать базу в MS SQL Server с именем card-server под пользователем sa, с полными правами на неё.

Скопировать папку с дистрибутивом на компьютер и запустить сервер ПДС файлом Mambahost.exe. После запуска сервер ПДС будет слушать порт 11030.
Если порт 11030 занят на момент запуска программы, то в созданном сервером ПДС файле config.json поправить параметр app.port на нужный порт

Идём в браузере по адресу http://localhost:11030

Пользователь user, пароль 123

Все дальнейшие настройки, кроме лицензирования, осуществляются через интерфейс сервера ПДС в браузере.

Во вкладке Соединение с БД задаётся строка подключения к базе данных MS SQL Server в формате драйвера SQL Python - pyodbc.
Для удобства настройки есть помощник(рекомендуемый способ подключения) для генерации строки подключения.
Строка подключения формируется внизу, по мере заполнения полей.

Драйвер Microsoft ODBC для SQL Server

В ниспадающем списке отображаются драйвера установленные в системе на которой запущен сервер ПДС.

Microsoft написала и распространила несколько драйверов ODBC для SQL Server:

  • {SQL Server} - выпущен с SQL Server 2000
  • {SQL Native Client} - выпущен с SQL Server 2005 (также известный как версия 9.0)
  • {SQL Server Native Client 10.0} - выпущен с SQL Server 2008
  • {SQL Server Native Client 11.0} - выпущен с SQL Server 2012
  • {ODBC Driver 11 for SQL Server} - поддерживает SQL Server с 2005 по 2014
  • {ODBC Driver 13 for SQL Server} - поддерживает SQL Server 2005–2016
  • {ODBC Driver 13.1 for SQL Server} - поддерживает SQL Server 2008–2016
  • {ODBC Driver 17 for SQL Server} - поддерживает SQL Server 2008–2019

Имя сервера MS SQL Server
Если в качестве имени сервера используется сетевой адрес, то номер порта отделяется запятой а не двоеточием!
Примеры:

  • SQLSERVER-TEST
  • localhost
  • localhost, 1433
  • 127.0.0.1, 1433

Встроенная проверка подлинности Windows

Про режимы проверки можно почитать тут: https://docs.microsoft.com/ru-ru/sql/relational-databases/security/choose-an-authentication-mode?view=sql-server-ver15
Самое простое: сервер ПДС развернут на машине с MS SQLServer и он позволяет авторизовать пользователя Windows проще поставить эту галку. Тогда пользователя и пароль вводить не надо.
Если сервер удалённый, при подключении по сети проще задать имя пользователя и пароль.

Лицензирование

Если сервер ПДС не лицензирован или лицензия просрочена или другие проблемы с лицензией, то при работе с ПДС на кассе, ПДС будет отвечать что проблемы с лицензией.
Ограничений на работу редактора сервера ПДС при проблемах лицензией нет.

Название ПО - «Наша ПДС».

Запускаем сервер ПДС с колючем license - Mambahost.exe /license.

Ждём загрузки окна лицензирования, лицензируем, перезапускаем сервер ПДС.

База данных

При нажатии кнопки «Обновить список БД», сервер ПДС пытается подключится к MS SQLServer. Если подключение удалось, то тут отображаются базы данных развернутые на сервере MS SQL.

Строка подключения

Собственно сформированная строка. Нажатием кнопки использовать строку, окно закрывается а строка подставляется в поле строка подключения в настройках БД.

При нажатии на кнопку проверить и сохранить, выводится предупреждение, что в случае успешного подключения к новой БД вы будете перенаправлены на страницу входа.

Если нажать «Сохранить строку подключения», то сервер ПДС попытается подключится к БД.

Если подключение не удалось, то выведется текст ошибки

А если всё хорошо, то выведется окно сообщающее об этом и после нажатия на кнопку «Перейти на страницу входа», пользователь перенаправляется на страницу входа

Здесь выводится информация о текущей подключенной базе данных.

Если БД не подключена, то выводится текст ошибки.

Если подключение осуществляется к рабочей базе данных, т.е. базе в которой есть данные и созданы все таблицы, или с которой ранее работал сервер ПДС:

  • Пользователь и пароль по умолчанию не работают. Работают пользователи и пароли из БД
  • При входе, в главном меню, становятся доступными все пункты, на верхней панели пропадает красный прямоугольник с надписью «Режи конфигурации. Только настройки»
  • Выводится версия БД, и в будущем, если версия ниже той, которая должна быть, предлагается её обновить.

Если подключение осуществляется к пустой базе данных, как правило только что созданной:

  • Для входа используются пользователь и пароль по умолчанию.
  • Пользователь опять попадает в режим конфигурации, только настройки, но в информации о базе данных появляется имя, версия и необходимая версия
  • Появляется кнопка «Создать новую базу данных» при нажатии на ней происходит следующее:
    • Выводится предупреждение, что в случае успешного подключения к новой БД вы будете перенаправлены на страницу входа. При нажатии на кнопку «Создать базу данных»:
      • В пустой базе данных создаются таблицы нужные для работы ПДС
      • В базе данных создаётся пользователь user с паролем 123.
      • Выводится сообщение, что база данных создана.
      • По нажатию на кнопку «Перейти на страницу входа», пользователь перенаправляется на страницу входа.

  • Для входа использовать user с паролем 123. После входа настоятельно рекомендуется пользователя переименовать а пароль сменить.

Настройки Rkeeper

  • Адрес и порт http-xml интерфейса mid или ref-сервера (оба варианта допустимы)
  • Имя пользователя для xml интерфейса
  • Пароль для xml интерфейса
  • Нажимаем сохранить

Если все верно введено и xml интерфейс R_Keeper доступен, то видим подтверждение что всё сохранилось

Для связи с кассой используется технология farcards
Настраивается стандартно, после чего подкидываем dll.
dll для farcards называется Template.dll и лежит в папке с дистрибутивом в папке farcards.

Для Template.dll необходимо настроить в Template.ini адрес сервера ПДС (см. «База данных и редактор»).
ServerAddress=127.0.0.1 - адрес сервера пдс
ServerPort=8888 - порт сервера пдс

Код нулевой скидки

Одна из особенностей работы с farcards заключается в том, что когда сервер ПДС отдаёт информацию о карте на кассу, от должен передать код скидки.
В таком случаем в R_Keeper должна быть заведена скидка со скидкой 0%, как бы фиктивная (нулевая) скидка.
Нулевая скидка нужна в случае, если по какой то причине скидка по карте не предоставляется. Превышен лимит использования, заблокирована и т.д.

Если подключение к R_Keeper настроено и xml интерфейс доступен, то мы можем выбрать нулевую скидку из дерева скидок R_Keeper

Так же можно ввести код скидки вручную в в поле ввода «Код нулевой скидки»

Если подключение к R_Keeper настроено и xml интерфейс доступен, то под полем ввода отображается название скидки c этим кодом взятое из R_Keeper.
Если подключение нет или нет скидки с таким кодом в R_Keeper, то под поле ввода ничего не отображается.

Настройки сервера ПДС

Настройки адреса и порта на которых работает сервер. Для применения настроек требуется ручная перезагрузка.

  • Рабочая подсеть - подсеть в которой работает сервер ПДС.
  • Порт - порт который слушает сервер ПДС.

Для аутентификации в сервере ПДС используется стандарт JSON Web Token (JWT).
В том разделе задаётся время жизни access и refresh token.

  • Время действия access token (минут) - через какое время сервер ПДС будет требовать обновить access token при помощи предоставления refresh token.
  • Время действия refresh token (минут) - сколько текущий пользователь может работать в системе. Фактически это максимальное время сессии после ввода логина и пароля по окончании которой, требуется опять войти в систему.
  • Уровень логирования
  • Хранить логи (дней)

  • Пол обязателен - Если пол обязателен, то ПДС не даёт сохранить счёт при редактировании или создании без указания пола. Не влияет на создание заготовок карт. Заготовки создадутся нормально, но при редактировании заготовки, настройка начинает работать.
  • Телефон обязателен - Если телефон обязателен, то ПДС не даёт сохранить счёт при редактировании или создании без указания телефона. Не влияет на создание заготовок карт. Заготовки создадутся нормально, но при редактировании заготовки, настройка начинает работать.

Управление

Словарь пользователей, которые могут работать с ПДС.

  • Нажатие на кнопку «Добавить пользователя» - показывает диалоговое окно добавление нового пользователя.
  • Нажатие на строку или иконку карандаша - показывает диалоговое окно редактирование пользователя.
  • Нажатие на корзину - удаление пользователя. Показывает диалоговое окно подтверждения операции.

* Логин  -  Используется для входа в ПДС. Обязательное поле.
* Пароль / Повтор пароля  -  Используется для входа в ПДС. Обязательное поле. Пароль и повтор пароля должны совпадать.
* EMail  -  Почта пользователя. Не обязательное поле.
* Фамилия  -  Фамилия пользователя. Не обязательное поле.
* Имя  -  Имя пользователя. Не обязательное поле.
* Отчество  -  Отчество пользователя. Не обязательное поле.
* Комментарии  -  Любой текст. Не обязательное поле.
* Кнопка "Добавить"  -  Сохраняет нового пользователя. Становится доступна для нажатия, когда нет ошибок заполнения формы (нет полей с красной обводкой и текстом ошибки внизу).

Изменение пользователя

Логин - Используется для входа в ПДС. Обязательное поле.

Кнопка «Сменить пароль» - Открывает окно смены пароля пользователя.

Требуется ввести:

  • Старый пароль - текущий пароль пользователя у которого мы меняем пароль.
  • Новый пароль - новый пароль пользователя.
  • Повтор пароля - повтор пароля, должен совпадать с новым паролем

Кнопка «Сменить пароль» - сохраняет новый пароль у пользователя.
Становится доступна для нажатия, когда нет ошибок заполнения формы (нет полей с красной обводкой и текстом ошибки внизу).

  • EMail - Почта пользователя. Не обязательное поле.
  • Фамилия - Фамилия пользователя. Не обязательное поле.
  • Имя - Имя пользователя. Не обязательное поле.
  • Отчество - Отчество пользователя. Не обязательное поле.
  • Комментарии - Любой текст. Не обязательное поле.
  • Кнопка «Сохранить» - Сохраняет изменения пользователя. Становится доступна для нажатия, когда нет ошибок заполнения формы (нет полей с красной обводкой и текстом ошибки внизу).

  • external/pds_system_carbis.1642412764.txt.gz
  • Последнее изменение: 2022/01/17 12:46
  • Евгений Агеев