Имя: Пароль:
1C
1С v8
Ошибка Сканера ШК
0 Альбатрос
 
31.07.15
07:01
Платформа 1С:Предприятие 8.2 (8.2.19.90)
Конфа Управление торговлей", редакция 10.3 (10.3.18.3)
Ситуация: Локально к компьютеру подключается сканер ШК через КОМ-порт, пробрасывается через РДП на сервер. Все работает, все сканируется. Но у одного пользователя при попытке открыть, например, документ, где используется обработка сканера (ПоступлениеВНТТ конкретно) вылетает ошибка:{ВнешняяОбработка.СканерШтрихкода.МодульОбъекта(260)}: Ошибка при вызове метода контекста (Занять)
        Если Объект.Драйвер.Занять(1) = 0 Тогда
И документ не открывается.

У других пользователей не вылетает. Права полные. Кэш не при чем.  
Что за хрень?
1 Альбатрос
 
31.07.15
07:01
Все работают через РДП на сервере.
2 Альбатрос
 
31.07.15
07:02
Собссно Функция, где вылетает ошибка:

// Функция осуществляет подключение устройства.
// (API v2.0)
//
// Параметры:
//  Объект                         - <*>
//                                 - Объект драйвера торгового оборудования.
//
// Возвращаемое значение:
//  <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция Подключить(Объект) Экспорт

    Результат = мНетОшибки;

    Если Объект.Драйвер.Подсоединить("Сканер штрихкода") <> 0 Тогда
        Результат = мОшибкаПриПодключении;
    КонецЕсли;

    Если Результат = мНетОшибки Тогда
        Объект.Драйвер.БитДанных  = Объект.Параметры.БитДанных;
        Объект.Драйвер.Порт       = Объект.Параметры.Порт;
        Объект.Драйвер.Скорость   = Объект.Параметры.Скорость;
        Объект.Драйвер.СтопБит    = Объект.Параметры.СтопБит;
        
        // начиная с версии 8.0.12.2 произошли изменения в интерфейсе драйвера
        Если ВерсияСтрокаВЧисло(Объект.Драйвер.ПолучитьНомерВерсии()) >= 8001202 Тогда
            Объект.Драйвер.ПрефиксСтрока = СПВСимволы(Объект.Параметры.Префикс, 0);
            Объект.Драйвер.СуффиксСтрока = СПВСимволы(Объект.Параметры.Суффикс, 13);
            Объект.Драйвер.Таймаут = Объект.Параметры.Таймаут;
        Иначе
            Объект.Драйвер.СтопСимвол = КодСимвола(СПВСимволы(Объект.Параметры.Суффикс, 13));
        КонецЕсли;
        
        Объект.Драйвер.ИмяСобытия = "ПолученШтрихкод";

        Если Объект.Драйвер.Занять(1) = 0 Тогда
            Объект.Драйвер.УстройствоВключено = 1;
            Объект.Драйвер.ПосылкаДанных      = 1;
            Объект.Драйвер.ОчиститьВход();
            Объект.Драйвер.ОчиститьВыход();
            Если Объект.Драйвер.УстройствоВключено <> 1 Тогда
                Отключить(Объект);
                Результат = мОшибкаПриПодключении;
            КонецЕсли;
        Иначе
            Отключить(Объект);
            Результат = мОшибкаПриПодключении;
        КонецЕсли;
    КонецЕсли;

    Возврат Результат;

КонецФункции // Подключить()
3 Альбатрос
 
31.07.15
07:10
Где найти описание методов драйвера 1с:Сканер штрихкода?
4 PaulBC
 
31.07.15
07:15
В УТ настройки ТО хранятся в РС ТорговоеОборудование, в котором рабочие места идентифицируются по имени компьютера. При подключении по РДП имя компьютера у всех одно, соответственно настройки сканера одни на всех, и если у пользователя на рабочем месте нет сканера (или вообще ком-порта), выдается ошибка.
5 PaulBC
 
31.07.15
07:15
Я добавлял в РС ТорговоеОборудование ресурс Пользователь и дописывал процедуры управления ТО.
6 Альбатрос
 
31.07.15
07:16
(4) Ни фига. Настройки одни, это да. Но у других ошибок нет, только у одного пользователя. У пользователя, который не посредственно работает со сканером тоже все норм.
7 Альбатрос
 
31.07.15
07:17
(4) Я это в первую очередь проверил.
8 PaulBC
 
31.07.15
07:22
9 Альбатрос
 
31.07.15
07:24
(8) Спс, буду разбираться