8plus.ru — это отчеты и обработки 1С только версии 8 и только для типовых конфигураций!

Подключение нескольких сканеров штрих-кода по rdp
02.10.2014
5946
0
0%
0.03%
+2
Спасибо!

ОС: Win server 2003, 2008 х64

Была задача: удаленные филиалы подключить по rdp к одному серверу под управление win 2008 и сканеры штрих-кодов тоже, но  они никак не хотели работать. То есть если работал один, остальные не работали. Ну и хотелось поделится опытом решения проблемы, вдруг кому-то тоже поможет. :)
Напишу сразу это решение проблемы для конкретного релиза УТ 10.3.3.3, на остальных  не проверял может уже исправили в последующих.

Для начала все сканеры должны висеть на разных com портах. Поменять номер порта можно в диспетчере устройств, в разделе Порты (COM и LPT) необходимо выбрать нужный порт и вызвать его свойства, там перейти во вкладку «Параметры порта» и по кнопке «Дополнительно» вызвать дополнительные параметры, где можно сменить номер порта. И при подключении к удаленному рабочему столу необходимо убедится что галочка перекидывать порты установлена. На сервере проверить перекинулся ли порт можно командой «change port».

На сервере не забываем установить компоненту «1С: Сканер штрихкода», ну и добавление сканера в самой программме 1C: Управлении торговлей описывать не буду, в этом сложности никакой нет. Но напишу тока, что сканеров будет несколько привязанных к данному компьютеру, т.е. в конфигурации УТ оборудование привязано к конкретному ПК. Если у вас только один сканер то он без проблем должен работать, если порт прокинут конечно))). Но вот если их два и больше могут возникать проблемы с которыми я столкнулся.Проблема была в том что работал только один сканер остальные не работали.

Решение проблемы: После продолжительных поисков, через отладчик, обнаружил интересный код, который находится в обработке «ТОСервер». В нем есть функция «ПодключитьОборудование()», которая пытается подключить в цикле  сканеры забитые в базе и привязанные к данному компьютеру:

Результат = Обработка.Подключить(Объект);
Если ЗначениеЗаполнено(Результат) Тогда
Возврат Результат;
КонецЕсли;

суть в том что, при попытке подключить первое обородование в цикле, если она неудачная, то функция возвращала ошибку подключения, даже не пытаясь подключить остальные сканеры из списка.

Вот как надо поправить фрагмент кода:

//Если ЗначениеЗаполнено(Результат) Тогда
// Возврат Результат;
//КонецЕсли;
Если Результат = Перечисления.ТООшибкиОбщие.ОшибкаПриПодключении Тогда
Продолжить;
КонецЕсли;

После чего все прекрасно заработало, и  все были счастливы, особенно я после долгих поисков. Просто даже в голову изначально не приходило, что все из за кода конфигурации. Буду очень рад если кому то данная статья поможет.

Источник: Infostart (с согласия автора davlen)

+2
Спасибо!
Новое  →  Новое → Новое
Конфигурация: УТ 10.3
Вход