ПОДОБНО в запросе 1С ищет строковые значения по шаблону. Его используют для поиска номенклатуры по артикулу, контрагента по части наименования и документов по внешнему номеру.
% — любое количество символов, включая пустую строку;_ — ровно один произвольный символ.ВЫБРАТЬ
| Номенклатура.Ссылка, Номенклатура.Наименование
|ИЗ Справочник.Номенклатура КАК Номенклатура
|ГДЕ Номенклатура.Наименование ПОДОБНО &Шаблон
Запрос.УстановитьПараметр("Шаблон", "%кабель%");Шаблон передают параметром, а не склеивают с текстом запроса. Так проще обработать кавычки и пустой ввод. Если пользователь не ввёл строку, не выполняйте поиск с %%: он вернёт почти весь справочник и может замедлить базу.
Сравнение строк зависит от настроек и СУБД. Нормализуйте пользовательский ввод, если это нужно бизнес-правилу, и не запускайте поиск с ведущим процентом на огромном справочнике без ограничения. Для точного артикула лучше использовать равенство, а не ПОДОБНО.
Если пользователь может вводить символы % и _ как обычный текст, обработайте их по правилам выбранного шаблона. Иначе пользовательский ввод станет маской и выдаст неожиданные строки.
Если поиск должен работать быстро по наименованию, артикулу и штрихкоду одновременно, подберём безопасную схему отбора. Опишите поиск — оценим доработку.
Станьте частью сообщества!
Войдите или зарегистрируйтесь, и вы сможете участвовать в обсуждениях.