|
Функция Подобно в запросе | ☑ | ||
---|---|---|---|---|
0
pavelul73
07.03.12
✎
12:29
|
Добрый день, есть справочник города, в котором занесены Города в виде "Москва","Орел", и т.д. Справочник обычный, наименование и код.
Есть обработка, в которой есть поле строка, в которую пользователь вводит любой адрес вида "125445, Москва, ул. Беломорская, 40" или что-то наподобие. Так вот нужно чтобы когда пользователь ввел адрес и нажал кнопку выполнить, обработка нашла город в справочнике из этой строки. Как сделать без запроса, я разобрался, но нужно сделать в запросе, помогите, пожалуйста. Пишу следующий запрос: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Города.Ссылка, | Города.Наименование |ИЗ | Справочник.Города КАК Города |ГДЕ | Города.Наименование ПОДОБНО &Наименование" ; Запрос.УстановитьПараметр("Наименование","%"+Строчка+"%"); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий()Цикл Сообщить(Выборка.Наименование); КонецЦикла; Где строчка, это та строка, которую вводит пользователь. Этот запрос почему-то не работает |
|||
1
Rie
07.03.12
✎
12:31
|
(0) А в начале/конце Строчка пробелы, случайно, не затесались?
|
|||
2
pavelul73
07.03.12
✎
12:33
|
Нет, строчка без пробелов.
Но вот если сделать наоборот, т.е справочник будет содержать адреса вида "125445, Москва, ул. Беломорская, 40", а пользователь вводит в строке например "Москва", то обработка находит адрес в справочнике. |
|||
3
Живой Ископаемый
07.03.12
✎
12:35
|
2(1) при чем тут это?
"Москва" не подобна "%125445, Москва, ул. Беломорская, 40%" хоть укакайся |
|||
4
Rie
07.03.12
✎
12:36
|
(3) Да, я не сообразил, что он не в ту сторону проверяет.
|
|||
5
Wobland
07.03.12
✎
12:36
|
делить строку на слова и отдавать список запросу?
|
|||
6
Живой Ископаемый
07.03.12
✎
12:37
|
Если мне не изменяет память, и если в качестве сервера СУБД не используется ДБ2, возможно сделать наоборот:
&Наименование ПОДОБНО '%'+Города.Наименование но может я что-то путаю.. нужно пробовать |
|||
7
pavelul73
07.03.12
✎
12:39
|
Строку делил на слова и выводил без запроса - так работает.Это просто.
Но как это можно сделать именно в одном запросе? Может кто-то сталкивался с такими задачками? |
|||
8
hhhh
07.03.12
✎
12:41
|
(7) ну а типовым КЛадр не пытались пользоваться? Нафига вам еще отдельный справочник, Города?
|
|||
9
Живой Ископаемый
07.03.12
✎
12:41
|
2(7) Попробуй (6), но лучше на это не закладываться, так как Подобно вообще работает по разному в зависимости от сервера БД
|
|||
10
Wobland
07.03.12
✎
12:42
|
(7) едва ль. представь, что у тебя есть города "45, Мос" и "оморская, 4", и подумай, что ты будешь делать на месте запроса
|
|||
11
Rovan
гуру
07.03.12
✎
12:45
|
(0) обычно наборот делают - за ввод адреса отвечает спецю форма с полями:
индекс, обл, район, город и т.п. котороаяв зависимости от выбранных значение предлагает в других полях список из КЛАДРА |
|||
12
pavelul73
07.03.12
✎
12:47
|
Про Кладр я знаю, но попросили сделать так. Если делать условие наоборот, то обработка выводить город из справочника.
Всем огромное спасибо!!! |
|||
13
Живой Ископаемый
07.03.12
✎
12:54
|
2(12) то есть работает как в (6)? а база в каком формате?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |