Настройка 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=». Если перед номером записано что-то другое - алгоритм нужно изменить под свои цели.