Имя: Пароль:
1C
1С v8
Сканер в тонком клиенте...
,
0 mikecool
 
28.07.11
11:48
Посмотрел как подключили его в РТиУ
Добавил подключение к своей форме, но не отрабатывает ВнешнееСобытие
не отрабатывает ОбработкаОповещения
в РТиУ прописана ОбработкаОповещения, но где вызывается Оповестить() я не понял
может пнете в нужном направлении?
1 5 Элемент
 
28.07.11
12:10
(0) оповестить вызывается в модуле упр приложения

1. в ПриСозданииНаСервере
//РаботаСВнешнимОборудованием
ИспользоватьПодключаемоеОборудование = ПолучитьФункциональнуюОпцию("ИспользоватьПодключаемоеОборудование");
//Конец РаботаСВнешнимОборудованием


2. в ПриОткрытии
// МеханизмВнешнегоОборудования
Если ИспользоватьПодключаемоеОборудование
   И МенеджерОборудованияКлиент.ОбновитьРабочееМестоКлиента() Тогда
   
   ОписаниеОшибки = "";
   
   ПоддерживаемыеТипыВО = Новый Массив();
   ПоддерживаемыеТипыВО.Добавить("СканерШтрихкода");
   
   Если Не МенеджерОборудованияКлиент.ПодключитьОборудованиеПоТипу(УникальныйИдентификатор, ПоддерживаемыеТипыВО, ОписаниеОшибки) Тогда
       ТекстСообщения = НСтр("ru = 'При подключении оборудования произошла ошибка:
                             |""%ОписаниеОшибки%"".'");
       ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ОписаниеОшибки%", ОписаниеОшибки);
       ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
   КонецЕсли;
   
КонецЕсли;
// Конец МеханизмВнешнегоОборудования


3. в ОбработкаОповещения
// ПодключаемоеОборудование
Если Источник = "ПодключаемоеОборудование"
   И ВводДоступен() Тогда
   
   Если ИмяСобытия = "ScanData" Тогда
       
       //Преобразуем предварительно к ожидаемому формату
       Если Параметр[1] = Неопределено Тогда
           Данные = Новый Структура("Штрихкод, Количество", Параметр[0], 1); // Достаем штрихкод из основных данных
       Иначе
           Данные = Новый Структура("Штрихкод, Количество", Параметр[1][1], 1); // Достаем штрихкод из дополнительных данных
       КонецЕсли;
       
       ПолученыШтрихкоды(Данные);
       
   КонецЕсли;
   
КонецЕсли;
// Конец ПодключаемоеОборудование
2 mikecool
 
28.07.11
12:12
(1) это я провернул
щас порою модуль упр. приложения
3 5 Элемент
 
28.07.11
12:14
(2) см ПриНачалеРаботыСистемы, ПередЗавершениемРаботыСистемы, ОбработкаВнешнегоСобытия
4 mikecool
 
28.07.11
12:16
что-то он у меня и в типовой реализации не срабатывает ((
5 mikecool
 
28.07.11
12:16
как рабочее место вроде подключился(трассировал, видел создание места)
6 mikecool
 
28.07.11
12:22
а, блин, в упр. приложении по новой надо подключать сканер...
7 5 Элемент
 
28.07.11
12:23
(6) ну да, для упр приложения свои настройки
8 mikecool
 
28.07.11
12:28
какая то хрень наблюдается - при попытке скана в тонком клиенте он повисает, жрет 100% проца...
9 mikecool
 
28.07.11
12:46
что то тонкий клиент виснет даже при переходе по разделам (((
10 mikecool
 
28.07.11
14:29
тормозил он оттого, что перенес подключение оборудования из ПриНачалеРаботыСистемы в ПередНачалом
блин, у меня на рабочем столе обработка, которая юзает сканер, рукается на отсутствие оборудования (((
11 mikecool
 
28.07.11
14:40
не, вешается тонкий клиент на попытке отключения оборудования...
12 mikecool
 
28.07.11
14:46
вот в этой строке
Результат = ПолучитьОбработчикаДрайвера(ПодключенноеУстройство.ОбработчикДрайвера).ОтключитьУстройство(
13 5 Элемент
 
28.07.11
14:47
(12) слышал о такой проблеме, решения пока нет...
14 mikecool
 
28.07.11
17:08
похоже наткнулся на "старые" данные
поставил сканерчипер-лаб, поставил дрова и обработку - вроде работает нормально
а предыдущий ставил сканер ШК от 1С, который был установлен ранее, может на старые дрожжи не легло
15 mikecool
 
28.07.11
17:29
осталось понять - как сделать ВводДоступен() = Истина ((
16 mikecool
 
29.07.11
09:34
как заставить форму вернуть ВводДоступен() = Истина?
17 0xFFFFFF
 
29.07.11
09:42
(0) я вот чет не пойму - а зачем к сканеру какие то примочки, длл, события и прочая хрень, если сканер это та же клавиатура, только в профиль?
18 DenIv
 
04.08.11
14:24
(15) (16) Удалось?
19 mikecool
 
04.08.11
14:25
(18) неа ) работает через ВнешнееСобытие, как и было прописано
но как только пойму, как работает ВводДоступен - переделаю
20 DenIv
 
04.08.11
14:28
Отпишишься по факту? А то такаяже хрень. Работает пока вот так
Если Источник = "ПодключаемоеОборудование" Тогда
//И ВводДоступен() Тогда

:)
21 lubja
 
04.08.11
14:39
(19) у меня хрень была: ставлю точку останова на условии НЕ ВводДоступен() - попадала в условие, следовательно, возврат.
поставила на следующей за этой проверкой строке, все норм... ввод оказывался доступен... этой шутки я не поняла, но и не стала замарачиваться...
22 mikecool
 
04.08.11
15:11
(20) так у тебя отработают все обработчики всех открытых форм
23 RomaH
 
naïve
04.08.11
15:13
ВводДоступен() когда отладка - ты в конфигураторе на точке останова - и он Ложь возвращает?
24 lubja
 
04.08.11
15:13
(23) у меня да...
25 RomaH
 
naïve
04.08.11
15:14
(21) ... ну, немного подумать
ввод доступен где когда ты в конфигураторе?
26 lubja
 
04.08.11
15:27
(25) чего?!
27 RomaH
 
naïve
04.08.11
15:29
ВводДоступен - значит вводить можно в форму что-либо
когда ты на точке останова в конфигураторе где тебе ввод доступен?
28 mikecool
 
04.08.11
15:29
(25) по СП ВводДоступен() метод формы, она(форма) возвращает Ложь, какая разница, где я нахожусь?
29 mikecool
 
04.08.11
15:30
(27) в форме, которую отлаживаю
иначе - пользуйся, но не отладь?
30 lubja
 
04.08.11
15:33
(27) буду знать... но, в любом случае, я запомнила, что точку останова на эту строку не надо ставить))
31 DenIv
 
04.08.11
19:39
(23) Именно так