|
Проблема с функцией ПОДОБНО в запросе? | ☑ | ||
---|---|---|---|---|
0
Bobroff
24.07.06
✎
16:44
|
Есть вот такая функция:
Запрос = Новый Запрос("ВЫБРАТЬ | Врачи.Ссылка КАК Ссылка, | Врачи.Код КАК Номер, | Врачи.Наименование КАК ФИО, | Врачи.ТекущееМестоРаботы.Наименование КАК МестоРаботы, | Врачи.ТекущееОтделение.Наименование КАК Отделение, | Врачи.ТекущаяДолжность.Наименование КАК Должность |ИЗ | Справочник.Врачи КАК Врачи |ГДЕ | ФИО ПОДОБНО ""%"" + "&ПарамФИО + ""%"" | И МестоРаботы ПОДОБНО ""%"" + &ПарамМестоРаботы + ""%"" | И Отделение ПОДОБНО ""%"" + &ПарамОтделение + ""%"" | И Должность ПОДОБНО ""%"" + &ПарамДолжность + ""%"" |УПОРЯДОЧИТЬ ПО | ФИО"); Запрос.УстановитьПараметр("ПарамФИО",xxx); Запрос.УстановитьПараметр("ПарамМестоРаботы",xxx); Запрос.УстановитьПараметр("ПарамОтделение",xxx); Запрос.УстановитьПараметр("ПарамДолжность",xxx); Выборка = Запрос.Выполнить().Выбрать(); При начале отладке выдаёт такую ошибку: {Обработка.ПодборНоменклатурыИВрача.Форма.ОсновнаяФорма(25,2)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure') <<?>>| И МестоРаботы ПОДОБНО ""%"" + &ПарамМестоРаботы + ""%"" В чём проблема? |
|||
1
Дяпти
24.07.06
✎
16:45
|
кажись так надо:
МестоРаботы ПОДОБНО &Парам Запрос.УстановитьПараметр("МестоРаботы","%" + ххх + "%"); |
|||
2
КонецЦикла
24.07.06
✎
16:46
|
(0) нафигачил неправильно кавычки
|
|||
3
Bobroff
24.07.06
✎
16:47
|
(2) кавычки уже убрал, но проблема всёё равно осталась
|
|||
4
КонецЦикла
24.07.06
✎
16:50
|
(3) С собой нету, смотир типовые
|
|||
5
wPa
24.07.06
✎
16:50
|
ФИО ПОДОБНО ""%""" + &ПарамФИО + """%""
хотел сказать |
|||
6
wPa
24.07.06
✎
16:57
|
не! ))
ПОДОБНО ""%" + &ПарамФИО + "%"" |
|||
7
John Connor
24.07.06
✎
16:59
|
И МестоРаботы ПОДОБНО &ПарамМестоРаботы
Запрос.УстановитьПараметр("МестоРаботы","%" + ххх + "%"); |
|||
8
John Connor
24.07.06
✎
17:00
|
(7) Запрос.УстановитьПараметр("ПарамМестоРаботы","%" + ххх + "%");
Так правильно. |
|||
9
wPa
24.07.06
✎
17:01
|
(8) Там кавкавычки должны быть в тексте запроса у оператора ПОДОБНО ....
|
|||
10
Salvador Limones
24.07.06
✎
17:02
|
(9) Какая нафиг разница?
|
|||
11
wPa
24.07.06
✎
17:04
|
(10) ну спробуй еппсель - узнаешь какая )
" выбрать трам тамрам ПОДОБНО "%Ежиков%" всякие группировки" должен быть текст запроса |
|||
12
John Connor
24.07.06
✎
17:05
|
(0) Запусти обработку Консоль запросов и посмотри.
|
|||
13
Bobroff
24.07.06
✎
17:08
|
Так как правильно?
|
|||
14
Salvador Limones
24.07.06
✎
17:08
|
(11) Мдя... Болеешь?
|
|||
15
Salvador Limones
24.07.06
✎
17:08
|
(13) 100% рабочий пример - http://itland.ru/forum/index.php?showtopic=4699!
|
|||
16
John Connor
24.07.06
✎
17:09
|
(11) Если через параметр передаем, то кавычки не нужны. Ибо в параметр передаем строку!
(13) См. (7)(8)(12) |
|||
17
Salvador Limones
24.07.06
✎
17:09
|
(16) Про (1) забыл. :-)
|
|||
18
dimoff
24.07.06
✎
17:10
|
В (1) правильный ответ, чего флуд разводить
|
|||
19
wPa
24.07.06
✎
17:11
|
(16) ибо! аминь!
|
|||
20
John Connor
24.07.06
✎
17:11
|
(18) с метафизической точки зрения в (1) правильно. :)
(зы. только имя параметра неверно указано) |
|||
21
Bobroff
24.07.06
✎
17:14
|
Вообщем исправли на это:
Запрос = Новый Запрос("ВЫБРАТЬ | Врачи.Ссылка КАК Ссылка, | Врачи.Код КАК Номер, | Врачи.Наименование КАК ФИО, | Врачи.ТекущееМестоРаботы.Наименование КАК МестоРаботы, | Врачи.ТекущееОтделение.Наименование КАК Отделение, | Врачи.ТекущаяДолжность.Наименование КАК Должность |ИЗ | Справочник.Врачи КАК Врачи |ГДЕ | ФИО ПОДОБНО &ПарамФИО | И МестоРаботы ПОДОБНО &ПарамМестоРаботы | И Отделение ПОДОБНО &ПарамОтделение | И Должность ПОДОБНО &ПарамДолжность |УПОРЯДОЧИТЬ ПО | ФИО"); Запрос.УстановитьПараметр("ПарамФИО","%"); Запрос.УстановитьПараметр("ПарамМестоРаботы","%"); Запрос.УстановитьПараметр("ПарамОтделение","%"); Запрос.УстановитьПараметр("ПарамДолжность","%"); Выборка = Запрос.Выполнить().Выбрать(); При работе выдаёт ошибку: {Обработка.ПодборНоменклатурыИВрача.Форма.ОсновнаяФорма(35)}: Ошибка при вызове метода контекста (Выполнить): {(11, 4)}: Поле не найдено "ФИО" <<?>>ФИО ПОДОБНО &ПарамФИО Выборка = Запрос.Выполнить().Выбрать(); по причине: {(11, 4)}: Поле не найдено "ФИО" <<?>>ФИО ПОДОБНО &ПарамФИО |
|||
22
Neco
24.07.06
✎
17:15
|
|
|||
23
Bobroff
24.07.06
✎
17:17
|
(22) может Врачи.Наименование ПОДОБНО &ПарамФИО ?
|
|||
24
wPa
24.07.06
✎
17:19
|
(23) точно!
|
|||
25
Bobroff
24.07.06
✎
17:22
|
В итоге всё выглядит вот так и отлично рабтает:
Запрос = Новый Запрос("ВЫБРАТЬ | Врачи.Ссылка КАК Ссылка, | Врачи.Код КАК Номер, | Врачи.Наименование КАК ФИО, | Врачи.ТекущееМестоРаботы.Наименование КАК МестоРаботы, | Врачи.ТекущееОтделение.Наименование КАК Отделение, | Врачи.ТекущаяДолжность.Наименование КАК Должность |ИЗ | Справочник.Врачи КАК Врачи |ГДЕ | Врачи.Наименование ПОДОБНО &ПарамФИО | И Врачи.ТекущееМестоРаботы.Наименование ПОДОБНО &ПарамМестоРаботы | И Врачи.ТекущееОтделение.Наименование ПОДОБНО &ПарамОтделение | И Врачи.ТекущаяДолжность.Наименование ПОДОБНО &ПарамДолжность |УПОРЯДОЧИТЬ ПО | ФИО"); Запрос.УстановитьПараметр("ПарамФИО","%"); Запрос.УстановитьПараметр("ПарамМестоРаботы","%"); Запрос.УстановитьПараметр("ПарамОтделение","%"); Запрос.УстановитьПараметр("ПарамДолжность","%"); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.ФИО); КонецЦикла; Всем БОЛЬШОЕ спасибо... |
|||
26
Salvador Limones
24.07.06
✎
17:24
|
Запрос.УстановитьПараметр("ПарамФИО","%"); - это работает? Не верю.
|
|||
27
Bobroff
24.07.06
✎
17:25
|
(26) работает!!! По идеи, как строка передаёться
|
|||
28
Bobroff
24.07.06
✎
17:26
|
(26) кстати вот так: Запрос.УстановитьПараметр("ПарамФИО",%); не работает
|
|||
29
Salvador Limones
24.07.06
✎
17:29
|
(27) То, что ошибки не выдает, не значит, что работает.
С какой строкой ты сравниваешь? |
|||
30
Bobroff
24.07.06
✎
17:31
|
(29) работает отлично, проверил уже сам... подставлял значения... Сравниваю со строкой типа: Иванов Иван Иванович, Петров Пётр Петрович, Сидоров Василий Петрович и т.п.
|
|||
31
Salvador Limones
24.07.06
✎
17:32
|
(30) Тогда покажи, где ты эти строки передаешь в запрос.
|
|||
32
Bobroff
24.07.06
✎
17:33
|
(30) например: Запрос.УстановитьПараметр("ПарамФИО","%" + "иванов" + "%"); находит из этого списка только:Иванов Иван Иванович
|
|||
33
Salvador Limones
24.07.06
✎
17:36
|
(32) Хмм.. Вот только в (25) я этого не заметил.
|
|||
34
Bobroff
24.07.06
✎
17:38
|
(33) Вот так он тоже работает:
Запрос.УстановитьПараметр("ПарамФИО","%"); Запрос.УстановитьПараметр("ПарамМестоРаботы","%"); Запрос.УстановитьПараметр("ПарамОтделение","%"); Запрос.УстановитьПараметр("ПарамДолжность","%"); Просто выводит всех подряд.... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |