Начиная с версии 4.6.128 реализована возможность изменения заголовка и текста диалогового окна для ввода карты. Начиная с версии 4.6.239 реализована возможность ограничения для добавления карты по способу ввода в зависимости от роли пользователя. |
Ввод карты выполняется в режиме формирования товарной части документа (добавления товаров), а также в режиме оплаты документа. Вводить карту лояльности можно только при отсутствии оплат в чеке. |
Чтобы идентифицировать покупателя и предоставить скидку, необходимо добавить карту в чек. Добавление карты осуществляется путем ввода номера карты при формировании товарной части чека, либо в режиме подытога.
Ввод данных карты в режиме формирования товарной части документа можно осуществлять следующими способами:
Аналогично работает ввод данных карты в режимах:
Ввод карты в режиме формирования товарной части чека осуществляется путем распознавания данных карты при считывании данных или по кнопке "Добавить карту" с командой COMMAND_CARD
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Для выбора способа ввода карты действию "Добавить карту" присваивается параметр cardNumberType
, который может принимать следующие значения:
0
– номер карты лояльности,1
– номер телефона клиента (11 цифр, номер начинается с 7, например, 79031234567),2
– номер купона,4
– номер карты, полученный через банковский терминал (используется при наличии параметра valutcode
),5
– добавление карты через процессинг (используется при наличии параметра valutcode
),6
– платежный код,7
– номер карты/номер телефона/платежный код.При необходимости изменения заголовка диалога ввода номера карты нужно задать параметр dialogtitle
для команды COMMAND_CARD
. Чтобы изменить текст сообщения диалога ввода номера карты нужно указать параметр dialogmessage
.
Ввод карты в режиме подытога осуществляется только по кнопке "Добавить карту". После появления диалога "Введите номер карты" карту можно ввести любым способом из описанных выше.
Начиная с версии 4.6.130 добавлена возможность отображения ФИО клиента вместо наименования группы карт при добавлении карты в чек. |
При необходимости можно настроить отображение ФИО клиента вместо наименования группы карт. Настройка осуществляется параметром cardNameToDisplay
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Card]
:
при включенной настройке выводится ФИО клиента (если у карты нет привязки к покупателю, то будет выведен текст, который указан в настройке cardNameToDisplay)
,
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
cardNameToDisplay | строковый | Наименование карты для отображения при отсутствии клиента | По умолчанию "Без регистрации" |
[Card] ... ; Наименование карты для отображения при отсутствии клиента ;cardNameToDisplay = "Без регистрации" |
Применение настройки |
Если при добавлении карты покупателя произошла ошибка выполнения SQL запроса, то на экран будет выведена соответствующая ошибка:
В таком случае необходимо восстановить базу данных любым из способов. Подробнее об этом в разделе "База данных" подраздел "Восстановление базы данных".
В кассовом ПО Artix реализована возможность установить ограничения для добавления карты по способу ввода в зависимости от роли пользователя. Для этого необходимо:
Активировать плагин проверки ограничений в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/restrictions.ini
в секции [plugins]
с помощью параметра restrictions
.
Наименование | Тип данных | Возможные значения | Описание |
---|---|---|---|
restrictions | строковый |
| Активация плагина проверки ограничений |
В конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/restrictions.ini
в секции [Restrictions.Card.InputSourceRoles]
указать роли, для которых разрешен способ добавления карты с помощью параметров keyboard
, scanner
, reader
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
keyboard | строковый | Список ролей, для которых разрешен ввод карты с клавиатуры | Список задается через запятую. По умолчанию ограничения не заданы |
scanner | строковый | Список ролей, для которых разрешен ввод карты сканированием штрих-кода | |
reader | строковый | Список ролей, для которых разрешен ввод карты через ридер |
[plugins] ; Плагин проверки ограничений ;restrictions = off ... ;[Restrictions.Card.InputSourceRoles] ; Настройка ограничения способа ввода для ролей ; <способ ввода карты> = [список ролей, для которых разрешен ввод указанным способом] ; Список задается через запятую ; По умолчанию ограничения не заданы ;keyboard = ;scanner = ;reader = |
При попытке добавить карту пользователем с ролью, не входящей в список разрешенных ролей для добавления карты указанным способом, будет выведено предупреждение "Запрещен ввод карты <способ ввода>
".
Чтобы запретить способ добавления карты для всех ролей, необходимо вместо списка ролей указать ""
.
[Restrictions.Card.InputSourceRoles] keyboard = "" |
В кассовом ПО Artix автоматически определяется считан сканером номер карты или штрих-код товара. О правилах разбора штрих-кода можно прочитать в разделе "Ввод по штрих-коду".
В автоматическом режиме введенные данные распознаются как номер карты, если:
Если пересекаются диапазоны номеров карт и штрих-коды товаров, то добавление карты следует выполнять по кнопке "Добавить карту" и последующем считывании данных. |
Для распознавания введенного штрих-кода в качестве номера карты необходимо настроить правила разбора штрих-кода. Для определения номера карты используется символ "C".
25???????????=CCCCCCCCCCCCC |
В случае ввода данных с помощью ридера действие без дополнительных настроек распознается как ввод номера карты.
При использовании устройств, которые имитируют ввод с клавиатуры, можно изменить чувствительность ввода. |
Возможность использования данной функциональности необходимо уточнять у банка. |
Ввод данных с карты через банковский терминал осуществляется по нажатию клавиши "Добавить карту" с командой COMMAND_CARD
с параметрами:
cardNumberType
– ввод через терминал,valutcode
– код валюты терминала.Считывание данных после нажатия кнопки может быть выполнено либо с магнитной полосы, либо с чипа банковской карты.
Кассовое ПО Artix позволяет считывать информацию о картах клиентов, данные которых хранятся в приложении смартфона. Возможность считывания карты клиента со смартфона определяется дополнительным параметром группы карт additionalregistration
.
При считывании сканером штрих-кода карты из приложения CardsMobile
данные карты передаются на кассовый сервер по адресу, указанному в параметре additionalRegistrationCardAddress
конфигурационного файла /linuxcash/cash/conf/ncash.ini
в секции [Security.Restrictions]
.
Считанные данные обрабатываются, и с сервера в кассовое ПО возвращается номер карты, после чего карта добавляется в чек. Для обеспечения безопасности при передаче данных на сервер отправляется одноразовый пароль, по истечении срока действия которого карту можно будет добавить в чек только сгенерировав штрих-код повторно.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
additionalRegistrationCardAddress | строковый | Адрес дополнительной регистрации карты клиента | По умолчанию http://localhost:8080/CSrest/rest/cardsmobile/card/ | |
additionalRegistrationCardTimeout | целочисленный | Таймаут ожидания сообщения от сервера при выполнении дополнительной регистрации | По умолчанию 10 секунд |
[Security.Restrictions] ; Параметры, относящиеся к безопасности ... ; Адрес для дополнительной регистрации карты ;additionalRegistrationCardAddress = "http://localhost:8080/CSrest/rest/cardsmobile/card/" ; Таймаут ожидания сообщения от сервера при выполнении дополнительной регистрации (в секундах) ; По умолчанию 10 ;additionalRegistrationCardTimeout = 10 ... |
Префикс группы карт и таймаут действия пароля должны иметь одинаковые значения на сервере и в приложении |
Карта не может быть добавлена в чек, если:
Удаленный ввод карты подразумевает получение данных о карте с кассового сервера. При этом на кассе могут быть введены данные не только основной карты покупателя торговой сети, но и карты партнеров. Поиск карты будет производиться в БД кассового сервера.
При добавлении карты по номеру телефона кассир может использовать различное написание номеров, например:
Для этого необходимо в утилите администрирования Yuki при задании группы карт указать регулярное выражение:
^\+7([0-9]{10})|^7([0-9]{10})|^8([0-9]{10})|(^9[0-9]{9}) |
и правило преобразования:
+7\1\2\3\4 |
При добавлении карты в документ осуществляется ее проверка на корректность номера и допустимость способа ввода.
Поиск карты. Выполняется поиск преобразованного номера карты в Справочниках объектной и традиционной моделей дисконтной системы.
Справочник "Карты" – основной, содержит наиболее полную информацию и используется объектной моделью дисконтной подсистемы.
Справочник "Дисконтные карты" содержит специализированную информацию для совместимости с традиционной моделью дисконтной подсистемы.
Группы карт предназначены для объединения карт со сходными свойствами. Например, если используется один пул карт, но при этом карты делятся на карты покупателей и сотрудников, в справочнике должны присутствовать три группы карт. Маску допустимых номеров карт и способ ввода достаточно указать только для первой группы.
Создание группы карт выполняется с помощью утилиты администрирования Yuki в разделе "Карты и группы".
Карту необходимо привязать к группе карт и задать идентификационный номер для карты.
В кассовом ПО Artix реализована возможность настройки отображения информации о карте после ее добавления. Отображаемая информация регулируется настройками cardInfo
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/gui.ini
в секции [GUI.SelectedPositionInfo]
. Настройки отображения информации о карте задаются параметром cardInfo
<N>
, где <N>
это порядковый номер строки. Максимальное количество отображаемых строк – 5. Подробнее о правилах формирования значений для параметра cardInfo
<N>
можно прочитать в разделе "Правила форматирования".
[GUI.SelectedPositionInfo] ; Параметры отображения информации о веделенной карте. Не более 5 полей ;cardInfo1 = "%(cardRecord.cardNameToDisplay[s])" ;cardInfo2 = "Клиент: %(client.name[-40s])" ;cardInfo3 = "Телефон: %(client.phoneNumber[-40s])" ;cardInfo4 = "Номер: %(cardRecord.number[-40s])" ;cardInfo5 = "Баланс: %(cardRecord.bonusBalance[-40d])" |