![]() |
|
SBRF.dll | ☑ | ||
---|---|---|---|---|
0
OpKc
29.05.12
✎
10:48
|
Доброго времени суток!
Есть ПК, есть подключённый к ПК терминал VeriFone Omni 5150, связь присутствует (программа для конфига терминал видит). Пытаюсь реализовать в 1С обращение к методам библиотеки SBRF.dll, в частности, получение информации о карте. Изначальное состояние: на экране окно 1С с кнопочкой, на которую повешен вызов нужного мне метода библиотеки. На терминале приглашение "Вставьте карту" (насколько я понял, он настроен на автономный режим, как его перестроить - не знаю. Возможно, в этом корень всех зол). 1) При вызове соответствующего метода библиотеки на экране получаю приглашение "Вставьте карту", а на терминале ничего не меняется (висит всё то же приглашение). 2) Прокатываю карту через ридер. На экране ничего не меняется, на терминале появляется меню выбора операции (оплата. возврат и т.п.). Насколько я понимаю, есть какая-то проблема со связью или настройками терминала или ПО. Есть идеи? |
|||
1
OpKc
29.05.12
✎
11:15
|
up
|
|||
2
Vladal
29.05.12
✎
11:16
|
В документации к аппарату что написано?
Какие есть примеры на Сях и других языках? |
|||
3
OpKc
29.05.12
✎
11:48
|
(2) в документации есть лишь описание методов библиотеки и их параметров. Вот общая методика:
1 Необходимо создать объект c ProgId SBRFSRV.Server 1.1 Вызвать функцию SParam для каждого входного параметра и задать необходимые входные значения. 1.2. Вызвать функцию Nfun с нужным номером функции. 1.3. Проанализировать код ошибки. 1.4. Вызвать функцию GParam для нужных выходных параметров и получить выходные значения. 1.5. Вызвать функцию Clear. Вот пример на VB6 (из мануала): Private Sub OldReport_Click() Dim Cheque Dim MyServ As Object Dim TransRes As Long Set MyServ = New Server ChequeList.Clear TransRes = MyServ.NFun(7002) MsgBox "Код возврата библиотеки - " & TransRes MyServ.GParam "Cheque", Cheque If Len(Cheque) Then WriteCheque (Cheque) MyServ.Clear Set Cheque = Nothing Set MyServ = Nothing End Sub Я вызываю функцию: Объект = Новый COMОбъект("SBRFSRV.Server"); КодОшибки = Объект.NFun(7002); Если КодОшибки = 0 Тогда Чек = Объект.GParam("Cheque"); КонецЕсли; Всё проходит без ошибок, но переменная Чек так и остаётся Неопределено. Так же пробовал с другими номерами функций. На экране появляются менюшки, что-то происходит, а терминал ни на что не реагирует. |
|||
4
Vladal
29.05.12
✎
11:51
|
В отладчике Объект.GParam("Cheque") какое значение имеет?
Ну и может зарегистрировать эту ДЛЛ или не надо? |
|||
5
OpKc
29.05.12
✎
11:55
|
(4) длл зарегистрирована :)
Имеет значение Неопределено |
|||
6
Vladal
29.05.12
✎
11:57
|
(5) неопрелелно... как много в этом слове.
А у переменной Объект какие методы или значения есть? Иногда отладчик зависает на таких фокусах, но всё-же? |
|||
7
Vladal
29.05.12
✎
11:57
|
Дай скриншот
|
|||
8
OpKc
29.05.12
✎
12:00
|
Скриншот чего именно? У переменной Объект не видно свойств и методов. Тип значения - COMОбъект.
|
|||
9
famnam
29.05.12
✎
12:01
|
(0) для настройки терминалов Verifone имеется специальная программка (UPOS), которая описывает настройки и поведение терминала на различные реакции, в том числе и где отображать меню (на терминале или на экране пользователя). Эти настройки заливаются на сам терминал через COM-порт
|
|||
10
Vladal
29.05.12
✎
12:04
|
(9) Интересно. Если бы еще сервис какой-то был, было бы замечательно. Хотя. может и есть.
(8) Подключи ДЛЛ как внешнюю компоненту. |
|||
11
OpKc
29.05.12
✎
12:20
|
(10) как внешнюю не могу подключить, получаю "Ошибка при вызове метода контекста (ПодключитьВнешнююКомпоненту)"
(9) у меня есть утилита TlvEdit, через которую можно настраивать терминал. пока действую в режиме проб и ошибок, т.к. документации по настройкам у меня нет. |
|||
12
Vladal
29.05.12
✎
12:28
|
В руководстве есть список документации:
23216-RU Omni 5xxx и Vx5xx/Vx6xx Руководство по установке 23217 Omni 5xxx and Vx5xx/Vx6xx Reference Manual 23218 Omni 5100/5150 and Vx510, Omni 3730 Certifications and Regulations 23219 Omni 5100/5150 and Vx5xx Quick Installation Guide 23230 Verix V Operating System Programmer’s Manual 23231 Verix V Tools Programmer’s Manual 23640 Omni 56xx and Vx6xx Carrying Case Quick Installation Guide 23641 Omni 56xx and Vx6xx Attachable Strap/Handstrap Quick Installation Guide 23642 Omni 5xxx and Vx5xx/Vx6xx Privacy Shield Quick Installation Guide 23643 Omni 56xx and Vx6xx Quick Installation Guide 23644 Omni 56xx and Vx6xx Certifications and Regulations Я думаю, надо найти эти документы: 23230 Verix V Operating System Programmer’s Manual 23231 Verix V Tools Programmer’s Manual |
|||
13
manyak
29.05.12
✎
12:46
|
попробуй в VBA проверь работу - если там робит?, копай в 1с потом
|
|||
14
OpKc
30.05.12
✎
11:47
|
(12) скачал, курю, пока не вкуриваю.
(13) я не знаю, как проверить в VBA. где взять среду для отладки? excel? :D (9) а есть у тебя эта софтина? можно её как-нибудь заполучить малой кровью (не обращаясь к этой ужасной службе поддержки Сбербанка)? |
|||
15
OpKc
31.05.12
✎
11:33
|
Наконец-то получил внятный ответ от Сбербанка. Оказалось, что мой терминал в принципе не поддерживает режим получения команд с ПК. Завтра должны привезти другой терминал, который всё это поддерживает.
БЛ"№;%, а вот сразу сказать не судьба?! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |