Подключение сканера штрих кода в терминальном режиме. Нужна помощь

1. serpolit 8 05.05.15 16:18 Сейчас в теме
Добрый день!
Конфигурация 1с: 1С:Предприятие 8.3 (8.3.4.408) "Управление торговлей", редакция 10.3 (10.3.32.1)
1с УТ работает в Sql режиме на сервере компании - запущен сервер 1с и база на postgrees. Вход в 1с пользователи
осуществляют в терминальном режиме через удаленное подключение к рабочему столу сервера и запуска 1с с рабочего стола сервера.
У каждого пользователя стоит галочка "использовать принтеры" и принтеры пользователей видятся нормально и печатают они каждый на своем принтере. Есть пользователи, у которых установлены сканеры штрихкодов. Галочка "Проброс портов" в настройках подключения 0,у этих пользователей тоже настроен.

В 1с УТ установка сканера штрихкода запускается в меню "подключение и настройка торгового оборудования". Здесь я добавил сканер штрихкода, указал ему COM порт локального компьютера с которого подключаюсь к серверу и сканер заработал на этом компьютере.
Но у других пользователей этот же сканер тоже доступен и вызывает ошибку при работе со справочником номенклатуры.

Вопрос: Как настроить несколько сканеров штрихкодов в 1с УТ (они у нас подключены к трем локальным компам), но чтобы они не мешали другим пользователям работать в справочнике номенклатура?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. DJDUH 17 05.05.15 18:25 Сейчас в теме
(1) serpolit, Предположим, что установить каждому сканеру разный порт и у каждого пользователя подтянуть в обработке именно назначенный ему сканер с нужным COM - должно сработать, при условии, что у терминальных сессиях установлено "передача портов"!
3. serpolit 8 05.05.15 21:21 Сейчас в теме
(2) DJDUH, Передача портов в терминальной сессии настроена. Раньше на данном компьютере-сервере стояла 1с 7 ТиС и сканеры у всех трех пользователей работали нормально - порты пробрасывались с каждого компьютера свой Com порт, а у на других компьютерах настройки сканера не было. Сейчас же если я настраиваю на каком-нибудь компьютере пользователя сканер штрихкода в 1с 8 ут, то и у других пользователей данный сканер тоже оказывается включенным и так как его нет - выдается ошибка.
А вот что значит подтянуть в обработке каждому пользователю назначенный ему сканер - не совсем понял, это получается программировать что-ли надо? Хотелось бы обойтись какими-нибудь стандартными средствами - ведь в 1с 7 они же работали!
4. spacecraft 05.05.15 22:58 Сейчас в теме
(3) serpolit, стандартными средствами вряд ли получится. Там проверка подключения идет на компьютер, а при RDP он один (сервер). Этот геморрой 1С никак не хочет решать даже в УФ. Хотя там чуть попроще решается.
В данном случае только править код. В обработке ТОСервер.
5. serpolit 8 14.05.15 12:50 Сейчас в теме
(4) spacecraft, Чтобы не править код решил сделать у данных пользователей запуск 1с не в терминальном режиме, а с локальной станции и сканеры стали привязываться к локальному компьютеру и работают. Почему-то до этого думал, что так будут проблемы с лицензиями на 1с, но на самом деле все нормально. Всем спасибо.
6. ture 606 14.05.15 15:01 Сейчас в теме
(1) пихаем в разъем клавиатуры
настраиваем префикс и постфикс (должны быть равны, кажись "=") и больше нет проблем со сканером
7. spacecraft 14.05.15 15:08 Сейчас в теме
(6) ture, тут проблема не в сканере, а в обработке обслуживания. Она тупо находит все "подключенное" оборудование на рабочее место (а на сервере по RDP это всегда одно и тоже для всех). Соответственно даже у кого сканера нет, обработка будет его пробовать подключить.
В БПО под управляемые формы немного получше сделали. Можно для каждого пользователя свое рабочее место указать.
8. azubar 45 07.03.18 15:55 Сейчас в теме
Хоть тема и старая но с ней приходится до сих пор сталкиватся, в 1С оборудование привязывается к имени компьютера при настройке, на терминалте имя компьютера одинаково для всех подключенных сеансов, но имя удаленного компьютера подключенного к терминалу можно определить используюя WScript.Shell (работает только в Windows).
Я решил эту проблему изменив в модуле обработки подключения оборудования (Обработки.ТОСервер) функцию получения имени компьютера:

Функция ПолучитьИмяКомпьютераТО() Экспорт

    Если мИмяКомпьютера = Неопределено Тогда
        ПеременныеОкружения = ПолучитьПеременныеОкружения();
        мИмяКомпьютера         = ВРег(ПеременныеОкружения.Получить("ИмяКопьютера"));
    КонецЕсли;

    Возврат мИмяКомпьютера;

КонецФункции // ПолучитьИмяКомпьютераТО()


Функция ПолучитьПеременныеОкружения() Экспорт

    ПеременныеОкружения = Новый Соответствие;
  
    WshShell = Новый COMОбъект("WScript.Shell");
  
    ИмяЛокальногоКомпьютера = WshShell.ExpandEnvironmentStrings("%ComputerName%");
    ИмяУдаленногоКомпьютера = WshShell.ExpandEnvironmentStrings("%ClientName%");
  
    Если ИмяУдаленногоКомпьютера = "%ClientName%" Тогда
        //1С запущена на локальном компьютере
        ИмяУдаленногоКомпьютера = "";
        ИмяКопьютера            = ИмяЛокальногоКомпьютера;
    Иначе
        //1С запущена на удаленном компьютере (RDP)
        ИмяКопьютера            = ИмяУдаленногоКомпьютера;
    КонецЕсли;
  
    ПеременныеОкружения.Вставить("ИмяЛокальногоКомпьютера",     ИмяЛокальногоКомпьютера);
    ПеременныеОкружения.Вставить("ИмяУдаленногоКомпьютера",     ИмяУдаленногоКомпьютера);
    ПеременныеОкружения.Вставить("ИмяКопьютера",                 ИмяКопьютера);
    ПеременныеОкружения.Вставить("ИмяПользователя",             WshShell.ExpandEnvironmentStrings("%UserName%"));
    ПеременныеОкружения.Вставить("ИмяСессии",                     WshShell.ExpandEnvironmentStrings("%SESSIONNAME%"));
    ПеременныеОкружения.Вставить("CMD",                         WshShell.ExpandEnvironmentStrings("%COMSPEC%"));
    ПеременныеОкружения.Вставить("ДоменПользователя",            WshShell.ExpandEnvironmentStrings("%USERDOMAIN%"));
  
    Возврат ПеременныеОкружения;
  
КонецФункции 
Показать
goatmen; user1212; +2 Ответить
9. andreyrosp 11 28.11.18 09:57 Сейчас в теме
Спасибо! Изменение процедуры очень сильно помогло.
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день