external:pro_bonus:98_dop:mcr_zero

Настройка MCR для карт с незначащими нулями

Пример ситуации:
В админке ProBonus уже заведена тысяча карт с номерами 1 … 1000.
При этом физически карты изготовили, зашив на магнитной полосе нумерацию 778=123450001=000001 … 778=123450001=001000

Для Probonus номер карты это не число, а строка. Т. е. карты с номером 1 и с номером 000001 по умолчанию это разные карты.
Чтобы из r_keeper в данном примере в ProBonus уходил номер карты без ведущих нулей, можно использовать MCR-алгоритм вида:

function MCR1001976(DeviceSignal: Integer; DeviceIdent: Integer; var Parameter: String): Boolean;                                        
begin

  if pos('778=123450001=', Parameter) = 1 then begin
    delete(Parameter, 1, 14);
    while Parameter[1] = '0' do Delete(Parameter,1,1);
  Result := True;
  end;
end;

Алгоритм - это пример для случая, когда на карте записано перед номером карты «778=123450001=». Если перед номером записано что-то другое - алгоритм нужно изменить под свои цели.

  • external/pro_bonus/98_dop/mcr_zero.txt
  • Последнее изменение: 2024/03/15 13:15
  • Алексей Коробов