"Управление торговым предприятием для Украины", редакция 1.2.
Разработка конфигурации: "ABBYY Ukraine", 2007-2015 (1.2.29.1)
Здравствуйте коллеги.
Хочу реализовать что то подобное "Живому поиску" по названию номенклатуры.
Для этого ловлю событие "АвтоподборТекста"
в событии делаю классический отбор по наименованию. Всё вроде работает. Но возникает ньюанс к примеру есть ном. "ГП-01 мужской" и "П-01". Если делаю сравнение "содержит" то при вводе "П-0" в список попадают все записи с "ГП-0". Когда делаю отбор по сравнению с "Равно" нужно полностью вводить название модели что не очень удобно, да и часто есть необходимость быстро выбрать по порядку наименования типа "П-01", "П-02", ......"П-09"
пробовал добавлять в значение сравнения символ "%", но он не работает так же как в запросе.
Есть ли у кого то идеи по этому поводу?
код привожу, заранее благодарен
Процедура ПолеВвода1ПриИзменении(Элемент)
пДлинаСтроки = СтрДлина(Строка(ЭлементыФормы.ПолеВводаПоиск.Значение));
Если пДлинаСтроки >=2 Тогда
ЭлементыФормы.СправочникДерево.ИерархическийПросмотр = Ложь;
ЭлементыФормы.СправочникДерево.Значение.Отбор.Наименование.ВидСравнения = ВидСравнения.Содержит;
ЭлементыФормы.СправочникДерево.Значение.Отбор.Наименование.Значение=Элемент.Значение;
ЭлементыФормы.СправочникДерево.Значение.Отбор.Наименование.Использование=Истина;
Иначе
ЭлементыФормы.СправочникДерево.Значение.Отбор.Наименование.Использование=ложь;
ЭлементыФормы.СправочникДерево.ИерархическийПросмотр = Истина;
ЭлементыФормы.СправочникДерево.ТекущийРодитель = Справочники.Номенклатура.НайтиПоНаименованию("Продукция");
КонецЕсли;
ТекущийЭлемент = ЭлементыФормы.СправочникДерево;
КонецПроцедуры
упс, выложил код с события "При изменении"
вот с автоподбора
Процедура ПолеВвода1АвтоПодборТекста(Элемент, Текст, ТекстАвтоПодбора, СтандартнаяОбработка)
Если СтрДлина(Текст) >=1 Тогда
ЭлементыФормы.СправочникДерево.ИерархическийПросмотр = Ложь;
ЭлементыФормы.СправочникДерево.Значение.Отбор.Наименование.ВидСравнения = ВидСравнения.Содержит;
ЭлементыФормы.СправочникДерево.Значение.Отбор.Наименование.Значение=Текст+"%";
ЭлементыФормы.СправочникДерево.Значение.Отбор.Наименование.Использование=Истина;
Иначе
ЭлементыФормы.СправочникДерево.Значение.Отбор.Наименование.Использование=ложь;
ЭлементыФормы.СправочникДерево.ИерархическийПросмотр = Истина;
ЭлементыФормы.СправочникДерево.ТекущийРодитель = Справочники.Номенклатура.НайтиПоНаименованию("Продукция");
КонецЕсли;
КонецПроцедуры
Хотя суть дела не меняется)