| 
    
            
         
         | 
    
  | 
Таймаут для Метода ОЛЕ | ☑ | ||
|---|---|---|---|---|
| 
    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) ну даже не знаю что добавить, хорошо, что нашлось решение.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |