Начиная с версии 4.6.128 реализована возможность изменения заголовка и текста диалогового окна для ввода карты.

Начиная с версии 4.6.239 реализована возможность ограничения для добавления карты по способу ввода в зависимости от роли пользователя. 


Ввод карты выполняется в режиме формирования товарной части документа (добавления товаров), а также в режиме оплаты документа. Вводить карту лояльности можно только при отсутствии оплат в чеке.

Чтобы идентифицировать покупателя и предоставить скидку, необходимо добавить карту в чек. Добавление карты осуществляется путем ввода номера карты при формировании товарной части чека, либо в режиме подытога.

Способы добавления карты

Ввод данных карты в режиме формирования товарной части документа можно осуществлять следующими способами:

Аналогично работает ввод данных карты в режимах:

Ввод карты в режиме формирования товарной части чека осуществляется путем распознавания данных карты при считывании данных или по кнопке "Добавить карту" с командой COMMAND_CARD. О настройке действий подробнее можно прочитать в разделе "Настройка действий".  

Для выбора способа ввода карты действию "Добавить карту" присваивается параметр cardNumberType, который может принимать следующие значения:

При необходимости изменения заголовка диалога ввода номера карты нужно задать параметр dialogtitle для команды COMMAND_CARD. Чтобы изменить текст сообщения диалога ввода номера карты нужно указать параметр dialogmessage.

Ввод карты в режиме подытога осуществляется только по кнопке "Добавить карту". После появления диалога "Введите номер карты" карту можно ввести любым способом из описанных выше.

Начиная с версии 4.6.130 добавлена возможность отображения ФИО клиента вместо наименования группы карт при добавлении карты в чек.

При необходимости можно настроить отображение ФИО клиента вместо наименования группы карт. Настройка осуществляется параметром cardNameToDisplay в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [Card]:

НаименованиеТип данныхОписаниеПримечания

cardNameToDisplay

строковый

Наименование карты для отображения при отсутствии клиента

По умолчанию "Без регистрации"


[Card]
...
; Наименование карты для отображения при отсутствии клиента 
;cardNameToDisplay  = "Без регистрации"


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

Если при добавлении карты покупателя произошла ошибка выполнения 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 с параметрами:

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

Ввод карты с помощью сервиса 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.

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

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

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

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

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

Для этого необходимо в утилите администрирования 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])"