Имя: Пароль:
1C
1С v8
Сканер штрих кода. Разрыв клавиатуры
,
0 LehhaK
 
13.03.13
11:46
Дядьки, до недавнего времени стоял сканер штрихкода (считывал дисконтные карты), т.е. без дров без нифига, работал просто в разрыв клавиатуры, отбор делал, все было ок. Щас вот решили попробовать внедрить создание документов с помощью этого сканера. Понятно, что без дров не взлетело. Поставил АТОЛовские дрова, те, что последние из бесплатных. Все ок, теперь номенклатура во все табличные части документов добавляется как надо, но перестал работать просто ввод цифр. Сканер теперь установлен в "Торговом Оборудовании", порт "клавиатура". Если я его там отключаю, то опять отбор работает норм, а номенклатура не добавляется.
Собственно, вопрос: как мне и рыбку съесть и сковородку не помыть? :))
З.Ы. конфа УТ 10.3 платформа 8.2.17
1 LehhaK
 
13.03.13
11:50
Поясню - если, например, я в поле комментарий установлю курсор и сканером считаю штрих код, то все 13 цифр туда внесутся, а если я нажму кнопку "отбор по штрих коду" и туда попробую чего нить добавить - то фиг, только ручками
2 Ткачев
 
13.03.13
11:51
>без дров без нифига
Через F7 что ли ?
3 LehhaK
 
13.03.13
11:52
(2) ога, через f7
4 LehhaK
 
13.03.13
11:55
Собсна, через f7 и перестало работать, в остальном - норм. Я вот думаю, мож с суффиксом #13 чего не так? Дык в обычные поля нормуль же вводит...
5 Ткачев
 
13.03.13
11:56
На F7 сделать отключение сканера из ТО
6 LehhaK
 
13.03.13
11:58
(5) Как вариант в принципе. А где можно код посмотреть? да и в каждом документе код править чтоли? я думал мож чего настроил не так...
7 sapphire
 
13.03.13
11:58
(4) Нет. Просто при включении драйвера сканера в разрыв клавиатуры весь ввод от сканера будет передан драйверу, если настроено. По идее, либо в форме обрабатывать событие от сканера, либо при открытии формы отключать сканер.
8 Ткачев
 
13.03.13
11:59
ПолучитьСерверТО().ОтключитьКлиента(ЭтаФорма);
Результат = "";
ВвестиСтроку(Результат, "Введите штрихкод");
ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);
9 Ткачев
 
13.03.13
12:00
Кстати чем событие то не нравиться ?
10 LehhaK
 
13.03.13
12:04
(8) спасибо, нашел процедуру :)
(9) А с событием как? Оно мне не не нравится, я просто ожидал ответа "Вот там вон галочку поставь" :)
11 LehhaK
 
13.03.13
12:06
(9) Все, разобрался. Подпиской, я так понимаю, грамотнее и проще?
12 Ткачев
 
13.03.13
12:10
(11)А подписка тут каким местом ?
13 LehhaK
 
13.03.13
12:11
(12) Так... тогда каким событием?
14 Ткачев
 
13.03.13
12:13
В форме Процедура ВнешнееСобытие(Источник, Событие, Данные)
15 LehhaK
 
13.03.13
12:13
У меня обычные формы, если что :))
16 LehhaK
 
13.03.13
12:14
Все! прогнал! Спасибо)))
17 ssh2006
 
13.03.13
12:23
Ну и для полноты картины, в модуле приложения есть еще:

ОбработкаВнешнегоСобытия (ExternEventProcessing)
Синтаксис:
ОбработкаВнешнегоСобытия(<Источник>, <Событие>, <Данные>)
Параметры:
<Источник>
Тип: Строка. Источник события.
<Событие>
Тип: Строка. Наименование события.
<Данные>
Тип: Строка. Данные для события.
Описание:
Возникает при посылке внешним приложением сообщения, сформированного в специальном формате. Внешнее событие сначала обрабатывается всеми открытыми формами, имеющими процедуру-обработчик этого события, а затем может быть обработано в процедуре-обработчике модуля приложения.
18 LehhaK
 
14.03.13
09:40
Хм.... заметил странную вещь. Открываю список, например, информационных карт. Жмакаю f7 ввожу код. Все ок, все ищет. Открываю заказ покупателя. Там начинаю заполнять сканером товары. Все ок, все работает. Перехожу обратно в список инф. карт, жмакаю опять f7, ничего в поле сканером не вводится,тока ручками, пока не закрою заказ покупателя. Закрыл - опять все ок. В процедуре поиска по штрихкоду ПолучитьСерверТО().ОтключитьКлиента(ЭтаФорма);
Стоит. Что за колдунство?
19 LehhaK
 
14.03.13
12:36
пожалуй, подниму, а то COM порт чего то не пробрасывается до RDP, да и не уверен я, что поможет...
20 Галахад
 
гуру
14.03.13
12:38
(19) Не охота всю тему читать. Сейчас в чем проблема?
21 LehhaK
 
14.03.13
12:40
Если открыт заказ покупателя или другйо какой документ, в который данные сканером вносятся, то, открыв чегонить и жмакнув Ф7 ничего отсканить не получается. как то так :)
22 LehhaK
 
14.03.13
12:41
грубо говоря, если манагер захочет найти информационную карту, открыв форму списка справочника, то пока у нег ооткрыт хоть один документ, сканером он ничего не считает
23 Галахад
 
гуру
14.03.13
12:42
Гм. А для чего F7 нужно?
24 LehhaK
 
14.03.13
12:43
открывает форму поиска по штрихкоду же
25 LehhaK
 
14.03.13
12:44
у нас, например, на кассе, открыв форму списка документа "заказ покупателя", легко находят документ через Ф7. Там запилена маленькая обработка, которая штрих код с номером документа сопоставляет. Раньше сканер только под это и юзался. Теперь с дровами его можно юзать по прямому назначению, но возникает вот такой вот трабл
26 Галахад
 
гуру
14.03.13
12:47
(24) А если без F7. Просто пикнуть?
27 LehhaK
 
14.03.13
12:49
(26) то пытается по наименованию найти. Разрыв клавиатуры же
28 LehhaK
 
14.03.13
12:50
поэтому я и думал, может черз КОМ реализовать, но на RDP не пробросилось у меня устройство :(
29 Web00001
 
14.03.13
13:07
>>но на RDP не пробросилось у меня устройство
где то не разрешил его пробрасывать (мест всего два)или на этом номере ком кто то уже сидит(надо сменить номер порта), то есть решаемый вопрос.
Что бы заработал поиск по ф7, запили обработку на место ф7 которая будет принимать событие от сканера и делать с полученными данными, то что ей надо делать(по номеру там искать или еще что). Так будет надежнее.
30 Web00001
 
14.03.13
13:08
>>Что за колдунство?
31 Web00001
 
14.03.13
13:09
+(30) тоже замечал, пока открыта хотя бы одна форма которая принимает данные со сканера, сканер считается подключенным.
32 LehhaK
 
14.03.13
13:19
(31) Никак не победить? Если с этим справиться, то хрен с ним с (29). И в разрыв клавиатуры поработает нормально
33 LehhaK
 
14.03.13
14:02
Заменил в обработке
ПолучитьСерверТО().ОтключитьКлиента(ЭтаФорма);
   
   Результат = РаботаСТорговымОборудованием.ВвестиШтрихкод();


на
Результат = "";

   Если ВвестиСтроку(Результат, "штрихкод") Тогда


Один фиг, если открыта форма заказа покупателя, ВвестиСтроку не отрабатывается. я ХЗ чего тут еще можно поменять. Как мне сканер то отлавливать?
34 Web00001
 
14.03.13
14:16
Дальше из области фантастики: получить список форм, перебрать, отключить. Обычные формы, получить все формы вроде как невозможно. То есть начнется: При подключении в обработке ТОСервер, куда то сохранять список форм подключивших Торговое оборудование, (например регистр), при отключении удалять из этого списка. Потом когда тебе нужен сканер в режиме ввода, отключить ТО у всех этих форм. Сканировать, включать обратно. Но это так в порядке бреда. Проще (29). У нас продавец, каждую операцию подтверждает бейджем со штрихкодом. Пришлось запилить форму для ввода данных со сканера. Это оказалось несложно.
35 LehhaK
 
14.03.13
14:23
(34) Ясно. Спасибо! Буду пробрасывать COM, значит