Страница 8 из 9
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 01.06.2019 14:19:46
YaroslavSh
alexs писал(а):Это объявление находится в system.pas - вернее в платформенно-зависимых включаемых файлах этого модуля. Должно собираться.
Добрый день. Спасибо за ответ. Наверно что-то я делаю не так. Удалил полностью lazarus с очисткой старых настроек, установил пакеты из сетевого диспетчера пакетов: DCPcrypt, FPSpreadsheet, powerpdf, rx, synapse 40.1, virtualtreeview 5.x, zeosdbo.
Скомпилировались и установились: sbrf_pc.lpk, eg_lib.lpk, alexs_trade_abstract.lpk, а atol_ecr.lpk не компилируется с ошибкой:
atollkkmv10.pas(18,16) Error: Identifier not found "tLibHandle"
atollkkmv10.pas(18,26) Error: Error in type definition
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 01.06.2019 14:40:35
alexs
Затрудняюсь сказать причину - ошибок не вижу.
Настораживает сообщение - почему tLibHandle - там везде TLibHandle
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 01.06.2019 15:46:46
YaroslavSh
alexs писал(а):Затрудняюсь сказать причину - ошибок не вижу.
Настораживает сообщение - почему tLibHandle - там везде TLibHandle
Заново скачал с
https://github.com/lalexs75/ecr там TLibHandle но ошибка та же. На всякий случай закинул пакет по адресу C:\lazarus\ecr-master, русских букв до пакета нет.
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 01.06.2019 17:21:53
alexs
По правилам пакеты в лазаре должны быть в папке components. Я попробую в винде пересобрать - посмотрю, что может быть не так. А пока - попробуй пересобрать в последнем FPC.
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 03.06.2019 11:06:22
alexs
Действительно - в 3.0.4. не собирается.
Поправил - проверь.
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 03.06.2019 22:50:28
YaroslavSh
alexs писал(а):Действительно - в 3.0.4. не собирается.
Поправил - проверь.
Спасибо большое. Скомпилировалось.
При нажатии на любую кнопку в проекте в папке demo TAtollKKMv10 ошибка: cant load procedure "libfptr_create".
Извиняюсь, если отобрал много времени.
upd. fptr10.dll закинул в папку с программой и вроде работает. Хотя, по идее, fptr10.dll должен искаться в папке C:\Program Files\ATOL\Drivers10\KKT\bin
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 04.06.2019 08:25:52
alexs
Там должно грузиться по путям поиска. Добавь папку C:\Program Files\ATOL\Drivers10\KKT\bin в переменную PATH.
В принципе можно сделать попытку поиска дополнительно по этим путям.
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 07.06.2019 00:28:35
YaroslavSh
Добрый день. Подскажите, пожалуйста, если использовать ДТО АТОЛ 8 в delphi 7 то:
Код: Выделить всё
ECR.NewDocument;
ECR.Password:='30';
ECR.Mode:= 0;
ECR.SetMode;
ECR.Caption:='Тестовая строка';
ECR.Alignment:= 1;
ECR.TextWrap:= 1;
ECR.PrintString;
печатается на чеке сразу в русской кодировке. Этот же код в LAZARUS 2.0.2 в UTF8 печатает знаки вопроса. Если поставить кодировку файла UTF8 с BOM то печатаются нормальные русские буквы.
ECR.Caption:=UTF8ToUTF8BOM(''Тестовая строка'); не помогает.
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 07.06.2019 14:28:10
alexs
С кодировками иногда бывает
Попробуй через переменну.
Добавлено спустя 5 часов 13 минут 30 секунд:- Добавил свойство TextParams для форматирование текста при печати нефискализированной строки через метод PrintLine
- Добавил свойство DeviceInfo (пока там только PaperInfo - информация о чековой ленте) - информация о ККМ. Для заполнения свойства вызвать метод QueryDeviceParams;
- Документация
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 10.06.2019 00:39:58
YaroslavSh
alexs писал(а):С кодировками иногда бывает
Попробуй через переменну.
Помог Ваш совет в другой ветке. Спасибо большое.
Код: Выделить всё
var
WS:widestring;
S:string;
begin
S:='Тестовая строка'; //Ну это может как параметр в процедуру быть
WS:=S;
ECR.Caption:=WS;
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 19.12.2019 21:13:03
bsergey
Доброго! У меня остались исходники от старого проекта под версию драйвера 8.16, возможно, заинтересуют, выложил на
https://github.com/burkun-sergey/atol-kkt-service
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 20.02.2020 14:41:41
alexs
Доработка - добавил поодержку работы с кодами маркировки
Прямое заполнение тэга 1162 через новую структуру - GoodsNomenclatureCode
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 28.06.2020 12:26:15
YaroslavSh
alexs писал(а):Доработка - добавил поодержку работы с кодами маркировки
Прямое заполнение тэга 1162 через новую структуру - GoodsNomenclatureCode
Добрый день всем участникам и в частности alexs. Я вижу, что Вы продолжаете дописывать кассовое ПО для АТОЛ. Не реализовывали ли Вы работу с ЕГАИС через свое приложение? Или кто-то может уже сделал продажу алкоголя, подтверждение накладных и т.д.? Начал писать сам, но проблема возникла при отправке запроса idHTTP1.Post, idHTTP1.GET нормально отрабатывает, в инструкции команды приводятся с помощью утилиты curl. Должна быть команда curl -F
''xml_file=@client.xml''
http://localhost:8080/opt/in/QueryPartnerЯ посылаю idHTTP1.Post('http://localhost:8080/opt/in/QueryPartner','client.xml') и возвращается ошибка сервера 500. Что не так может быть?
Чувствую что должно ещё что-то передаваться в параметрах, чтоб idHTTP1 понимал, что xml отправляю.
Нашел такой рабочий вариант, вдруг кому пригодится
Код: Выделить всё
Uses IdMultipartFormData, IdHTTP
procedure TForm22.BitBtn3Click(Sender: TObject);
const
body = '<?xml version="1.0" encoding="UTF-8"?> ' +
'<ns:Documents Version="1.0"' +
' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
' xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01"' +
' xmlns:qp="http://fsrar.ru/WEGAIS/QueryParameters"> ' +
'<ns:Owner>' +
'<ns:FSRAR_ID>020000020000</ns:FSRAR_ID>' +
'</ns:Owner>' +
'<ns:Document>' +
'<ns:QueryResendDoc>' +
'<qp:Parameters>' +
'<qp:Parameter>' +
'<qp:Name>WBREGID</qp:Name>' +
'<qp:Value>TTN-03100000000</qp:Value>' +
'</qp:Parameter>' +
'</qp:Parameters>' +
'</ns:QueryResendDoc>' +
'</ns:Document>' +
'</ns:Documents>';
var
http : TIdHttp;
req : TIdMultiPartFormDataStream;
data : TStream;
ip_port:string;
begin
ip_port:='http://'+inipras.ReadString('Options','fsrarip','')+':'+inipras.ReadString('Options','fsrarport','')+'/';
try
http := TIdHTTP.Create(nil);
try
data := TBytesStream.Create(TEncoding.Utf8.GetBytes(body));
try
req := TIdMultiPartFormDataStream.Create;
try
req.AddFormField('xml_file', 'text/xml', 'utf-8', data, 'QueryResendDoc.xml');
http.Post(ip_port+'opt/in/QueryResendDoc', req);
finally
req.free;
end;
finally
data.Free;
end;
finally
http.Free;
end;
Except
on Exception do Memo1.Lines.Text:= idHTTP1.Response.RawHeaders.GetText ;
end;
end;
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 29.06.2020 16:25:45
alexs
я сейчас работаю с обувью - полёт нормальный
в ближайшее время будут шины и спец одежда
я использую напрямую API - не через json
В приведённом примере
как я понял - передаётся xml файл локальный - а там по путям оно находится?
Re: Библиотека для работы с ККМ АТОЛ
Добавлено: 04.07.2020 11:09:22
YaroslavSh
alexs писал(а):я сейчас работаю с обувью - полёт нормальный
в ближайшее время будут шины и спец одежда
я использую напрямую API - не через json
В приведённом примере
как я понял - передаётся xml файл локальный - а там по путям оно находится?
Да, xml передается, просто техническая документация похоже для телепатов написана, приходится по крупицам искать у уже реализовавших это. Обувь в 2019 году написал, всё в честный знак уходит и списывается.