|
Подключение сканера к пустой 1С 8 через nativeapi aptomilov, kir-g, abfm, lEvGl, zva, CepeLLlka, nextssbt, MWWRuza, maxab72, FormatC, Somebody, p-soft, nick86, Ненавижу 1С, Renat11111, PuhUfa, Prog_man, DemonShinji2, arsik, PR, vbus, zablic2010, d4rkmesa, Indian, Волшебник, denk32, Умный Слоненок, elka302, Has, ddubrovin, baza1, U4Me2, Silgis, DrZombi, BalBess
| ☑ | ||
---|---|---|---|---|
0
aptomilov
26.11.24
✎
13:45
|
Привет всем пытаюсь подключить сканер к пустой конфе
Установил драйвер opos который выгрузил с макета пытаюсь подключить внешнюю компоненту ProgID = "AddIn.InputDevice"; ПодключитьВнешнююКомпоненту(ProgID); ОбъектДрайвера = Новый (ProgID); но ... пишет что не видит таких буков буквы в кавычках подсмотрел в info.xml драйверов <drivers> <component progid="AddIn.AddIn.InputDevice" type="СканерШтрихкода" name="1С:Сканеры штрихкода (NativeApi)" version="10.4.2.6"> </component> </drivers> Может уже есть у кого опыт такого подключения, поделитесь. |
|||
1
p-soft
26.11.24
✎
13:49
|
пробуйте Новый ("AddIn.InputDevice.InputDevice")
|
|||
2
aptomilov
26.11.24
✎
13:57
|
(1)
При подключении оборудования произошла ошибка: "'1С:Сканеры штрихкода (NativeApi)': Не удалось загрузить драйвер устройства. Проверьте, что драйвер корректно установлен и зарегистрирован в системе.". |
|||
3
aptomilov
26.11.24
✎
13:57
|
{ОбщийМодуль.МенеджерОборудованияКлиент.Модуль(1526)}: Тип не определен (AddIn.InputDevice.InputDevice)
|
|||
4
Garykom
26.11.24
✎
14:05
|
(0) БПО же
|
|||
5
aptomilov
26.11.24
✎
14:11
|
(4) пытался кусками переносить бпо да но как то пока не получается его реанимировать
|
|||
6
CepeLLlka
26.11.24
✎
14:21
|
&НаКлиенте Процедура ПриЗакрытии(ЗавершениеРаботы) Если ГлДрайверОбъекта.Свойство("ИДУстройства") И ГлДрайверОбъекта.Свойство("ДрайверСканера") Тогда ГлДрайверОбъекта.ДрайверСканера.Отключить(ГлДрайверОбъекта.ИДУстройства); ГлДрайверОбъекта.Очистить(); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) //Попытка подключения сканера ДопПараметры = Новый Структура; ДопПараметры.Вставить("ПредложенаУстановкаКомпоненты", Ложь); НачатьПодключениеВнешнейКомпоненты(Новый ОписаниеОповещения("ПодключениеВнешнейКомпонентыЗавершение", ЭтаФорма, ДопПараметры), "ОбщийМакет.Драйвер1СУстройстваВводаNative", "InputDevice", ТипВнешнейКомпоненты.Native); КонецПроцедуры &НаКлиенте Процедура УстановкаВнешнейКомпонентыЗавершение(ДополнительныеПараметры) Экспорт КонецПроцедуры &НаКлиенте Процедура ПодключениеВнешнейКомпонентыЗавершение(Подключено, ДополнительныеПараметры) Экспорт Если НЕ Подключено Тогда Если НЕ ДополнительныеПараметры.ПредложенаУстановкаКомпоненты Тогда ДополнительныеПараметры.Вставить("ПредложенаУстановкаКомпоненты", Истина); НачатьУстановкуВнешнейКомпоненты(Новый ОписаниеОповещения("УстановкаВнешнейКомпонентыЗавершение", ЭтаФорма, ДополнительныеПараметры), "ОбщийМакет.Драйвер1СУстройстваВводаNative"); КонецЕсли; НачатьПодключениеВнешнейКомпоненты(Новый ОписаниеОповещения("ПодключениеВнешнейКомпонентыЗавершение", ЭтаФорма, ДополнительныеПараметры), "ОбщийМакет.Драйвер1СУстройстваВводаNative", "InputDevice", ТипВнешнейКомпоненты.Native); Иначе Результат = ПодключитьСканер(); Если НЕ Результат.Подключено Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = Результат.ТекстОшибки; Сообщение.Сообщить(); КонецЕсли; КонецЕсли; КонецПроцедуры &НаКлиенте Функция ПодключитьСканер() //Подключение драйвера Результат = Новый Структура; Результат.Вставить("Подключено", Истина); Результат.Вставить("ТекстОшибки", ""); ОбъектДрайвера = Новый ("AddIn.InputDevice.InputDevice"); //Добавление объекта драйвера в глобальную клиентскую переменную Если ОбъектДрайвера <> Неопределено Тогда ГлДрайверОбъекта.Вставить("ДрайверСканера", ОбъектДрайвера); Иначе Результат.Вставить("Подключено", Ложь); Результат.Вставить("ТекстОшибки", НСтр("ru='Не удалось создать объект драйвера.'")); Возврат Результат; КонецЕсли; Попытка ОбъектДрайвера.УстановитьПараметр("EquipmentType", "СканерШтрихкода") Исключение Результат.Вставить("Подключено", Ложь); Результат.Вставить("ТекстОшибки", НСтр("ru='Ошибка обращения к драйверу.'")); Возврат Результат; КонецПопытки; // Параметры для Линукса СисИнфо = Новый СистемнаяИнформация; Если СисИнфо.ТипПлатформы = ТипПлатформы.Linux_x86_64 ИЛИ СисИнфо.ТипПлатформы = ТипПлатформы.Linux_x86 Тогда ОбъектДрайвера.УстановитьПараметр("COMEncoding", "UTF-8"); ОбъектДрайвера.УстановитьПараметр("GSSymbolKey", -1); ОбъектДрайвера.УстановитьПараметр("KeyboardDevice", "SuperLead 2620-N-BT"); ОбъектДрайвера.УстановитьПараметр("OutputDataType", 0); ОбъектДрайвера.УстановитьПараметр("Port", 0); ОбъектДрайвера.УстановитьПараметр("Speed", 9600); ОбъектДрайвера.УстановитьПараметр("Suffix", 13); ОбъектДрайвера.УстановитьПараметр("TimeoutCOM", 5); КонецЕсли; ИДУстройства = ""; Попытка Ответ = ОбъектДрайвера.Подключить(ИДУстройства); Исключение Результат.Вставить("Подключено", Ложь); Результат.Вставить("ТекстОшибки", НСтр("ru='Ошибка вызова метода <ОбъектДрайвера.Подключить>.'") + Символы.ПС + ОписаниеОшибки()); Возврат Результат; КонецПопытки; Если НЕ Ответ Тогда Результат.Вставить("Подключено", Ложь); ОбъектДрайвера.ПолучитьОшибку(Результат.ТекстОшибки) Иначе ГлДрайверОбъекта.Вставить("ИДУстройства", ИДУстройства); КонецЕсли; Возврат Результат; КонецФункции В модуле приложения Перем ГлДрайверОбъекта Экспорт; Только эт для Линукса было, но там разница не большая была, я сначала на винде пробовал. |
|||
7
Звездец
26.11.24
✎
14:13
|
а может лучше БПО внедрить? в чем необходимость сканер в лоб подключать?
|
|||
8
lEvGl
26.11.24
✎
14:17
|
+ за БПО, но если все не надо, то выдернуть, то что нужно
|
|||
9
aptomilov
26.11.24
✎
14:18
|
(7) может так и сделаю но позжа время жмем прям
|
|||
10
lEvGl
26.11.24
✎
14:22
|
вот выдергивал
Если Не ПодключитьВнешнююКомпоненту("ОбщийМакет.ДрайверСканера", "InputDevice", ТипВнешнейКомпоненты.Native) Тогда УстановитьВнешнююКомпоненту("ОбщийМакет.ДрайверСканера"); ПодключитьВнешнююКомпоненту("ОбщийМакет.ДрайверСканера", "InputDevice", ТипВнешнейКомпоненты.Native); Конецесли; Сканер = Новый("AddIn.InputDevice.InputDevice"); Сканер.Подключить("СканерШтрихкода"); в БПО макет назывался, Кажется, по-другому, здесь тоже самописное зы. ну судя по (2) надо просто установить сначала |
|||
11
CepeLLlka
26.11.24
✎
14:22
|
(9)Так при помощи БСП быстрее будет всяко
|
|||
12
aptomilov
26.11.24
✎
14:45
|
(10) Устанавливал 10 раз, чо-то не видит
|
|||
13
lEvGl
26.11.24
✎
14:33
|
(12) что значит устанавливал?
|
|||
14
aptomilov
26.11.24
✎
14:35
|
(6) да заработало
осталось слушать этот сканер он будет стационарный |
|||
15
aptomilov
26.11.24
✎
14:36
|
(13)
из макета вываливаешь файлик в зипе там экзешники |
|||
16
lEvGl
26.11.24
✎
14:43
|
(15) код надо написать, даже просто скопировать
Если Не ПодключитьВнешнююКомпоненту("ОбщийМакет.ДрайверСканера", "InputDevice", ТипВнешнейКомпоненты.Native) Тогда УстановитьВнешнююКомпоненту("ОбщийМакет.ДрайверСканера"); ПодключитьВнешнююКомпоненту("ОбщийМакет.ДрайверСканера", "InputDevice", ТипВнешнейКомпоненты.Native); Конецесли; Сканер = Новый("AddIn.InputDevice.InputDevice"); Сканер.Подключить("СканерШтрихкода"); конечно предварительно выгрузив макет БПО в файлик и загрузив его в макет своей конфы, потом этот код. Впрочем.. без разницы. |
|||
17
aptomilov
26.11.24
✎
14:43
|
При попытке отсканировать приложение падает :-) в ошибку
не нашу не 1с вскую |
|||
18
CepeLLlka
26.11.24
✎
14:48
|
(17)Код то хоть как-то адаптировали?
ОбъектДрайвера.УстановитьПараметр("KeyboardDevice", "SuperLead 2620-N-BT"); Тут конкретное устройство указывается например, у вас вероятно оно совсем другое |
|||
19
aptomilov
26.11.24
✎
15:20
|
Да не, но не думаю, что из-за этого строкового параметра что-то может сильно поменяться.
|
|||
20
aptomilov
26.11.24
✎
20:15
|
(6)
Этот же код поднял в абсолютно другой конфигурации и на другой машине приложение так же падает.... |
|||
21
CepeLLlka
26.11.24
✎
20:21
|
(20)Код нужно адаптировать под вашу ситуацию. Этот код работает на линуксе со сканером Mertech SuperLead 2620-N-BT
|
|||
22
aptomilov
26.11.24
✎
21:02
|
(21)
Все параметры взял с рабочей конфы где сканер работает ОбъектДрайвера.УстановитьПараметр("COMEncoding", "UTF-8"); ОбъектДрайвера.УстановитьПараметр("GSSymbolKey", 7); //ОбъектДрайвера.УстановитьПараметр("KeyboardDevice", "SuperLead 2620-N-BT"); ОбъектДрайвера.УстановитьПараметр("OutputDataType", 0); ОбъектДрайвера.УстановитьПараметр("Port", "0"); ОбъектДрайвера.УстановитьПараметр("Speed", 9600); ОбъектДрайвера.УстановитьПараметр("Suffix", 3338); ОбъектДрайвера.УстановитьПараметр("Prefix", -1); ОбъектДрайвера.УстановитьПараметр("Timeout", 35); ОбъектДрайвера.УстановитьПараметр("Parity", 0); ОбъектДрайвера.УстановитьПараметр("LogType", -1); ОбъектДрайвера.УстановитьПараметр("DataBits", 8); ОбъектДрайвера.УстановитьПараметр("StopBits", 0); пока не помогает |
|||
23
Умный Слоненок
27.11.24
✎
09:53
|
Сам драйвер загружен как внешняя компонента или как двоичные данные? Надо именно чтобы макет был типа внешняя компонента.
|
|||
24
lEvGl
27.11.24
✎
09:59
|
(23) можно забить, он установкой драйвера называет запуск экзешника в зипе
|
|||
25
aptomilov
27.11.24
✎
10:29
|
(23) Макет я взял из БПО
|
|||
26
aptomilov
27.11.24
✎
10:30
|
(24) дружище а ты когда любой драйвер ставишь в систему не exe ли запускаешь ?
|
|||
27
lEvGl
27.11.24
✎
10:38
|
ты мне не дружище, бот
|
|||
28
CepeLLlka
27.11.24
✎
11:38
|
(22)Вот были наработки какие-то, попробуйте https://dropmefiles.com/TTNCD
|
|||
29
aptomilov
27.11.24
✎
12:45
|
По итогу я так и не смог запустить сканер отдельно
при сканировании падает приложение зато смог Запихать БПО и теперь не только сканер но что угодно можно подключить к базе Кому нужна будет помощь в запихивании бпо обращайтесь там есть несколько ньюансов инструкции от 1с неактуальны |
|||
30
aptomilov
27.11.24
✎
12:45
|
(28)
за наработки спасибо обязательно попробую |
|||
31
aptomilov
27.11.24
✎
12:49
|
(28) работает удивительно
сейчас буду смотреть сравнивать в чем разница огромное благодарю |
|||
32
aptomilov
27.11.24
✎
13:22
|
Вобщем проблема была именно в Макете от КА 2,5
из за нее падает похоже она какая то кривая - но при этом в родной базе она работает отлично. Подгрузил из БПО и все завелось снова. Всем кто участвовал спасибо. |
|||
33
aptomilov
27.11.24
✎
14:18
|
(28)
обнаружил такой интересный баг если 2 раза нажать на кнопку подключить сканер то приложение так же выпадает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |