Имя: Пароль:
1C
1С v8
Можно ли сделать так?
,
0 murzo1
 
27.06.12
17:22
Например имеется строка в файле: "SORENTO". В базе задано такое наименование: "XLSORENTO JS", к тому же в базе может быть задано сотни других наименований. Надо чтобы если в строке этой "XLSORENTO JS" имелся данный шаблон "SORENTO", то ИСТИНА. Надо сделать без запроса. Подскажите как такое реализовать?
1 ukolabrother
 
27.06.12
17:24
через регулярные выражения можно
2 1C-band
 
27.06.12
17:24
Вызвать специалиста.
3 НастоящееИмя
 
27.06.12
17:24
можно конечно. в запросе.
4 Fragster
 
гуру
27.06.12
17:24
если это типа "лабораторная работа", что условие такое "без запроса" - то обходи справочник, сравнивай через Найти().
5 murzo1
 
27.06.12
17:25
(2)(3) самые умные чтоль )
6 НастоящееИмя
 
27.06.12
17:25
Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

% (процент): последовательность, содержащая любое количество произвольных символов
_ (подчеркивание): один произвольный символ
[…] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок
В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.
[^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания
Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки.

Например, шаблон “%АБВ[0-9][абвг]\_абв%” СПЕЦСИМВОЛ “\” означает подстроку, состоящую из последовательности символов:
буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в.

Причем перед этой последовательностью может располагаться произвольный набор символов.
7 murzo1
 
27.06.12
17:25
(4) можно, но долго буит...
8 Eugene_life
 
27.06.12
17:26
НайденШаблон = Ложь;
Для Каждого ТекЭлемент Из .... Цикл
Если Найти(ТекЭлемент.Наименование,"SORENTO")>0 Тогда
  НайденШаблон = Истина;
КонецЕсли;
КонецЦикла;
9 НастоящееИмя
 
27.06.12
17:29
|Выбор
|  Когда Наименование ПОДОБНО "%SORENTO%" тогда Истина //Подходит любая строка, начинающаяся с "SORENTO"
|  Иначе Ложь
|конец Как Результат

Вроде как то так. Если память не изменяет
10 mikecool
 
27.06.12
17:31
(9) Подходит любая строка, начинающаяся с "SORENTO" - врешь
11 Eugene_life
 
27.06.12
17:31
(9) Надо сделать без запроса. (!!!)
12 НастоящееИмя
 
27.06.12
17:33
(10) Содержащая "SORENTO". Сорри.
(11) Не дочитал :) тогда (8)
13 Mafoni
 
27.06.12
17:54
(0) StrMatch.dll - тебе вполне поможет. Недавно столкнулся со схожей проблемой - решил ее только с помощью этой длл.
14 Nik_nik_nik
 
27.06.12
18:27
(13) сурово такие задачи решать через левые dll
15 skigs
 
27.06.12
18:46
(8)Маленькие буквы не найдешь.
16 Hande hoch
 
27.06.12
18:50
может так... должен найти не зависимо маленькие или большие буквы
Если Найти(ВРег(ТекЭлемент.Наименование),"SORENTO")>0 Тогда
2 + 2 = 3.9999999999999999999999999999999...