ПОДОБНО таблице значений

1. user820837 25.03.20 18:20 Сейчас в теме
Пытаюсь сделать удобный поиск номенклатуры по наименованию. Нужно чтобы искало по отдельным слогам.

К примеру есть наименование "Колодки тормозные передние" нужно чтобы при вводе в "кол пер" выдавало эту номенклатуру.

Для начала я разбил запрос на отдельные слова
РазбитыйЗапрос = СтрРазделить(Элемент.Значение, " ", ложь);


получившийся массив внес в таблицу значений
 
	Слоги = новый таблицазначений;
        Слоги.Колонки.Добавить("название", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(20)));
        Для Каждого ЭлементМассива из РазбитыйЗапрос Цикл
        стр = Слоги.добавить();
        стр.название = ЭлементМассива;
        КонецЦикла;
 


теперь запросом запросом нужно сравнить слоги из ТЗ с наименованием номенклатуры, тут у меня тупик.
Пока набрасал такой запрос

	
		Запрос = Новый Запрос;

	       Запрос.Текст =
		"ВЫБРАТЬ
		| ВнешнийИсточник.название
		|ПОМЕСТИТЬ ВременнаяТаблица
		|ИЗ
		|    &ВнешнийИсточник КАК ВнешнийИсточник
		|;
		|
		////////////////////////////////////////////////////////////­////////////////////
		
		|ВЫБРАТЬ
		| ВременнаяТаблица.название,
		| Номенклатура.Код
		|ИЗ
		| Справочник.Номенклатура КАК Номенклатура
		|        ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица КАК ВременнаяТаблица
		|        ПО Номенклатура.Наименование ПОДОБНО ВременнаяТаблица.название
		|";   

		Запрос.УстановитьПараметр("ВнешнийИсточник", Слоги);
Показать


И ессестно оно не работает.
По теме из базы знаний
Найденные решения
4. Jen1978 19 26.03.20 11:02 Сейчас в теме
нужно так
Слоги= "%" + СтрЗаменить(Элемент.Значение," ","%") + "%";э



затем
Запрос = Новый Запрос;

           Запрос.Текст ="
        |ВЫБРАТЬ
        | Номенклатура.Наименование,
        | Номенклатура.Код
        |ИЗ
        | Справочник.Номенклатура КАК Номенклатура
        |        ГДЕ Номенклатура.Наименование ПОДОБНО &Слоги
        |";   

        Запрос.УстановитьПараметр("Слоги", Слоги);
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. antz 25.03.20 19:43 Сейчас в теме
Не надо никакой таблицы значений. Вы справку про ПОДОБНО читали вообще?
3. muskul 26.03.20 04:11 Сейчас в теме
Мало того родной поиск так и сработает как вы хотите
4. Jen1978 19 26.03.20 11:02 Сейчас в теме
нужно так
Слоги= "%" + СтрЗаменить(Элемент.Значение," ","%") + "%";э



затем
Запрос = Новый Запрос;

           Запрос.Текст ="
        |ВЫБРАТЬ
        | Номенклатура.Наименование,
        | Номенклатура.Код
        |ИЗ
        | Справочник.Номенклатура КАК Номенклатура
        |        ГДЕ Номенклатура.Наименование ПОДОБНО &Слоги
        |";   

        Запрос.УстановитьПараметр("Слоги", Слоги);
Показать
5. user820837 26.03.20 11:13 Сейчас в теме
(4) Спасибо большое за помощь!
Оставьте свое сообщение

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