0
- 30.08.2012 - 12:06
|
Новичек в этом деле. Задача вставить значение параметра в кавычках. Пишу сл. запрос. ЗпрТекст= "Выбрать * Из Справочник.Спр1.ДополнительныеРеквизиты Где Справочник.Спр1.ДополнительныеРеквизиты.Значение подобно &ПЗнач" ПЗнач должны быть строкой в кавычках, т.е. "%пример%". Делал так (Значение - Строка которую набирает пользователь в форме.) Зпр = Новый Запрос (ЗпрТекст); ПП=Символ(34)+"%"+СОКРЛП(Значение)+"%"+Символ(34); Зпр.УстановитьПараметр("ПЗнач",ПП); Выборка = Зпр.Выполнить().Выбрать(); Пока Выборка.Следующий()Цикл ..... КонецЦикла; Но запрос не отрабатывает и в цикл я не попадаю. Где туплю? | |
1
- 30.08.2012 - 12:09
| СпрНоменклатура.Наименование ПОДОБНО ""%"" + &Наименование + ""%"" | |
2
- 30.08.2012 - 12:09
| попробуй ПП="""%"+СОКРЛП(Значение)+"%"""; | |
3
- 30.08.2012 - 12:20
| попробывал два варианта, не помогло (( | |
4
- 30.08.2012 - 12:22
| Не может быть, это проверенный вариант контекстного поиска. В моем варианте нужно передавать параметром в запрос саму подстроку без всяких символов | |
5
- 30.08.2012 - 12:26
|
Копипастю код ЗпрТекст="Выбрать * Из Справочник.Спр1.ДополнительныеРеквизиты Где Справочник.Спр1.ДополнительныеРеквизиты.Значение подобно ""%""" + "&ПЗнач" + ""%"" ; Зпр = Новый Запрос (ЗпрТекст); ПП=СОКРЛП(Значение); Зпр.УстановитьПараметр("ПЗнач",ПП); Выборка = Зпр.Выполнить().Выбрать(); Пока Выборка.Следующий()Цикл Ругается что преобразование значения к типу Число не может быть выполнено (( | |
6
- 30.08.2012 - 12:29
| Значит сравнение подобно не подходит, тк число хранится в дополнительных реквизитах. Используйте равно.... Но тогда точное сравнение | |
7
- 30.08.2012 - 12:32
| Можно дополнительные реквизиты преобразовать через команду запроса "выразить", это как вариант и оставить мою конструкцию в запросе | |
8
- 30.08.2012 - 12:40
|
ЗпрТекст="Выбрать * Из Справочник.Спр1.ДополнительныеРеквизиты Где (ВЫРАЗИТЬ(Справочник.Спр1.ДополнительныеРеквизиты. Значение КАК СТРОКА(100))) подобно ""%""" + "&ПЗнач" + ""%"" ; Зпр = Новый Запрос (ЗпрТекст); ПП=СОКРЛП(Значение); Зпр.УстановитьПараметр("ПЗнач",ПП); Выборка = Зпр.Выполнить().Выбрать(); Пока Выборка.Следующий()Цикл | |
9
- 30.08.2012 - 12:44
|
Запрос = Новый Запрос; Запрос.Текст = "Выбрать * Из Справочник.Спр1.ДополнительныеРеквизиты Где (ВЫРАЗИТЬ(Справочник.Спр1.ДополнительныеРеквизиты. Значение КАК СТРОКА(100))) подобно ""%""+&ПЗнач+""%"" ; Запрос.УстановитьПараметр("ПЗнач",СокрЛП(ПП) ); ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий()Цикл КонецЦикла; | |
10
- 30.08.2012 - 14:02
| Михаил спасибо. Буду завтра дальше копать и попробую Ваши варианты. | |
| Интернет-форум Краснодарского края и Краснодара |