Modber Сообщество
профессионалов по 1С

Как в запросе задать условие аналогичное "Содержит" для сравнения строк?

  
Сообщений: 50

0
В коде задать можно условие, например:


Подстрока = "метал";
Строка = "вторметал";
Если Строка Содержит Подстрока Тогда
Сообщить("В строке найдена подстрока!!!");
КонецЕсли

В частности меня интересует условие "содержит". А вот и вопрос:
В запросе не нужно задать такое же условие, но как это проделать и с помощью какого оператором, не имею понятия!
Сообщений: 41

+2
Найти (Find)
Встроенные языковые функции

Найти (Find)
Синтаксис:
Найти(<Строка>, <Подстрока поиска>)
Параметры:
<Строка> (обязательный)
Тип: Строка. Исходная строка.
<Подстрока поиска> (обязательный)
Тип: Строка. Искомая подстрока.
Возвращаемое значение:
Тип: Число. Позиция первого знака найденной подстроки. В строке нумерация символов начинается с 1. Если же строка не имеет вышеуказанной подстроки, тогда возвращается 0.
Описание:
Находит в исходной строке вхождение искомой строки как подстроки.
К примеру:

Если Найти(Сотрудник.Имя, "Борис") > 0 Тогда
Сообщить(Сотрудник.Имя + " таб. №" + Сотрудник.Код);
КонецЕсли;
Сообщений: 69

+1
Для запроса используется условие "ПОДОБНО" с разными вариантами отборов:
% — любое кол-во любых символов
_ — один любой символ
[а] — один любой символ "а" (из скобок)
[0-9] — одна (любая) цифра
[^а] — не содержит символ(ы) из скобок

1) отберем "иностранцев" — в наименовании присутствуют латинские символы (хотя бы один символ из последовательность от a до z (без учета регистра)
Код 1C:
  1. ВЫБРАТЬ
  2. КонтактныеЛица.Ссылка,
  3. КонтактныеЛица.Пол
  4.  
  5. ИЗ
  6. Справочник.КонтактныеЛица КАК КонтактныеЛица
  7. ГДЕ
  8. КонтактныеЛица.Наименование ПОДОБНО "%[a-z]%"
2) В Ф.И.О. присутствуют пробелы (для очистки от "мусора")
Код 1C:
  1.  
  2. ВЫБРАТЬ
  3. КонтактныеЛица.Ссылка,
  4. КонтактныеЛица.Пол,
  5. КонтактныеЛица.CRM_ДатаРегистрации
    ИЗ
  6. Справочник.КонтактныеЛица КАК КонтактныеЛица
  7. ГДЕ
  8. КонтактныеЛица.Фамилия ПОДОБНО "% %"
  9. ИЛИ
  10. КонтактныеЛица.Имя ПОДОБНО "% %"
  11. ИЛИ
  12. КонтактныеЛица.Отчество ПОДОБНО "% %"
3) найдем "подозреваемых" в наличии e-mail в наименовании. Но можно и "промахнуться". Но в 99% случаев работает
Код 1C:
  1. ВЫБРАТЬ
  2. КонтактныеЛица.Ссылка
  3. ИЗ
  4. Справочник.КонтактныеЛицаКонтрагентов КАК КонтактныеЛица
  5. ГДЕ
  6. КонтактныеЛица.Наименование ПОДОБНО "%[a-z]@[a-z]%"
В начало страницы 
|
Перейти на форум: