![]() |
![]() |
![]() |
|
Затык с ПоказатьВыборИзМеню | ☑ | ||
---|---|---|---|---|
0
ivanich1789
25.06.15
✎
17:46
|
Всем привет. Розница 2.1. Часто штрихкод не читается сканером и вбивается вручную. Поступление товара по накладным поставщиков также идет по штрихкоду. Чтобы упростить процесс решил сделать подбор по части штрихкода(точнее его последним символам). Добавил в тч колонку штрихкод. При вводе, по энтеру, запросом создаю списокзначений с нужной номенклатурой. Дальше ПоказатьВыборИзМеню(). На мгновенье появляется список, выбора не происходит, отрабатывает оповещение ПослеВыбораИзМеню и фокус перескакивает на поле Номенклатура. Как я понимаю дело в подтверждении ввода энтером и автоматическом переходе к следующему элементу ввода. Подскажите, люди добрые, что делаю не так. Опыта в восьмерке не густо. Спасибо.
|
|||
1
Гёдза
25.06.15
✎
18:14
|
стандартнаяобработка = ложь
|
|||
2
ivanich1789
26.06.15
✎
10:59
|
Делаю по событию ПриИзменении. Стандартной обработки, как понимаю, в нем нет.
&НаСервере Функция ПоискШК(СтрокаШаблона) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Штрихкоды.Владелец КАК Владелец, | Штрихкоды.Штрихкод КАК Штрихкод, | Штрихкоды.Характеристика, | Штрихкоды.ТипШтрихкода, | Штрихкоды.Упаковка |ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды |ГДЕ | Штрихкод ПОДОБНО ""%"+СтрокаШаблона+""""; Список = Новый СписокЗначений; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Список.Добавить(ВыборкаДетальныеЗаписи.Владелец, Строка(ВыборкаДетальныеЗаписи.Владелец)); КонецЦикла; Возврат(Список); КонецФункции &НаКлиенте Процедура ТоварыШтрихКодПриИзменении(Элемент) ТекущаяСтрока = Элементы.Товары.ТекущиеДанные; ШК = ТекущаяСтрока.Штрихкод; Если СтрДлина(ШК) < 4 Тогда Сообщить("Код должен быть не меньше 4х символов"); Возврат; КонецЕсли; СтрокаШаблона = "["; Для Сч = 1 По СтрДлина(ШК) Цикл СтрокаШаблона = СтрокаШаблона + Сред(ШК, Сч, 1); Если Сч <> СтрДлина(ШК) Тогда СтрокаШаблона = СтрокаШаблона + "]["; КонецЕсли; КонецЦикла; СтрокаШаблона = СтрокаШаблона + "]"; РезультатПоиска = Новый СписокЗначений; РезультатПоиска = ПоискШК(СтрокаШаблона); Оповещение = Новый ОписаниеОповещения("ПослеВыбораИзМеню", ЭтотОбъект , Параметры); ПоказатьВыборИзМеню(Оповещение, РезультатПоиска); КонецПроцедуры &НаКлиенте Процедура ПослеВыбораИзМеню(ВыбранныйЭлемент, Параметры) Экспорт Сообщить(ВыбранныйЭлемент); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |