Начиная с версии 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  = "Без регистрации"

Применение настройки cardNameToDisplay возможно для всех карт, включая карты систем лояльности, кроме дисконтных.

Если при добавлении карты покупателя произошла ошибка выполнения SQL запроса, то на экран будет выведена соответствующая ошибка:

  • если карта не найдена – "Карта не найдена. Ошибка выполнения SQL запроса",
  • если клиент не найден – "Клиент не найден. Ошибка выполнения SQL запроса".

В таком случае необходимо восстановить базу данных любым из способов. Подробнее об этом в разделе "База данных" подраздел "Восстановление базы данных".

Ограничения для способов добавления карты пользователем

В кассовом ПО Artix реализована возможность установить ограничения для добавления карты по способу ввода в зависимости от роли пользователя. Для этого необходимо:

  1. Активировать плагин проверки ограничений в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/restrictions.ini в секции [plugins] с помощью параметра restrictions.

    НаименованиеТип данныхВозможные значенияОписание
    restrictionsстроковый
    • on
    • off
    Активация плагина проверки ограничений
  2. В конфигурационном файле /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 – код валюты терминала.

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

Ввод карты с помощью сервиса CardsMobile

Кассовое ПО 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
...

Префикс группы карт и таймаут действия пароля должны иметь одинаковые значения на сервере и в приложении CardsMobile.

Карта не может быть добавлена в чек, если:

  • указан неверный префикс или пароль, срок действия пароля истек или связь с сервером отсутствует. В этом случае на экран будет выведено сообщение о том, что карта не прошла верификацию;
  • карта не обнаружена в БД кассы или бонусного сервера. В этом случае на экран будет выведено сообщение о том, что карта не найдена.

Удаленный ввод карты

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

Задание правил преобразования номеров карт

При добавлении карты по номеру телефона кассир может использовать различное написание номеров, например:

  • +791234567890
  • 791234567890
  • 891234567890
  • 91234567890

Для этого необходимо в утилите администрирования Yuki при задании группы карт указать регулярное выражение:

^\+7([0-9]{10})|^7([0-9]{10})|^8([0-9]{10})|(^9[0-9]{9})

и правило преобразования:

+7\1\2\3\4

Проверки при добавлении карты

При добавлении карты в документ осуществляется ее проверка на корректность номера и допустимость способа ввода. 

  1. Поиск группы карт. Выбор группы карт осуществляется путем сравнения номера введенной карты и маски номеров карт. Происходит перебор группы карт, номер карты сравнивается с маской номеров карт каждой группы до тех пор, пока не будет обнаружено соответствие. 
  2. Проверка на допустимость. Для группы карт осуществляется проверка допустимости способа ввода, который был применен. Например, если кассир добавляет карту в документ вручную, а разрешен ввод только с ридера, то карта не будет добавлена, на экран будет выведено предупреждение.
  3. Преобразование номера карты. К номеру введенной карты применяется правило преобразования для получения номера карты, хранящегося в справочниках (номер на карте и номер в справочниках не всегда совпадают).
  4. Поиск карты. Выполняется поиск преобразованного номера карты в Справочниках объектной и традиционной моделей дисконтной системы.


    Справочник "Карты" – основной, содержит наиболее полную информацию и используется объектной моделью дисконтной подсистемы.
    Справочник "Дисконтные карты" содержит специализированную информацию для совместимости с традиционной моделью дисконтной подсистемы.

  5. Поведение при обнаружении карты. Карта привязывается к группе, указанной в справочнике карт (может отличаться от группы из п.1). Если в карте группа не задана, то используется группа карт из п.1.
  6. Поведение при отсутствии карты. В случае, если используется система лояльности или отсутствует необходимость использовать параметры клиента для предоставления скидки, то карта может отсутствовать в справочнике. Возможность запретить или разрешить добавление карты при отсутствии информации о ней в базе данных задается для группы карт.

Группы карт

Группы карт предназначены для объединения карт со сходными свойствами. Например, если используется один пул карт, но при этом карты делятся на карты покупателей и сотрудников, в справочнике должны присутствовать три группы карт. Маску допустимых номеров карт и способ ввода достаточно указать только для первой группы.

Создание группы карт выполняется с помощью утилиты администрирования 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])"
  • No labels