|
v7: Подскажите каким образом возможно подключение к внешней компоненте | ☑ | ||
---|---|---|---|---|
0
BPAvel
17.08.13
✎
18:55
|
Есть компонента работающая с купюроприёмником cashcodeSM - OPOSBillAcceptor.ocx, подскажите пожалуйста как ее подключить к 1С чтобы управлять купюроприемником.
здесь библиотека ---> [url=http://rusfolder.com/37650377][img]http://rusfolder.com/images/download_1.jpg[/img][/url] |
|||
1
Torquader
17.08.13
✎
18:58
|
Судя по названию, это OLE-сервер, который можно "создать" в коде 1С и давать ему команды на выполнение.
Только вот зачем к 1С купюроприёмник подключать ? Неужели это будет платёжный терминал ? |
|||
2
Ork
17.08.13
✎
19:01
|
(1) Нут так *.ocx сам за себя говорит. Именно ОЛЕ сервер и есть. Одна засада - события в семерке не прехватить. Есть какая-то обертка для таких дел. Но сам я ее не пользовал.
|
|||
3
BPAvel
17.08.13
✎
19:03
|
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) - не получится?
|
|||
4
Torquader
17.08.13
✎
19:04
|
(2) Сначала нужно понять - а есть ли там вообще события, как таковые, а потом уже думать - надо их перехватывать или нет.
Самый простой перехват - прослойка на VbScript, то есть OLE-сервер, написанный как Windows Script Component. Получается, что компонент ловит событие и запоминает его в переменной, а потом из 1С можно проверить состояние этой переменной. |
|||
5
BPAvel
17.08.13
✎
19:05
|
Torquader
а каким образом его подключить и давать команды? не подскажете? |
|||
6
Torquader
17.08.13
✎
19:06
|
(3) Чтобы передать событие в эту функцию, должна быть поддержка нескольких специфичных для 1С интерфейсов, что у указанного OLE-сервера явно нет.
Так что, если есть его исходники (что маловероятно), то можно что-то подправить - если нет, то искать компоненту-транслятор (где-то была такая). |
|||
7
Torquader
17.08.13
✎
19:08
|
(5) У него должен быть ProgId, тогда нужно:
Obj=СоздатьОбъект(ЗдесьПишемЕгоProgId); Далее через Obj.Method можно вызывать методы. Описание методов можно посмотреть через любой просмотрщик TypeLib (если, конечно, она у этого объекта есть). |
|||
8
BPAvel
17.08.13
✎
19:08
|
она вроде и незашифрована ничем, я правда в этом не силен, delhi 7 открывает ее
|
|||
9
BPAvel
17.08.13
✎
19:09
|
а возможно ProgId подглядеть?
|
|||
10
BPAvel
17.08.13
✎
19:12
|
уже всё перебрал, всё равно ошибка:
Неудачная попытка создания объекта |
|||
11
Torquader
17.08.13
✎
19:13
|
(9) Конечно, в Delphi она должна показать и ProgId и описание объектов для взаимодействия.
|
|||
12
Ork
17.08.13
✎
19:16
|
(11) Для начала библиотечку нужно зарегистрировать.
|
|||
13
BPAvel
17.08.13
✎
19:16
|
я открыл в делфи, вижу вот вроде бы все описания объектов, а где этот ProgId срисовать.
да библиотечку зарегил. |
|||
14
Ork
17.08.13
✎
19:17
|
(13) Описалова что вообще нету?
|
|||
15
BPAvel
17.08.13
✎
19:17
|
ЗагрузитьВнешнююКомпоненту("AddIn.OPOSBillAcceptor");
Кэшкод = СоздатьОбъект("AddIn.??????"); ???? - что сюды написать незнаю |
|||
16
Ork
17.08.13
✎
19:19
|
(15) Никаких "ЗагрузитьВнешнююКомпоненту". Это не внешняя компонента.
Только так : Приемник = CreateObject(ProgId); |
|||
17
BPAvel
17.08.13
✎
19:20
|
описалова нету, скачал отсюда http://forum.multisoft.ru/showthread.php?p=457
|
|||
18
BPAvel
17.08.13
✎
19:20
|
вот парюсь как приручить купюрник к 1С
|
|||
19
BPAvel
17.08.13
✎
19:29
|
Ork
А события получится перехватывать? |
|||
20
Ковычки
17.08.13
✎
19:32
|
(3) нет
|
|||
21
Ковычки
17.08.13
✎
19:33
|
(19) да
|
|||
22
Ковычки
17.08.13
✎
19:34
|
нонсенс ?
|
|||
23
Ork
17.08.13
✎
19:35
|
Имя объекта - так и есть "OPOSBillAsseptor"
|
|||
24
Ork
17.08.13
✎
19:35
|
* OPOSBillAcceptor
|
|||
25
Ork
17.08.13
✎
19:37
|
Есть еще IOPOSBillAcceptor_1_11 (ЦЫ 1.11 interface)
|
|||
26
Ork
17.08.13
✎
19:38
|
(21) Это как? Напрямую из Актив-ИКСа?
|
|||
27
Ковычки
17.08.13
✎
19:39
|
(26) все просче ОбработкаОжидания
|
|||
28
Ковычки
17.08.13
✎
19:40
|
хотя конечно можно и прямо через обертку
|
|||
29
Ork
17.08.13
✎
19:41
|
(27) Ниразу не слышал о таком способе.
|
|||
30
BPAvel
17.08.13
✎
19:41
|
Кэшкод = СоздатьОбъект("OPOSBillAcceptor");
Неудачная попытка создания объекта (OPOSBillAcceptor) |
|||
31
Ork
17.08.13
✎
19:42
|
+ (29) Интересуюсь как для мелкософтовского MsComm определить заполнение буфера?
|
|||
32
Ork
17.08.13
✎
19:44
|
(30) У меня в регистр прописался так :
"MStarTK.BillAcceptorService.1" |
|||
33
Ork
17.08.13
✎
19:45
|
(32) упс... вот так : "MStarTK.BillAcceptorService"
|
|||
34
Ork
17.08.13
✎
19:46
|
+ (33) И еще вот так : "OPOS.BillAcceptor"
|
|||
35
BPAvel
17.08.13
✎
19:57
|
да, открывается обработка, каким то образом теперь нужно подать команды: для инициализации, для взаимодействия, затем команду разрешить приём купюр (BeginDeposit - думаю ета), и затем в обратном порядке
|
|||
36
Ork
17.08.13
✎
20:06
|
(35) Точную модель девайса озвучь
|
|||
37
BPAvel
17.08.13
✎
20:08
|
cashcodeSM-2073RU1336
|
|||
38
Ork
17.08.13
✎
20:13
|
(37) На сайте Мультисофт таких слов не знают.
|
|||
39
BPAvel
17.08.13
✎
20:14
|
cashcodeSM-2073
|
|||
40
BPAvel
17.08.13
✎
20:15
|
http://forum.multisoft.ru/showthread.php?p=457
BillAcceptorSO.dll - OPOS Bill Acceptor Service Object для купюроприемников CashCode (протокол CCNet) |
|||
41
Ork
17.08.13
✎
20:49
|
(40) Описание протокола CCNet не нашел. Только эмуляторы. Так что дальше сам/обратиться к продаванам/поспрошать в инетах.
|
|||
42
BPAvel
17.08.13
✎
21:20
|
Вот описание http://rusfolder.com/37651034, наведите на мысль плиз
|
|||
43
Torquader
17.08.13
✎
21:21
|
(42) Купюроприёмник в составе ФР или отдельно.
|
|||
44
BPAvel
17.08.13
✎
21:26
|
отдельно
|
|||
45
BPAvel
17.08.13
✎
21:27
|
ФР на com1 подключен, КП - на com2
|
|||
46
Torquader
17.08.13
✎
21:58
|
(45) Тогда проще смотреть в сторону MSCOMM или VKRS232, чтобы управлять напрямую в порт.
Я для ресторанного принтера Star (подкладной печати) писал на 1С код управления, использую MSComm из Visual Basic. Если описание команд через порт есть, то это проще, чем через объект. |
|||
47
BPAvel
17.08.13
✎
22:08
|
если в описании команд:
Command HEX Code Description RESET 30H Command for Bill-to-Bill unit to self-reset для сброса КП нужно подать команду "RESET"? я правильно понимаю? |
|||
48
Torquader
17.08.13
✎
22:19
|
(47) то есть в последовательный порт (настроенный на правильную скорость, чётность и т.п.) нужно записать 30H (или Chr(48)) ну и так далее.
|
|||
49
BPAvel
17.08.13
✎
22:29
|
напишите пожалуйста пример, если не сложно
|
|||
50
Torquader
18.08.13
✎
10:16
|
||||
51
ADirks
18.08.13
✎
13:58
|
Чтобы посмотреть состав объектов и их интерфейсы:
- запускаем Excell - запускаем редактор VBA (Alt-F11) - в меню tools / references добавляем нужный .ocx - запускаем view / object browser - из списка компонент (там где <All libraries>) выбираем нужную - смотрим Создать ActiveX можно с помощью 1С++, обработка событий в этом случае доступна. http://www.1cpp.ru/forum/YaBB.pl?num=1153516819 |
|||
52
BPAvel
18.08.13
✎
14:08
|
(51) да вот я никак не могу понять как подавать команды через OPOSBillAcceptor.ocx
|
|||
53
ADirks
18.08.13
✎
14:13
|
просто команды - ещё проще
о = CreateObject("OPOSBillAcceptor"); о.Open("..."); Именно CreateObject(). Создаётся COM-объект, и с ним уже работаешь как с любым COM-объектом. |
|||
54
BPAvel
18.08.13
✎
14:47
|
(53) а как объявить, что устройство подключено именно на COM2 не подскажете?
|
|||
55
ADirks
18.08.13
✎
15:07
|
Я же не знаю ничего ни про железку, ни про интерфейс к ней :)
но полагаю, что-то типа Open("com2") |
|||
56
Torquader
18.08.13
✎
22:17
|
(54) Сделай, как в (51) сказано - один из самых простых способов просмотра библиотек TypeLib.
|
|||
57
BPAvel
19.08.13
✎
09:01
|
Помогите пожалуйста скомпилировать из исходников написанных на delphi, ocx или dll для подключения к 1С.
|
|||
58
BPAvel
19.08.13
✎
16:39
|
(57) всем спасибо за обсуждение, решение найдено.
решил прошить cashcode прошивкой с протоколом ID-003, для него есть драйвер готовый |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |