powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Маркировка лекарственных средств
10 сообщений из 85, страница 4 из 4
Маркировка лекарственных средств
    #39882950
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, возникла новая проблема.
Delphi Rest Client оказываетеся доступен только с поздних версий, что вызывает сильную проблему, так как проект у меня в Delphi 2007
и там установлена куча компонентов начала 2000-х, которые под эту IDE то еле нашел в свое время, когда восстанавливал этот проект.
А под новые версии их точно нет
Так что теперь возникла такая вот дилемма:
1. Оставаться на Delphi 2007 и:
1.1. Пробовать решить через стандартные Indy (обновил до 10.5.5) или
1.2. Скачать какой то сторонний Delphi Rest под эту версию
Первое пробовал вчера целый день, решал кучу проблем, в конце концов вылазит окно как на скрине
Покапавшись в этой теме (почему то окрывается только в кэше гугла), не могу побороть

https://webcache.googleusercontent.com/search?q=cache:w2bwm1DGfHIJ:https://www.sql.ru/forum/1270559/indy-ssl-ne-ponimaet-ecdhe-ecdsa-x25519 &cd=2&hl=ru&ct=clnk&gl=ru

https://webcache.googleusercontent.com/search?q=cache:5DqhlC3n15kJ:https://www.sql.ru/forum/1270559-2/indy-ssl-ne-ponimaet-ecdhe-ecdsa-x25519 &cd=1&hl=ru&ct=clnk&gl=ru

Похоже нерешаемая проблема и даже самые последние перед смертью версии Indy не могут работать с последними версиями SSL?

Со сторонним Rest Clientтоже не срослось. Нашел вот такой
https://github.com/fabriciocolombo/delphi-rest-client-api
Но как назло у него нет версии под D2007, только D7 или D2010

2. Полностью апгрейдиться до версий Delphi, где есть встроенный Delphi Rest Client. Правда придется не только кучу компонентов устанавливать но и как то решать вопрос с теми, которые уже не могут быть установлены, то есть править придется очень много

Какой путь посоветуете выбрать? По уму бы № 2, но боюсь, что увязну в портации проекта и на саму маркировку тупо не хватит времени. Если 1.1, то похоже путь в никуда, стандартными indy это не решить?
Остается небольшая надежда на 1.2 - может есть какая то возможность установить dpk для D7 или D2010 в D2007? У меня не получилось. Или еще какой-нибудь сторонний Delphi Rest Client, который можно поставить на Delphi 2007?
...
Рейтинг: 0 / 0
Маркировка лекарственных средств
    #39883137
ooodimitriusooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
REST клиент не обязателен
Можно и через INDY

Не забывай использовать DLL - OpenSSL

PS: Ты случаем не в "песке"? Там есть небольшая засада с тестовым сертификатам. Я не сильно пытался решить данный вопрос, просто пустил "песок" через прокси.
...
Рейтинг: 0 / 0
Маркировка лекарственных средств
    #39883290
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через indy как раз не работает у меня. Таки смог вроде поставить вот этот https://github.com/fabriciocolombo/delphi-rest-client-api
Пока бьюсь с ним. Так до отправки по SSL даже не дошел, другие проблемы решаю. Так что даже не в песке пока, все пытаюсь отправить на тестовый стенд по https
...
Рейтинг: 0 / 0
Маркировка лекарственных средств
    #39885883
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Продолжение марлезонского балета. Из клиентов остановился на synapse, вроде наладил работу с http, но с https возникла затычка
Выдает внутреннюю ошибку сервера (500), в result получаю целиком body, которое отправляю в ЧЗ
Как думаете, в чем может быть загвоздка? Код:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
var
  AURL, APOSTData: string;
  APOSTData2: TStringList;
  httpsend: THTTPSend;
  stream:tstringstream;
  result:TStringList;
begin
  AURL := 'https://api.stage.mdlp.crpt.ru/api/v1/documents/send';
  APOSTData2 := TStringList.create;
  APOSTData2.LoadFromFile('C:\doc.txt');
  stream:=TStringStream.Create('');
  APOSTData2.SaveToStream(stream);

  httpsend:=THTTPSend.Create;
  httpsend.MimeType:='application/json';
  httpsend.Headers.Add('Authorization: token 5607d0e8-c76c-4f0a-a6e7-f30f03f26e7b');
  httpsend.Document.LoadFromStream(stream);

  try
    httpsend.HTTPMethod('post', AURL);
    result := TStringList.Create;
    result.LoadFromStream(httpsend.Document);
  finally
    showmessage(inttostr(httpsend.ResultCode));
    result.SaveToFile('C:\mark2.txt');
  end;
...
Рейтинг: 0 / 0
Маркировка лекарственных средств
    #39885949
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010
Через indy как раз не работает у меня. Таки смог вроде поставить вот этот https://github.com/fabriciocolombo/delphi-rest-client-api
Пока бьюсь с ним. Так до отправки по SSL даже не дошел, другие проблемы решаю. Так что даже не в песке пока, все пытаюсь отправить на тестовый стенд по https
Для ИНДИ надо подбирать правильные SSL DLL. Их много версий.

тут
https://indy.fulgan.com/SSL/
...
Рейтинг: 0 / 0
Маркировка лекарственных средств
    #39885968
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не, indy не катит скорее всего, уже намучался с ним. Путем подбора этих dll выяснил что у меня с indy 10.6 работает почему то dll с версией ниже 1.0.0
И тоже не работает, выдает ошибку 400
Может конечно дело в самом сервере, на других не проверял
...
Рейтинг: 0 / 0
Маркировка лекарственных средств
    #39885983
sql2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010
Продолжение марлезонского балета. Из клиентов остановился на synapse, вроде наладил работу с http, но с https возникла затычка
Выдает внутреннюю ошибку сервера (500), в result получаю целиком body, которое отправляю в ЧЗ
Как думаете, в чем может быть загвоздка? Код:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
var
  AURL, APOSTData: string;
  APOSTData2: TStringList;
  httpsend: THTTPSend;
  stream:tstringstream;
  result:TStringList;
begin
  AURL := 'https://api.stage.mdlp.crpt.ru/api/v1/documents/send';
  APOSTData2 := TStringList.create;
  APOSTData2.LoadFromFile('C:\doc.txt');
  stream:=TStringStream.Create('');
  APOSTData2.SaveToStream(stream);

  httpsend:=THTTPSend.Create;
  httpsend.MimeType:='application/json';
  httpsend.Headers.Add('Authorization: token 5607d0e8-c76c-4f0a-a6e7-f30f03f26e7b');
  httpsend.Document.LoadFromStream(stream);

  try
    httpsend.HTTPMethod('post', AURL);
    result := TStringList.Create;
    result.LoadFromStream(httpsend.Document);
  finally
    showmessage(inttostr(httpsend.ResultCode));
    result.SaveToFile('C:\mark2.txt');
  end;




Delphi Rest Client + SSL
...
Рейтинг: 0 / 0
Маркировка лекарственных средств
    #39887603
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наконец удалось отправить тестовый док по https в песочнице. V.Borzov и кто работает с МДЛП подскажите пожалуйста дальше:
1. Как вы реализуете программно подписание дока сертификатом? Работаете напрямую с Crypto Pro или запускаете bat-ник как в примере ЧЗ?
авторcsptest -sfsign -sign -in <УКАЗАТЬ ПОЛНЫЙ ПУТЬ К ФАЙЛУ>doc.txt -out <УКАЗАТЬ ПОЛНЫЙ ПУТЬ К ФАЙЛУ>signed_doc.txt -my "АО Фурацилин" -detached -base64 –add
Какими инструментами это можно реализовать в Delphi (2007)?

2. Как делаете вот это
авторПеревести тело документа в Base64

Для примера я естественно взял пример из инструкции как выглядит doc.xml в Base64
авторPGRvY3VtZW50cyB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB2ZXJzaW9uPSIxLjE5Ij48cmVnaXN0ZXJfZW5kX3BhY2tpbmcgYWN0aW9uX2lkPSIzMTEiPjxzdWJqZWN0X2lkPjAwMDAwMDAwMDAwNTE3PC9zdWJqZWN0X2lkPg==


Но каков алгоритм перевода, где можно почитать? В доках ЧЗ не нашел объяснение, а на форуме меня пока не авторизовали (что само по себе капец, что там надо еще авторизоваться!). Хотя может и не капец. Когда внедряли онлайн-кассы на форуме штрих-м меня тоже так и не авторизовали, несмотря на неоднократные запросы
...
Рейтинг: 0 / 0
Маркировка лекарственных средств
    #39898900
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al

Вас интересует только POS место.Место продажи.
Там присоединяется сканер.
Надо доработать кассовое ПО ,-чтоб оно принимало qr код и посылала его в аппарат.(вместе с остальгыми реквезитами ...наименования цена количество и т.д_
И Всё....


до того как продавать, надо оприходовать
мне недавно озвучили, что при наличии у организации регистратора выбытия приходование через api mdlp не будет доступно,
и его (приходование) надо будет делать через интерфейс регистратора выбытия
...
Рейтинг: 0 / 0
Маркировка лекарственных средств
    #39898927
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
genok,
регистратора выбытия приходование

регистратора выбытия приходование Это не фискальный регистратор...
Это типа ТСД(Терминал сбора данных)
это для мед.заведений,что не продают,а лекарства закупают...не для аптек ..(или же аптек,но оформить списание по порче и т.д )
И этот ТСД и впрям работает по api.
А фискальник спокойно продаст то чего нет на балансе.
...
Рейтинг: 0 / 0
10 сообщений из 85, страница 4 из 4
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Маркировка лекарственных средств
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]