Имя: Пароль:
1C
1С v8
ScanOPOS.dll 8.0.8.4 програмно задать COM???
0 Lex_Liven
 
01.12.11
10:12
Извиняюсь, если трогаю больную, надоевшую или еще какую неприятную тему, но...

Можно ли в ScanOPOS версии 8.0.8.4 программно из кода 1С задать сканеру конкретный COM-порт? В описании есть свойство Порт (тип - число), сказано, что оно доступно для записи, но при попытке присвоить ему значение - "Поле недоступно для записи". Если нельзя напрямую, то, может быть, есть способ перед подключением сканера изменить настройку в реестре?

P.S.: Атол прошу не предлагать, ибо, во-первых, не могу найти старую бесплатную версию, во-вторых, сканеры Symbol LS2208 и Metrologic MS5145 не видятся дровами Атола.
1 oleg_km
 
01.12.11
10:20
Попробуйте сделать под администратором. В каком-то ScanOPOS все настройки писались в ключ реестра Local machine, а к нему доступ имеет обычно локальный администратор
2 MikeFromAtol
 
01.12.11
10:21
Сорри за флуд, но по моему драйвер сканеров и не должен видеть устройство :)
3 Lex_Liven
 
01.12.11
10:26
(1) что именно сделать?
8.0.8.4 (мой случай) как раз и пишет в Local Machine/Software/1c/TradeWare/Scanopos, но я не могу дать права админа пользователям сервера терминалов.

(2) в программе тестирования от Атола сканеры не появляются. Данные от них программа также не принимает, хотя порт, скорость, битность и прочие параметры установлены верно. Оба сканера - в режиме "простой эмуляции COM порта".
4 MikeFromAtol
 
01.12.11
10:32
(3) Надо для начала в режиме поиска оборудования считать что нибудь сканером и проверить префиксы/суффиксы, а потом уже выставлять параметры связи
5 Lex_Liven
 
01.12.11
10:39
(4) Благодарю, Metrologic нашелся. Symbol могу проверить позже.

Теперь такие два вопроса:
1. Если я заменяю ScanOPOS компонентой от Атол - мне нужно переписывать какой-то код в конфигурации? (Конфа наполовину самописная, на основе какой-то старой Российской УТ)
2. Где все-же можно взять старые, бесплатные, дрова?
6 Lex_Liven
 
01.12.11
10:47
(4),(5) Symbol тоже принялся тестовой программой.
7 MikeFromAtol
 
01.12.11
10:49
(5) 1. Под атоловские дрова есть своя обработка, типа ATOLBarcodeScan_v2.epf
2. Только в инете искать, даже тут на мисте уже неоднократно ссылки давались.

Ну или нам немного денег дать за хороший драйвер ;)
8 rutony
 
01.12.11
10:53
(7) Сделали бы вы его подешевле... Манагеры боятся его продавать, так как сам сканер часто стоит дешевле чем драйвер...
9 Lex_Liven
 
01.12.11
10:55
1. ATOLBarcodeScan_v2.epf обращается к таким модулям и перечислениям, что дешевле с нуля написать компоненту, чем интегрировать их все в нашу базу.
2. Хорошо. Немного - это сколько? Есть партнеры или представители в Таразе, Казахстан?
10 Lex_Liven
 
01.12.11
11:00
(7) Скачал прайс... Шефу показывать не буду... у нас сканеры ровно в пять раз дешевле, чем ваш комплект драйверов.
11 MikeFromAtol
 
01.12.11
11:01
(8) ну, над этим стоит подумать, думаю что сделаем :)

(9) 1. По идее там да, команд/методов немного, так что с нуля написать свою обработку можно запросто.
В качестве примера можно посмотреть вот это:
C:\Program Files\ATOL\Drivers\Samples\Scaner\1cv80\

2. В Таразе нет, только в Алматы вроде, ТОО Пионер

(10) Ок :)
12 MikeFromAtol
 
01.12.11
11:01
(10) кстати, это наверное цена полного набора драйверов. Драйвер устройств ввода и отдельно продается
13 oleg_km
 
01.12.11
11:28
(3) Очень просто. Администратор, когда подключает оборудование смотрит на какой COM-порт подключился сканер. Потом запускает 1С и прописывает COM-порт уже в 1С. Информация сохраняется в ветке local machine и у остальных пользователей уже все настроено.
14 Lex_Liven
 
01.12.11
12:12
(12) 14800р. это цена комплекта драйверов только сканеров.
Symbol мы купили за 14800 тг (а это по курсу 5тг=1р.)

(13) Все верно. Но через 15 минут неактивности сеанс терминала блокируется и сканер отключается. При попытке запустить "ПодключитьТорговоеОбородувание()" он пытается подключить его не на тот порт, который записан в реестре, а на COM1.

Итак, оба вопроса остаются открытыми.
Можно ли задать в коде 1С COM-порт для Scanopos?
Можно ли в коде 1С поменять значение параметра в реестре?
15 Lex_Liven
 
01.12.11
12:13
(13) Еще один вопрос по терминалу. Если два (или больше) пользователя коннектятся со сканером, подключенным к одинаковым портам (COM1 и COM1) - сервер не будет путать, кому именно принадлежит тот или иной сканер?
16 Ork
 
01.12.11
12:16
Если можно - вопрос МихаилуИзАтолла?

Как надежно в вашем дрейвере отключить перехват событий сканера? Ну или хотя бы сбросить очередь.
17 borozavr
 
01.12.11
12:17
(15) временно дай терминальному юсеру права администратора, настрой сканеры и верни права обратно.
18 Ork
 
01.12.11
12:18
(15) Сервер путаться не будет. Каждое логическое устройство создается в своем сеансе. Всмысле в каждом сеансе можно иметь КОМ с одинаковыми номерами.
19 Lex_Liven
 
01.12.11
12:20
(18) То есть я вообще могу создать на сервере тупо одно устройство на COM3, например, и подключать всех клиентов к COM3?
Если так, то ветку можно закрывать - оба вопроса становятся неактуальными.
20 Ork
 
01.12.11
12:24
(13) Не все так просто. У одного пользователя на КОМ1 подключен сканер, а у другого принтер чеков (ну или табло покупателя), а сканер на КОМ2.
При создании окружения сеансов на сервере - первому будет проброшен КОМ1 на сканер, КОМ2 вообще не создастся, если его нет на локальной машине. Второму - КОМ1 пробросится на принтер, а на сканер ляжет КОМ2.
Получите белого северного пушистого.
21 Ork
 
01.12.11
12:27
(19) Не на _сервере_, а при создании клиентского сеанса каждый раз назначать устройство сеанса на устройство конкретного клиента.

А так установишь на сервере КОМ3 взятый с машины шефа и все, кто подключится к терминалу будут к нему бегать читать штрих-коды.

Оно тебе надо?
22 Lex_Liven
 
01.12.11
12:29
(20) Мне проще привязать на каждой клиентской машине сканер к COM3, чем переписывать код 1С "на любой случай".

(21) Я имею в виду, что если я однозначно определю везде COM3 для сканера, то на сервере хватит одного ТорговоеОборудование.СканерШтрихкодов?

Сейчас я пытаюсь настроить 20 машин = 20 сканеров = 20 пользователей терминала. Что мне делать с их портами? Везде ставить разные или неважно?
23 MikeFromAtol
 
01.12.11
12:33
(14) Нет.
Драйвер устройств ввода (сканеры, ридеры, проксимити считыватели):
5 747    АТОЛ: Драйвер устройств ввода v.6.x однопользовательская USB (ключ) 2 100,00 руб.
24 Ork
 
01.12.11
12:33
(22) Если хочешь иметь на сервере одинаковый КОМ для всех сеансов - сканеры на клиентах должны быть воткнуты в одноименный КОМ (всмысле впределах клиентов).
Если на всех клиентах воткнешь в КОМ1 тогда на сервере для любого сеанса он будет Количество_локальных_КОМ_сервера + 1.
25 MikeFromAtol
 
01.12.11
12:34
(16) не совсем понял вопрос.
Необходимо чтобы драйвер в какой то момент просто не передавал считанные данные?
26 Ork
 
01.12.11
12:35
(23) Скажи как _надежно_ отключить перехват.
27 Ork
 
01.12.11
12:35
(25) Нет. Не только не передавал, но что бы и не накапливал в очереди событий.
28 MikeFromAtol
 
01.12.11
12:37
(27) Понял, сейчас уточню
29 Lex_Liven
 
01.12.11
12:37
(23) У меня 30+ пользователей. За 2100 я получу однопользовательскую версию.
(24) Короче, я сейчас попробую на двух-трех машинах и отпишусь по результатам.
30 MikeFromAtol
 
01.12.11
12:46
(27) от разработчика:
Если события уже в очереди драйвера, то их можно только "получить". Что с ними при этом сделать - как-то обработать или просто проигнорировать - решает прикладная программа.
Есть вариант разрушить и снова создать драйвер, но в этом нет особого смысла - проще переделать обработчик событий драйвера, чтобы он игнорировал какие-то данные.

А отключить обработку нажатий клавиш/данных из COM-порта - можно, сбросив DeviceEnabled.

(29) многопользовательский в соответствии с нашим прайсом от 17 октября
5 749    АТОЛ: Драйвер устройств ввода v.6.x многопользовательская USB (ключ) 9 800,00 руб.
31 Ork
 
01.12.11
12:47
(30) Большой сеньк.
32 MikeFromAtol
 
01.12.11
12:48
(31) не за что :)
(29) ну и кстати таки можно поиском по мисте пройтись и таки найти старый дистриб драйверов
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан