Библиотека для работы с ККМ АТОЛ

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Re: Библиотека для работы с ККМ АТОЛ

Сообщение AnacRon » 15.06.2016 13:43:23

alexs писал(а):Не в винде нужен аналог. Что предложишь?

Не в винде работатет предложенный вариант в компоненте.
Код: Выделить всё
    {$IFDEF WINDOWS}
    ...
    {$ELSE}
    S:=UTF8ToDos(ALine);
    {$ENDIF}


Добавлено спустя 2 часа 57 минут 37 секунд:
alexs писал(а):да кстати, а функцию то тестировал?

При тестах обнаружил ошибки. При печати больших текстов некоторые символы в определенных буквосочетаниях конвертировались с ошибкой. Функцию "творчески" переделал. И постановка UTF8ToWinCP() была не правильной.
Код: Выделить всё
function UTF8ToCP866KazKKM(const FSrcString:string):string;
var
  FSymbol: String;
  i, L: Integer;
  P: PChar;
  FDst: PChar;
begin
  Result:='';
  i:=1;
  while i<=Length(FSrcString) do
  begin
    P:=@FSrcString[i];
    L:=UTF8CharacterLength(P);
    FSymbol:=Copy(FSrcString, i, L);
    i:=i+l;
    if FSymbol='ә' then
     Result:=Result + #177
    else
    if FSymbol='і' then
      Result:=Result + #105
    else
    if FSymbol= 'ң' then
      Result:=Result + #241
    else
    if FSymbol= 'ғ' then
      Result:=Result + #220
    else
    if FSymbol= 'ү' then
      Result:=Result + #248
    else
    if FSymbol= 'ұ' then
      Result:=Result + #246
    else
    if FSymbol= 'қ' then
      Result:=Result + #223
    else
    if FSymbol= 'ө' then
      Result:=Result + #244
    else
    if FSymbol= 'һ' then
      Result:=Result + #254
    else
    if FSymbol= 'Ә' then
      Result:=Result + #176
    else
    if FSymbol= 'І' then
      Result:=Result + #73
    else
    if FSymbol= 'Ң' then
      Result:=Result + #240
    else
    if FSymbol= 'Ғ' then
      Result:=Result + #219
    else
    if FSymbol= 'Ү' then
      Result:=Result + #247
    else
    if FSymbol= 'Ұ' then
      Result:=Result + #245
    else
    if FSymbol= 'Қ' then
      Result:=Result + #222
    else
    if FSymbol= 'Ө' then
      Result:=Result + #243
    else
    if FSymbol= 'Һ' then
      Result:=Result + #253
    else
    begin
      FSymbol := UTF8ToWinCP(FSymbol);
      FDst := AllocMem((Length(FSymbol) + 1) * SizeOf(Char));
      if CharToOEM(PChar(FSymbol), FDst) then
        Result := Result + StrPas(FDst);
      FreeMem(FDst);
    end;
  end;
  SetCodePage(RawByteString(Result), CP_OEMCP, False);
end;


П.С.: Сам не программист и это только хобби. По этому любую критику готов принять.
Вложения
2016-06-15 15-11-26.JPG
Аватара пользователя
AnacRon
новенький
 
Сообщения: 47
Зарегистрирован: 16.12.2009 11:09:09
Откуда: Караганда

Re: Библиотека для работы с ККМ АТОЛ

Сообщение alexs » 31.01.2017 00:35:37

В связи с новым законом - кто либо уже разбирался с новой версией протокола (АТОЛ 3.0)?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Библиотека для работы с ККМ АТОЛ

Сообщение warlomak » 07.03.2017 15:04:06

да ничего там толком не поменялось, за исключением отправки налоговой системы, все данные в ОФД отправляет сторонняя утилита, работает как под linux там и под win.
warlomak
незнакомец
 
Сообщения: 3
Зарегистрирован: 24.10.2016 08:21:58

Re: Библиотека для работы с ККМ АТОЛ

Сообщение alexs » 09.03.2017 09:11:21

Там изменился протокол взаимодействия (низкий уровень) между ККМ и ПК.
На уровне COM-объекта методы остались прежними.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Библиотека для работы с ККМ АТОЛ

Сообщение alexkam » 21.04.2017 13:30:22

Можно ли протестировать драйвер без кассы? Есть ли эмулятор кассы АТОЛ?
Как протестировать отправку чека клиенту, согласно ФЗ-54?
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: Библиотека для работы с ККМ АТОЛ

Сообщение alexs » 21.04.2017 14:07:01

1. Нет
2. Нет.
3. Есть ФН тестовый, который в ОФД тестовыми площадками работает.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Библиотека для работы с ККМ АТОЛ

Сообщение alexkam » 27.09.2017 15:19:39

Есть возможность интеграции с кассами согласно ФЗ-54?
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: Библиотека для работы с ККМ АТОЛ

Сообщение rustemg » 14.12.2017 17:53:44

Кому то удалось реализовать поддержку "Протокола ККТ 3.1" беря за основу эту библиотеку или перевести файл заголовков ifptr.h которая идет в поставке Атол9 на лазарус? Придется сделать через утилиту печати чеков на С++ и через параметры ком.строки и вызывать его в лазарусе.
rustemg
незнакомец
 
Сообщения: 3
Зарегистрирован: 05.12.2017 14:59:46

Re: Библиотека для работы с ККМ АТОЛ

Сообщение alexs » 14.12.2017 22:47:08

attid доработал. У меня пока времени на это нет.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Библиотека для работы с ККМ АТОЛ

Сообщение alexs » 27.12.2017 10:02:33

Если кому интересно
В состав исходников библиотеки включеным модули для работы с терминалами пластиковых карт.
Сейчас есть 3 компонент
- работа с пластиком от Газпромбанка
- пластик Сбербанка через COM-объект (только винда)
- пластик Сбербанка через утилиту sb_pilot (linux + win) - это допиливается - пока ещё экспериментально. Там есть небольшие тонкости - но под линуксом практически всё работает.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Библиотека для работы с ККМ АТОЛ

Сообщение rustemg » 29.12.2017 09:08:56

Алекс, выложили исходники по ККМ АТОЛ ФЗ-54 lazarus?
sb_pilot (linux + win) итересен.
rustemg
незнакомец
 
Сообщения: 3
Зарегистрирован: 05.12.2017 14:59:46

Re: Библиотека для работы с ККМ АТОЛ

Сообщение alexs » 29.12.2017 09:42:20

https://svn.shamangrad.ru/ecr_atol/trunk

Добавлено спустя 23 минуты 18 секунд:
Положил в исходники пример работы

Добавлено спустя 37 секунд:
Там только базис. Всякие бонусные программы не делал (сам не использую)
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Библиотека для работы с ККМ АТОЛ

Сообщение alexkam » 07.04.2018 09:16:14

Как передать e-mail из программы в чек на кассу?
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: Библиотека для работы с ККМ АТОЛ

Сообщение dbs » 06.06.2018 15:20:59

Не удается настроить подключение онлайн-кассы в демонстрационной программе, идущей вместе с компонентом. После выбора порта получаю "Нет связи с принтером чеков.".
При этом в самом драйвере АТОЛА подключение по этому же порту устанавливается.
Lazarus 1.8.2 FPC 3.0.4 Windows 10 x64, АТОЛ 55Ф USB (2 виртуальных COM).
Подскажите, что я делаю не верно!?
dbs
незнакомец
 
Сообщения: 2
Зарегистрирован: 02.01.2016 19:13:07

Re: Библиотека для работы с ККМ АТОЛ

Сообщение dpetinov » 12.06.2018 07:59:48

Какая версия протокола реализована в транке? 3.0 или 3.1 ?
dpetinov
незнакомец
 
Сообщения: 8
Зарегистрирован: 14.11.2016 15:45:16

Пред.След.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 2

Рейтинг@Mail.ru