Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема не работает параметризированный запрос (число прочтений - 1743 )
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
не работает параметризированный запрос
11. Апреля 2007 :: 07:43
Печать  
RS = СоздатьОбъект("ODBCRecordset");
RS.УстБД1С();
ТекстЗапроса = "
|SELECT
|  Дог.ParentExt as [Контрагент $Справочник.Контрагенты],
|  $Рег.Договор as [Договор $Справочник.Договоры],
|  Рег.IDDoc as [Док $Документ],
|  Жур.IDDocDef as Док_вид,
|  Жур.$ОбщийРеквизит.Проект as [Проект $Справочник.Проекты],
|  $Рег.КодОперации as [КодОперации $Перечисление.КодыОпераций],
|  $Рег.СуммаРуб as Сумма
|FROM
|  $Регистр.покупатели as Рег
|INNER JOIN
|  _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc
|INNER JOIN
|      $Справочник.Договоры as Дог on Дог.ID = $Рег.Договор
|WHERE
|  Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ and
|  Жур.Closed & 1 = 1 and
| $Рег.КодОперации in (:Продажа,:Оплата)";

Если ВыбКонтрагента.Выбран() = 1 Тогда
     ТекстЗапроса = ТекстЗапроса + " and Дог.ParentExt = :ВыбКонтр";
     RS.УстановитьТекстовыйПараметр("ВыбКонтр",ВыбКонтрагента);    
КонецЕсли;

Если ВыбПроект.Выбран() = 1 Тогда
     ТекстЗапроса = ТекстЗапроса + " and Жур.$ОбщийРеквизит.Проект = :ВыбПроект";
     RS.УстановитьТекстовыйПараметр("ВыбПроект",ВыбПроект);    
КонецЕсли;

RS.УстановитьТекстовыйПараметр("Продажа",Перечисление.КодыОпераций.Продажа);
ателя);
теля);
RS.УстановитьТекстовыйПараметр("НачДата",ДатаНачала);
RS.УстановитьТекстовыйПараметр("КонДата",ДатаКонца);
RS.Отладка(1);
ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);

как преобразовать в параметризированный запрос что то у меня не получилось....ругается на индекс....параметра

вместо | $Рег.КодОперации in (:Продажа,:Оплата)";

ставлю | $Рег.КодОперации =?";

и не получается ну плюс там RS.подготовить() и построить параметры а потом ругается
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: не работает параметризированный запрос
Ответ #1 - 11. Апреля 2007 :: 07:46
Печать  
а ты не используй "построить параметры " - добавь параметры вручную
  

1&&2&&3
Наверх
 
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: не работает параметризированный запрос
Ответ #2 - 11. Апреля 2007 :: 09:22
Печать  
а как потом его использовать ...параметры добавленые один раз будут для всех запросов действительные
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
mash
1c++ donor
Отсутствует


1C++ v. 3.0.1.23

Сообщений: 148
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: не работает параметризированный запрос
Ответ #3 - 17. Апреля 2007 :: 08:26
Печать  
Добавленные параметры будут действительны до следующего вызова метода Подготовить(). Каждый экземпляр класса ODBCRecordSet - один параметризированный запрос.
  

Поспешность наносит ущерб
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать