Примеры использования FIXLEN

Примеры, описанные ниже, применялись в реальных ситуациях, с которыми приходилось сталкиваться дилерам, инженерам компании и т.д.  Рекомендуется всегда использовать последнюю версию FIX_LEN.DLL 


 Пример использования для неперсональных дисконтных карт

Исходные данные: у заказчика от предыдущей системы остались дисконтные карты со следующей записью на второй дорожке:
от 050001 до 059999 - использовались как карты с 5% скидкой. Номера от 1 до 9999
от 100001 до 109999 - использовались как карты с 10% скидкой. Номера от 1 до 9999

Цель :  без установки системы ПДС использовать существующие карты как неперсональные дисконтные

Решение: в приложении "Редактор" необходимо создать две скидки 5% и 10%, в параметрах которых  в поле "Тип магнитной карты" указать 5 и 10 соответственно. Далее прописать в RKEEPER6.INI на рабочей станции:

FIX_LEN_Mask = NN****
FIX_LEN_Card = 1
FIX_LEN_MinLen = 6
FIX_LEN_MaxLen = 6

Заметим, что в данном случае перекодировщик "выделяет" из общего формата не номер карты, а идентификатор скидки (первых две цифры), т.к. понятие "номер карты" для неперсональных дисконтных карт не применимо.
Мы использовали параметр Card = 1, который дает команду преобразовать выделенный номер в формат неперсональной дисконтной карты. Также мы использовали два вспомогательных параметра MinLen и MaxLen для дополнительного контроля обслуживаемых карт - в нашем случае могут обслуживаться карты только с шестизначным номером. Это сделано с той целью, что существующий формат довольно простой и есть вероятность обслуживания "не своих" карт.

Например, на кассе обслуживается карта с номером 053256. Т.к. длина считанного номера соответствует указаному в параметрах MinLen и MaxLen значению (6), происходит перекодировка и преобразоване номера. После чего кассовый сервер получит на вход последовательность, которая соответствует неперсональной дисконтной карте и назначит скидку 5% (т.к. "выделенный" идентификатор скидки 05)


 Пример использования для сети ресторанов с разными корпоративными кодами

Исходные данные: сеть из 4-х ресторанов, в каждом ресторане используются собственные карты (с диапазоном номеров 1.. 9999), причем номера карт в каждом ресторане пересекаются с остальными. Коды ресторанов: 108900001, 122000001, 121950001 и 121950002, т.е. не принадлежат к одной корпорации 

Цель:  создание единой базы данных карт ПДС для возможности принятия всех карт в любом ресторане сети.

Решение:  т.к. каждому ресторану присвоен свой некорпоративный код1, необходимо использовать четыре копии библиотеки FIX_LEN.DLL на каждой кассе. Для этого скопируем библиотеку под разными именами2, например FIX_LEN1.DLL, FIX_LEN2.DLL, FIX_LEN3.DLL и FIX_LEN4.DLL , в директорию EXTENS на кассу.  Т.к. номера карт из разных ресторанов могут пересекаться, необходимо различать их в общей базе - для этого используем параметр AddCode, который добавляет к "выделенному" номеру определенное число.

В результате мы должны прописать в RKEEPER6.INI на каждой кассе:

FIX_LEN1_Mask = 778=108900001=NNNN
FIX_LEN1_AddCode = 100000

FIX_LEN2_Mask = 778=122000001=NNNN
FIX_LEN2_AddCode = 200000

FIX_LEN3_Mask = 778=121950001=NNNN
FIX_LEN3_AddCode = 300000

FIX_LEN4_Mask = 778=121950002=NNNN
FIX_LEN4_AddCode = 400000

либо, при использовании INIFILE.DLL версии 2.0 и выше:

[FIX_LEN1]
Mask = 778=108900001=NNNN
AddCode = 100000

[FIX_LEN2]
Mask = 778=122000001=NNNN
AddCode = 200000

[FIX_LEN3]
Mask = 778=121950001=NNNN
AddCode = 300000

[FIX_LEN4]
Mask = 778=121950002=NNNN
AddCode = 400000

При таких настройках карты должны создаваться в системе ПДС по следующему принципу:

10NNNN - для  карт первого ресторана
20NNNN - для карт второго ресторана
30NNNN - для карт третьего ресторана
40NNNN - для карт четвертого ресторана

где NNNN - реальный номер карты.

Например, есть карты со следующими номерами: 1456 (из первого ресторана), 2874 (из второго), 1456 (из третьего) и 2874 (из четвертого). Тогда эти карты должны быть созданы в системе ПДС со следующими номерами: 101456, 202874, 301456, 402874 соответственно.


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

Исходные данные: сеть из 4-х ресторанов, где первый ресторан имеет код 5214.0001 (код восьмизначный, т.к. кассовая версия более ранняя), остальные рестораны имеют следующие коды: 10889.0001, 10889.0002 и 10889.0004 соответственно. На картах закодирована последовательность: 778=108890000=NNNN3

Цель: возможность использовать карты ПДС в первом ресторане до обновления версии кассовой программы

Решение:  в первом ресторане используем перекодировщик карт FIX_LEN.DLL. На кассовой станции в RKEEPER6.INI прописываем:

FIX_LEN_Mask = 778=108890000=NNNN

 


 

Поддержка международных студенческих карт ISIC

Исходные данные: сеть ресторанов SUBWAY решила принимать карты ISIC и предоставлять по ним скидку.  Формат карты ISIC следующий (информация со второй дорожки): 123 456 789 012 234 (пробелы указаны для удобства чтения), где первые 12 цифр - номер карты, последние три цифры - проверочные. При этом первые шесть цифр номера представляют префикс номера, который определяет принадлежность карты к стране (для России используются следующие префиксы: 207218, 207220, 207222, 207500, 207501, 207900)

Цель: использовать российские карты ISIC как дисконтные.

Решение: т.к. кол-во международных карты ISIC очень велико, было принято решение использовать их как неперсональные дисконтные, т.е. без привязки к какому либо номеру карты. Для этого прописываем в RKEEPER6.INI на кассовой станции:

FIX_LEN_Mask = 207NN**********  (в маске всего 15 символов, из которых последние 10 -  символ "*" {звездочка})
FIX_LEN_Card = 1 

Указанная маска позволяет ограничить обслуживание только тех карт, которые начинаются с цифры 207 (т.е. российских карт). Следующие две цифры после 207 мы будем использовать для "выделения" идентификатора скидки (тип магнитной карты). Т.к. в префиксах для российских карт после 207 следуют разные цифры (21, 22, 50 и 90), то необходимо в приложении "Редактор" создать четыре скидки с одинаковым названием и величиной скидки, но указать разные типы магнитных карт - 21, 22, 50 и 90

 


 

 1 - перекодировщик карт FIX_LEN следует использовать только в том случае, если коды ресторанов имеют разный код корпорации (первых пять цифр общего кода ресторана). Если ресторанам изначально присваивался одинаковый корпоративный код, то необходимо воспользоваться библиотекой ALLREST.DLL

2 - при переименовывании файлов в системе DOS следует помнить, что максимальная длина имени файла - восемь символов.

3 - формат для магнитных карт 778=CCCCC0000=NNNN ( CCCCC - код корпорации, далее четыре нуля ) прописывается в том случае, если карты планируется использовать в сети ресторанов с одинаковым кодом корпорации (первые пять цифр в общем коде ресторана)

Добавить комментарий


Защитный код
Обновить

joomla