Имя: Пароль:
1C
1С v8
Поиск части наименования из массива
0 Coole
 
22.08.17
15:41
Подскажите пожалуйста,
есть массив ДанныеПоВхождениям = РазложитьСтрокуВМассивПодстрок("145 R12c,155 R12c,5.00 R12c,155 R13c,145 R13c,155 R13c",",");
и есть Номенклатура
как узнать есть ли в строке наименования Номеклатуры строка из элементов массива?
1 Лефмихалыч
 
22.08.17
15:41
Перебрать по очереди
2 1dvd
 
22.08.17
15:41
Перебирай массив и СтрНайти
3 Coole
 
22.08.17
15:59
Спасибо. Почему то думала есть более "красивый" способ
4 vicof
 
22.08.17
16:16
Можно не раскладывая в массив регулярными выражениями
5 Segate
 
22.08.17
16:17
А почему нельзя сделать так:
ИсходнаяСтрока = "145 R12c,155 R12c,5.00 R12c,155 R13c,145 R13c,155 R13c";

ДанныеПоВхождениям = РазложитьСтрокуВМассивПодстрок(ИсходнаяСтрока,",");

позицияПервого = СтрНайти(ИсходнаяСтрока,Номенклатура.Наименование);
6 Segate
 
22.08.17
16:18
Или тебе надо в номенклатуре искать подстроку?
7 Segate
 
22.08.17
16:18
Да, я чет криво прочитал
8 Segate
 
22.08.17
16:24
Можно в принципе сделать запрос, но не факт, что это будет быстрее... как нть так:

текстзапроса = "Выбрать
Номенклатура.ссылка
Из
Справочники.номенклтура как номенклатура
Где"
Первый = истина;
Для каждого элементМассива из массив цикл
Если не первый тогда
ТекстЗапроса = текстЗапроса + "И";
Иначе
Первый= ложь;
Конецесли;

ТекстЗапроса = ТекстЗапроса + "Номенклатура.наименование подобно %"+Элементмассива+"%";
конеццикла;
9 Segate
 
22.08.17
16:25
только не "и" а "или"
И у тебя получится запрос, в который можно параметром передать номенклатуру.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.