К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Где ошибка? Убился искать. Двойные кавычки в запросе.

Гость
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
Михаил спасибо. Буду завтра дальше копать и попробую Ваши варианты.


К списку вопросов






Copyright ©, Все права защищены