|
Таймаут для Метода ОЛЕ | ☑ | ||
---|---|---|---|---|
0
ugorchina
10.05.21
✎
11:18
|
Всем привет!
вылезла проблема при работе с терминалом (вернее драйвером) в общем у драйвера есть метод ПроверитьУн(СтруктураОтвет.УНТерминал,СуммаОплаты) я посылаю данный метод для того что бы терминал ответил мне кодом либо успех либо ошибка очень часто стала появляться проблема при выполнении данного метода я попросту на нем зависаю и жду вечность и ничего не происходит ( обращался я к разработчику этого драйвера но он просит денег за доработку в нем логирования и т д в общем суть такова можно ли как то выполнять метод и ожидать от него ответа скажем в течении трех секунд? |
|||
1
Cyberhawk
10.05.21
✎
12:19
|
Может быть через ФЗ?
|
|||
2
ugorchina
10.05.21
✎
12:34
|
Что есть ФЗ?
|
|||
3
Cyberhawk
10.05.21
✎
15:39
|
||||
4
80ksa
10.05.21
✎
16:53
|
(0)
1. Как понимаю это терминал оплаты от какого-то банка. Странно, что логирования нет. Хотя бы могла быть функция типа "проверка связи". 2. Все таки если терминал банка, что он ломится на свои сервера, проверяйте интернет и логи маршрутизатора. В настройках терминала должны быть прописаны эти сервера. Если терминал работает из 1с(интеграция), то должны быть конфигурационные файлы, либо в самом терминале, найдите инструкцию, может кто выложил. У меня была проблема с задержкой при печати чека ККМ на кассе, чек сначала начинал вылазить, потом останавливался , потом завершался. Оказалось нет доступа к сервера АТОЛ , к личному кабинету или что-то еще. Т.е. на ОФД был доступ, а на другое он все выжила таймаут. |
|||
5
ugorchina
10.05.21
✎
17:20
|
по УДП нет возможности проверить вязь хоть и производ. предпалаег очто ответ от терминала не более6 секунд более считать что связи нет
а бибилу под него пил программер из ??? орг. вот и в библе нет ни логирования ни проверки связи ( |
|||
6
80ksa
12.05.21
✎
09:11
|
(5) Хм. Не все слова разобрал. Я так понял, раз этот терминал подключен к 1С, значит это интеграция. В принципе можно отладчиком дойти до отправки команд в терминал через DLL и еще нужно вспомнить какая DLL отвечает в 1С за терминалы оплаты, она тоже возможно ведет лог в папке пользователя. я не работал с терминалами так плотно, но по ккм которые подключаются через Подключаемое оборудование -да. находил лог чисто производителя ККМ - в папке пользователя ОС.
есть еще описание на ИТС какие методы должны использовать DLL и терминал. Терминал то подключается в Подключаемом оборудовании стандартным списком драйверов или подгружаете свой (Загрузить драйвер)? |
|||
7
80ksa
12.05.21
✎
09:14
|
вот например здесь C:\Users\myuser\AppData\Roaming\1C\1cv8\ExtCompT у меня лежит библиотека производителя ККМ. файл DKViki_1C8_1.4.2.6_Win32.dll
а здесь - логи производителя ККМ C:\Users\myuser\Documents\Dreamkas\1C |
|||
8
Garykom
гуру
12.05.21
✎
09:20
|
||||
9
ugorchina
12.05.21
✎
09:21
|
(6) за выходные на шарпе набросал свой драйвер с логами и прочем!
теперь все работает и делает логи ) Думал будет сложно оказалось нет! в итоге два удп клиента в бибилотеке + 1 тсп слушатель 1.удп клиент шлет пакеты терминалу и второй всегда слушает порт и принимает ответы тсп же ждет от терминала пакеты с чеком |
|||
10
Garykom
гуру
12.05.21
✎
09:23
|
(7) какой то у тебя старый драйвер, смотри новый есть в (8)
|
|||
11
Garykom
гуру
12.05.21
✎
09:24
|
(9) юморист ты бы хоть модель железки сказал
|
|||
12
ugorchina
12.05.21
✎
09:32
|
(11) YARUS P2100 с прошивкой Платтон 1,0
|
|||
13
ugorchina
12.05.21
✎
09:33
|
И Aisino V37
|
|||
14
ugorchina
12.05.21
✎
09:37
|
драйвер который мне продали самописный местной конторой которая у нас держит обслуживание касс и терминалов
у них этот драйвер (да какой он драйвер) библиотека обычная с КОМ не имеет в себе ни логов ни даже проверки связи хотя производитель прошивки дал мне руководство разработчика и там описан метод как проверить есть ли соединение или нет Вот вырезка Окончательное заключение об отсутствии связи с терминалом можно делать после 5-6 циклов (См. П.2.2.). При этом, в качестве корректного ответа можно принимать только пакет, содержащий в заголовке текущее значение циклического счетчика. Прочие пакеты должны игнорироваться, т.к. в сети может меняться их порядок – более ранний (неактуальный) ответ придет позже. Предложенный алгоритм полностью компенсирует сетевые аномалии, вызывающие потери пакетов и рекомендуется для любых UDP-based систем. а вот и сам П.2.2. 2.2. Алгоритм функции информационного обмена с терминалом по протоколу UDP. Была инициирована финансовая операция UN. Ответ от терминала «UN – В ПРОЦЕССЕ» может быть получен, либо пропущен – НЕ ВАЖНО. Дальнейший информационный обмен от этого НЕ ЗАВИСИТ. ПО кассы: 1. Наращивает счетчик команд и посылает запрос статуса текущей команды (UN). 1.1. Ответ получен – «В ПРОЦЕССЕ»; тайм-аут 0,3 – 1 с.; переход к п.1. 1.2. Ответ получен – «ВЫПОЛНЕНО»; Статус операции в state machine «ВЫПОЛНЕНО»; выход. 1.3. Ответ не получен; тайм-аут 0,3 – 1 с. 1.3.1. Количество повторов меньше 5 – переход к п.1. 1.3.2. Количество повторов равно 5 – переход к п.2. 2. Модальное окно кассиру «ПРОВЕРЬТЕ ПОДКЛЮЧЕНИЕ ТЕРМИНАЛА». 2.1. Окно появилось 3-й раз подряд: добавить кнопку «ОТМЕНИТЬ ОПЕРАЦИЮ». 2.1.1. Выбрано «ВВОД/ПРОДОЛЖИТЬ»; тайм-аут 0,3 – 1 с.; переход к п.1. 2.1.2. Выбрано «ОТМЕНИТЬ ОПЕРАЦИЮ» - Статус операции в state machine не меняется; выход. Кассир должен быть проинструктирован относительно действий при появлении модального окна: перезагрузить терминал, проверить подключение Ethernet-кабеля. Если кассир выбрал отмену текущей операции, следует по восстановлению связи убедиться, что терминал не успел получить ответ от банка. Если успел – отменить операцию командой «ОТМЕНА». ВНИМАНИЕ! Категорически не рекомендуется в ПО контроллера (в драйвере) использовать тайм-ауты выполнения оплаты по банковской карточке, по истечении которых считается, что оплата не выполнена. |
|||
15
ugorchina
12.05.21
✎
09:41
|
на шарпе библа получилась буквально в строк пятьдесят )
более того их библиотека возвращала мне результат и код ошибки в виде -1 ошибка бла бла ни каких знаков что бы отделить код ошибки от ее описания ( а при тестах выяснил следующее когда я начинаю пробивать оплату по пл карте ка ктолько приложил карту выдергиваю шнул Лан из порта в этот моент получаю зависание на их методе и все ( а он должен был действовать по пункту П.2.2. и вернут ьмне ошибку о потере связи чего не происходит я обратился к ним они типа давай плати бабосы и мы сделаем ) я говорю сделацте хотя бы логи опять плати и сделаем нафиг надо я сам сделал свою ) и не буду парится тепреь ) |
|||
16
80ksa
17.05.21
✎
09:21
|
(15) ну даже не знаю что добавить, хорошо, что нашлось решение.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |