Пытаюсь сделать удобный поиск номенклатуры по наименованию. Нужно чтобы искало по отдельным слогам.
К примеру есть наименование "Колодки тормозные передние" нужно чтобы при вводе в "кол пер" выдавало эту номенклатуру.
Для начала я разбил запрос на отдельные слова
получившийся массив внес в таблицу значений
теперь запросом запросом нужно сравнить слоги из ТЗ с наименованием номенклатуры, тут у меня тупик.
Пока набрасал такой запрос
И ессестно оно не работает.
К примеру есть наименование "Колодки тормозные передние" нужно чтобы при вводе в "кол пер" выдавало эту номенклатуру.
Для начала я разбил запрос на отдельные слова
РазбитыйЗапрос = СтрРазделить(Элемент.Значение, " ", ложь);
получившийся массив внес в таблицу значений
Слоги = новый таблицазначений;
Слоги.Колонки.Добавить("название", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(20)));
Для Каждого ЭлементМассива из РазбитыйЗапрос Цикл
стр = Слоги.добавить();
стр.название = ЭлементМассива;
КонецЦикла;
теперь запросом запросом нужно сравнить слоги из ТЗ с наименованием номенклатуры, тут у меня тупик.
Пока набрасал такой запрос
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВнешнийИсточник.название
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| &ВнешнийИсточник КАК ВнешнийИсточник
|;
|
//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВременнаяТаблица.название,
| Номенклатура.Код
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица КАК ВременнаяТаблица
| ПО Номенклатура.Наименование ПОДОБНО ВременнаяТаблица.название
|";
Запрос.УстановитьПараметр("ВнешнийИсточник", Слоги);
ПоказатьИ ессестно оно не работает.
По теме из базы знаний
- Еще один (:-)) простейший алгоритм определения итогов по группировкам для произвольных таблиц значений.
- Добавление таблицы значения с помощью дополнительных реквизитов и расширения конфигурации. На примере Документооборот 2.1.6.8
- Таблица значений - синтаксический сахар
- Поиск по подстроке в таблице значений. По принципу "начинается с"
- Как передать Таблицу Значений в Динамический Список?
Найденные решения
нужно так
Слоги= "%" + СтрЗаменить(Элемент.Значение," ","%") + "%";э
затем
Слоги= "%" + СтрЗаменить(Элемент.Значение," ","%") + "%";э
затем
Запрос = Новый Запрос;
Запрос.Текст ="
|ВЫБРАТЬ
| Номенклатура.Наименование,
| Номенклатура.Код
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ГДЕ Номенклатура.Наименование ПОДОБНО &Слоги
|";
Запрос.УстановитьПараметр("Слоги", Слоги);
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
нужно так
Слоги= "%" + СтрЗаменить(Элемент.Значение," ","%") + "%";э
затем
Слоги= "%" + СтрЗаменить(Элемент.Значение," ","%") + "%";э
затем
Запрос = Новый Запрос;
Запрос.Текст ="
|ВЫБРАТЬ
| Номенклатура.Наименование,
| Номенклатура.Код
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ГДЕ Номенклатура.Наименование ПОДОБНО &Слоги
|";
Запрос.УстановитьПараметр("Слоги", Слоги);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот