|
Поиск "Подобно" как в запросе 1с8 | ☑ | ||
---|---|---|---|---|
0
Casper211
13.03.17
✎
01:07
|
У меня есть строка "5-5*99/01.23,001"
Я ищу "59901230" и мне надо чтобы нашло эту позицию. То есть поиск как в запросе "Подобно". Как это можно сделать? |
|||
1
Casper211
13.03.17
✎
01:08
|
то есть вот так "%59901230%"
Чтобы находило подряд эти цифры. И все равно что впереди или в конце |
|||
2
Casper211
13.03.17
✎
01:14
|
просто использовать СтрЗаменить?
|
|||
3
Casper211
13.03.17
✎
01:14
|
СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими(":)+-*}{[]-?#$%^&=._/\|(-!№;%?", ОригинальнаяСтрокаПоиска, "");
|
|||
4
Casper211
13.03.17
✎
01:15
|
но остается проблема найти где-то внутри сроки
|
|||
5
ДемонМаксвелла
13.03.17
✎
01:22
|
ну собственно так и сделай - подобно и твоя строка "%59901230%"
|
|||
6
ДемонМаксвелла
13.03.17
✎
01:22
|
в чем проблема то?
|
|||
7
Casper211
13.03.17
✎
01:23
|
(5) но там где будет искать будет "5-5*99/01.23,001"
|
|||
8
Casper211
13.03.17
✎
01:23
|
надо чтобы проигнорировало символы
|
|||
9
ДемонМаксвелла
13.03.17
✎
01:25
|
(7) ну так подготовь таблицу, скорми её запросу и зачем найди искомое
|
|||
10
ДемонМаксвелла
13.03.17
✎
01:26
|
а чтоб не было долго добавь в базу поле и рассчитай его заранее
|
|||
11
Casper211
13.03.17
✎
01:30
|
(10) пробовал. В другой теме писал.
Я получил информацию. Запихнул в запрос, но выводит пусто. Хотя в Тз является строчка ЗапросТЗ.Текст = "ВЫБРАТЬ | Таб.Номенклатура КАК Номенклатура, | Таб.НомерОригинальный КАК НомерОригинальный, | Таб.НомерПроизводителя КАК НомерПроизводителя, | Таб.НомерПоставщика КАК НомерПоставщика |ПОМЕСТИТЬ ВТДанные |ИЗ | &Данные КАК Таб |; /////////////////////////////////////////////// |ВЫБРАТЬ | ВТДанные.Номенклатура КАК Номенклатура, | ВТДанные.НомерОригинальный КАК НомерОригинальный, | ВТДанные.НомерПроизводителя КАК НомерПроизводителя, | ВТДанные.НомерПоставщика КАК НомерПоставщика |ИЗ | ВТДанные КАК ВТДанные |ГДЕ | (ВТДанные.НомерОригинальный ПОДОБНО &СтрокаПоискаСПроцентом | ИЛИ ВТДанные.НомерПроизводителя ПОДОБНО &СтрокаПоискаСПроцентом | ИЛИ ВТДанные.НомерПоставщика ПОДОБНО &СтрокаПоискаСПроцентом)"; ЗапросТЗ.УстановитьПараметр("Данные",ТЗНоменклатур); ЗапросТЗ.УстановитьПараметр("СтрокаПоискаСПроцентом",СтрокаПоискаБезСимволов); Результат = ЗапросТЗ.Выполнить().Выгрузить(); |
|||
12
Casper211
13.03.17
✎
01:30
|
||||
13
Casper211
13.03.17
✎
01:32
|
возможно я ошибся в написании запроса?
|
|||
14
ДемонМаксвелла
13.03.17
✎
01:33
|
(13) или в параметре. и в той теме у тебя три Подобно - мегатормоз
|
|||
15
ДемонМаксвелла
13.03.17
✎
01:39
|
закидывай запрос в консоль и разбирайся
|
|||
16
Casper211
13.03.17
✎
01:41
|
СтрокаПоискаБезСимволов ="%" +СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими(",:)+-*}{[]-?#$%^&=._/\|(-!№;%?", ОригинальнаяСтрокаПоиска, "")+"%";
ТЗНоменклатур = Запрос.Выполнить().Выгрузить(); Для каждого СтрокаТЗ Из ТЗНоменклатур Цикл СтрокаТЗ.НомерОригинальный=СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими(",:)+-*}{[]-?#$%^&=._/\|(-!№;%?", СтрокаТЗ.НомерОригинальный, ""); СтрокаТЗ.НомерПроизводителя=СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими(",:)+-*}{[]-?#$%^&=._/\|(-!№;%?", СтрокаТЗ.НомерПроизводителя, ""); СтрокаТЗ.НомерПоставщика=СтроковыеФункцииКлиентСервер.ЗаменитьОдниСимволыДругими(",:)+-*}{[]-?#$%^&=._/\|(-!№;%?", СтрокаТЗ.НомерПоставщика, ""); КонецЦикла; ЗапросТЗ = Новый Запрос; //МенеджерВТ = Новый МенеджерВременныхТаблиц; //ЗапросТЗ.МенеджерВременныхТаблиц = МенеджерВТ; ЗапросТЗ.Текст = "ВЫБРАТЬ | Таб.Номенклатура КАК Номенклатура, | Таб.НомерОригинальный КАК НомерОригинальный, | Таб.НомерПроизводителя КАК НомерПроизводителя, | Таб.НомерПоставщика КАК НомерПоставщика |ПОМЕСТИТЬ ВТДанные |ИЗ | &Данные КАК Таб |; |/////////////////////////////////////////////// |ВЫБРАТЬ | ВТДанные.Номенклатура КАК Номенклатура, | ВТДанные.НомерОригинальный КАК НомерОригинальный, | ВТДанные.НомерПроизводителя КАК НомерПроизводителя, | ВТДанные.НомерПоставщика КАК НомерПоставщика |ИЗ | ВТДанные КАК ВТДанные |ГДЕ | (ВТДанные.НомерОригинальный ПОДОБНО &СтрокаПоискаСПроцентом | ИЛИ ВТДанные.НомерПроизводителя ПОДОБНО &СтрокаПоискаСПроцентом | ИЛИ ВТДанные.НомерПоставщика ПОДОБНО &СтрокаПоискаСПроцентом)"; ЗапросТЗ.УстановитьПараметр("Данные",ТЗНоменклатур); ЗапросТЗ.УстановитьПараметр("СтрокаПоискаСПроцентом",СтрокаПоискаБезСимволов); //Результат = ЗапросТЗ.Выполнить().Выгрузить(); Список = ЗапросТЗ.Выполнить().Выгрузить().ВыгрузитьКолонку("Номенклатура"); |
|||
17
Casper211
13.03.17
✎
01:42
|
Сделал, спасибо за помощь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |