v8: Поиск по артикулу
☑
0
palladyi
26.12.13
✎
10:47
Добрый день!
Поставили задачу - не могу понять с какой стороны подойти к решению.
Нужно найти элемент номенклатуры по артиклу, но без спец символов.
то есть у нас есть артикул к примеру: 0556-32*
нужно найти его по значению 055632
1
Леопольд Роскошный
26.12.13
✎
10:48
в запросе, ключевое слово подробно
2
IamNotAlexy
26.12.13
✎
10:49
3
Леопольд Роскошный
26.12.13
✎
10:50
(1)
(2) ну или так
4
Поpyчик-4
26.12.13
✎
10:52
(0) Полнотекстовый поиск или держать второе поле с нормализованным значением и искать по нему.
5
palladyi
26.12.13
✎
10:54
хм... Спасибо, попробую все варианты, посмотрим, что быстрее отработает.
6
palladyi
26.12.13
✎
12:56
что-то не получается, пишу после каждого символа из введенного артикула "_", затем получившуюся строку использую как шаблон для ПОДОБНО, но поиск все равно ничего не дает.
7
palladyi
26.12.13
✎
12:59
все, получилось!
8
palladyi
26.12.13
✎
13:00
Спасибо всем!
если кому поможет - выкладываю текст.
поле Артикул - вводится на форме.
Для Н = 1 По СтрДлина(Артикул) - 1 Цикл
АртШаблон = "%" + АртШаблон + Сред(Артикул, Н, 1) + "_";
КонецЦикла;
АртШаблон = АртШаблон + "%";
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Артикул ПОДОБНО &Арт";
Запрос.УстановитьПараметр("Арт", АртШаблон);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Ном = Выборка.Ссылка.ПолучитьОбъект();
Форма = Ном.ПолучитьФорму("ФормаЭлемента");
Форма.Открыть();
КонецЦикла;
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.