сделать активным штрих код

1. olo_lo4 21.07.17 13:35 Сейчас в теме
добрый день.управляемой приложение .разместил на форме поле ввода ШК хочу чтобы пользователь сканировал и поле оставалось пустым.у них нет ТСД и они хотят сканировать бесперерыва. разместил ПриИзменении код

&НаКлиенте

Процедура ШКПриИзменении(Элемент)
    ОбработатьШтрихкоды(ШтрихкодированиеНоменклатурыКлиент.ПолучитьСтруктуруДанныхШтрихкода(ШК, 1));
    ШК="";
    ЭтаФорма.ТекущийЭлемент = Элементы.ШК; 
КонецПроцедуры



но все равно реквизит не активен после ввода штрих кода
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. BackinSoda 21.07.17 14:46 Сейчас в теме
(1) Может сам Элемент использовать, а не этаформа.ТекущийЭлемент ?
+
4. olo_lo4 24.07.17 00:02 Сейчас в теме
(3) да спасибо все именно так и получилось!
+
5. e.kogan 1892 18.02.19 16:44 Сейчас в теме
(4) Как именно получилось? У меня никак не возвращает фокус (
+
6. herfis 498 18.02.19 16:59 Сейчас в теме
(5) Как получилось два года назад, я не знаю :)
Но если проблема в том, о чем я думаю, то попробуйте вынести установку фокуса из обработчика события этого элемента через инициирование другого события. Например, установив однократный обработчик ожидания или через механизм оповещений.
+
9. e.kogan 1892 21.02.19 01:25 Сейчас в теме
(6) Да через вынос понятно как, я не понимаю, почему вообще оно перестало... очень не хотелось плодить процедуры, но пришлось подключитьобработчикожидания
+
2. olo_lo4 21.07.17 14:44 Сейчас в теме
добавил вообще при вводе штрих кода стал писать не найдено

&НаКлиенте
Процедура ШКОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
    Текст = "";
    ЭтаФорма.ТекущийЭлемент = Элементы.ШК;
    Элементы.ШК.АктивизироватьПоУмолчанию=Истина; 
    СтандартнаяОбработка = ложь;
КонецПроцедуры
+
7. herfis 498 18.02.19 17:08 Сейчас в теме
Может, у человека получилось, когда он заменил
ЭтаФорма.ТекущийЭлемент = Элементы.ШК;

На
ЭтаФорма.ТекущийЭлемент = Элемент;
из параметра обработчика события?
Могу предположить, что эти на первый взгляд одинаковые вещи могут отрабатывать по-разному в таком тонком случае, как изменение некоторых параметров связанных с элементом непосредственно из обработчика события элемента.
+
8. independ 1520 18.02.19 18:00 Сейчас в теме
В https://infostart.ru/public/663578/ сделано так, через обработчик ожидания

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ЭтаФорма.ТекущийЭлемент=Элементы.Штрихкод;
	Штрихкод="";
	ПодключитьОбработчикОжидания("ПриОжиданииВводаШтрихкода",5/10,Истина);
КонецПроцедуры

&НаКлиенте
Процедура ПриОжиданииВводаШтрихкода()
	ШтрихкодПриИзменении("");
КонецПроцедуры	

&НаКлиенте
Процедура ШтрихкодПриИзменении(Элемент)
	
	Если Штрихкод<>"" Тогда
		Штрихкод=СтрЗаменить(Штрихкод,Символы.ПС,"");
		ШтрихкодВвод=Штрихкод;
		Штрихкод="";
		ОбработатьВводШтрихкодов(ШтрихкодВвод);
	КонецЕсли;
	
	ЭтаФорма.ТекущийЭлемент=Элементы.Штрихкод;
	ПодключитьОбработчикОжидания("ПриОжиданииВводаШтрихкода",5/10,Истина);
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработатьВводШтрихкодов(Штрихкод) Экспорт
	
	ДанныеПоиска=Неопределено;
	ВыполнитьПоискНаСервере(Штрихкод,ДанныеПоиска);
	
Показать
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот