Праздный вопрос: как работать ридерами из 1С, которая стоит на сервере?
Вариантов решения данной проблемы в инете довольно много, предлагаю на Ваш суд еще один способ. Вот кусочек кода из глобальника при старте системы:
НомерПорта
= 0
; Network
= СоздатьОбъект(«WScript.Network»)
; WshShell
=СоздатьОбъект(«WScript.Shell»)
;
Если
СокрЛП
(
Network
.
UserName
) = «kassa1» Тогда//определили имя терминального пользователя
НомерПорта
= 1
; WshShell
.
Run
(«cmd /c «+«net use /delete com1»,0)
;
//удалили com1, оставшийся от пред.сеанса
WshShell
.
Run
(«cmd /c «+«net use com1 \tsclientcom1»,0)
;
//добавили com1, для тек.пользователя ИначеЕсли
СокрЛП
(
Network
.
UserName
) = «kassa2» Тогда
НомерПорта
= 2
; WshShell
.
Run
(«cmd /c «+«net use /delete com2»,0)
; WshShell
.
Run
(«cmd /c «+«net use com2 \tsclientcom1»,0)
;
КонецЕсли
;
Если
НомерПорта
<> 0 Тогда //тут полет программерской мысли… Иначе //а вот здесь непредвиденная ситуация… КонецЕсли
;
Это все прекрасно работает 2000 и 2003 серверах, для Citrix необходимо вместо «tsclient» использовать «client».
Таким способом подключал сканера штрих-кодов, ридеры, терминалы сбора данных, весы.
А если юзверей не 5, а 50, как будет выглядеть код при старте?
Если пользователей будет 50 человек, семерка сама по себе загнется…
И вообще-то, я предложил идею, концепт, опять-таки без ВК и приложений, а дальше уж кто во что гаразд…
В целом нормально, не обязательно даже имя юзера, пусть у всех мапит, а то при смене имени пользователя (а такое может ) случится, уйдет некоторое время на решение проблемы, пока вспониш что у тебя в глобальнике прописано, а если это будеш не ты, то уйдет еще больше
Ну я обычно для таких случаев в справочнике пользователей добавляю реквизит «СтрокаИнициализации», где и прописаны необходимые параметры запуска, по типу «Подключение торгового оборудования».
Я не понимаю, зачем каждому юзеру мапить устройство на свой порт? У меня все на один мапятся, все работают, никто никому не мешает. Или может так только Цитрикс умеет?
Привязывать аппаратные настройки к имени юзера — не очень правильно. Потому что они меняются очень часто. Лично я все скрипты для мапинга портов кладу на клиентскую машину, чтобы конфигурация железа была там же, где само железо. А при старте одинэски они запускаются через \clientc$…
Сам ответил на свой вопрос, без глюков так умеет только Citrix 🙁
Кроме Citrixа так умеет делать Windows 2003 (сервер терминалов) + Windows XP (клиенты).
Без всяких гемороев и изменения в конфе ! Просто включил перенаправление портов и ОК .
в данный момент на некоторых компах работает сразу по 2 штриха ФР К + сканер штрих кода + ридер магнитных карт.
Полет нормальный, проблем не наблюдаю.
У меня сканер работает через Scanopos.dll, ручной через COM. Долго лагал, пропускал некоторые штрихи, т.е. брал не с первого раза. Обновил длл до 8.0.4.1(от 1С) и убрал буфера в порту на клиенте. Все Ок!