Подключение нескольких сканеров штрих-кода по rdp (win server 2003, 2008 х64 ) 1Сv8: Управление торговлей 10.3
Была задача: удаленные филиалы подключить по rdp к одному серваку под управление win 2008 и сканеры штрихкодов тоже, но они никак не хотели работать. То есть если работал один, остальные не работали.Ну и хотелось поделится опытом решения проблемы, вдруг кому то тоже поможет))))
Напишу сразу это решение проблемы для конкретного релиза УТ 10.3.3.3, на остальных не проверял может уже исправили в последующих.Просто конфигурация сильно переписанная и не обновляемая у нас))))
- Описание
- Подробнее
Описание
Для начала все сканеры должны висеть на разных com портах. Поменять номер порта можно в диспетчере устройств, в разделе Порты (COM и LPT) необходимо выбрать нужный порт и вызвать его свойства, там перейти во вкладку «Параметры порта» и по кнопке «Дополнительно» вызвать дополнительные параметры, где можно сменить номер порта. И при подключении к удаленному рабочему столу необходимо убедится что галочка перекидывать порты установлена. На сервере проверить перекинулся ли порт можно командой «change port».
На сервере не забываем установить компоненту «1С: Сканер штрихкода», ну и добавление сканера в самой программме 1С: Управлении торговлей описывать не буду, в этом сложности никакой нет. Но напишу тока, что сканеров будет несколько привязанных к данному компьютеру, т.е. в конфигурации УТ оборудование привязано к конкретному ПК. Если у вас только один сканер то он без проблем должен работать, если порт прокинут конечно))). Но вот если их два и больше могут возникать проблемы с которыми я столкнулся.Проблема была в том что работал только один сканер остальные не работали.
Решение проблемы: После продолжительных танцов с бубнами))), пошел юзать отладчик, и обнаружил интересный код, который находится в обработке «ТОСервер». В нем есть функция «ПодключитьОборудование()», которая пытается подключить в цикле сканеры забитые в базе и привязанные к данному компу.Так вот кусок кода в цикле:
Результат = Обработка.Подключить(Объект);
Если ЗначениеЗаполнено(Результат) Тогда
Возврат Результат;
КонецЕсли;
прикол в том что, при попытке подключить первое обородование в цикле, если она неудачная, то функция возвращала ошибку подключения, даже не пытаясь подключить остальные сканеры из списка.
Вот как я подправил данный фрагмент кода:
//Если ЗначениеЗаполнено(Результат) Тогда
// Возврат Результат;
//КонецЕсли;
Если Результат = Перечисления.ТООшибкиОбщие.ОшибкаПриПодключении Тогда
Продолжить;
КонецЕсли;
После чего все прекрасно заработало, и все были счастливы, особенно я после стольких танцов. Просто даже в голову изначально не приходило, что все из за кода конфигурации. Буду очень рад если кому то данная статья поможет.

