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