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


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 05. Ноября 2006
Запрос с параметрами
28. Ноября 2006 :: 11:52
Печать  
Подскажите пожалуйста, что не так в запросе
SELECT                                                
ОстПарт.Фирма [Фирма $Справочники.Фирмы],
ОстПарт.МОЛ [МОЛ $Справочники.ФизЛица],
ОстПарт.Номенклатура [Номенклатура $Справочники.Номенклатура],
ОстПарт.СтатусПартии [СтатусПартии $Перечисление.СтатусыПартии],
ОстПарт.Партия [Партия $Справочники.Партии],
ОстПарт.ДатаПартии as ДатаПартии,
ОстПарт.ЦенаПрод as ЦенаПрод,
ОстПарт.КоличествоОстаток as Количество,
ОстПарт.СуммаУпрОстаток as СуммаУпр,
ОстПарт.СуммаРубОстаток as СуммаРуб,
ОстПарт.СуммаБезНДСОстаток as СуммаБезНДС
FROM $РегистрОстатки.ПартииНаличие(:КонДата,, Номенклатура=?) as ОстПарт

ПараметризированныйЗапрос_.УстановитьТекстовыйПараметр("КонДата",КонДата);      
     ПараметризированныйЗапрос_.Подготовить(ТекстЗапроса2);
     ПараметризированныйЗапрос_.ДобПараметр(1, 14, 9, 0);
           ПараметризированныйЗапрос_.УстПараметр(1,ВыбТовар1);
     ТабЗнач = ПараметризированныйЗапрос_.ВыполнитьИнструкцию();
     ТабЗнач.ВыбратьСтроку();

Выдается ошибка COUNT field incorrect or syntax error

Если убираю из запроса параметр КонДата, то все работает


  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Запрос с параметрами
Ответ #1 - 28. Ноября 2006 :: 12:13
Печать  
$РегистрОстатки с установленной границей расчета - это, в общем случае, два запроса (к таблицам остатков и движений), а параметр подготовлен один. Отсюда COUNT field incorrect. Без границы расчета работает, т.к. расчет на ТА это один запрос (к таблице остатков).

Пробуй так:
Код
Выбрать все
declare @nom char(9)
set @nom = ?

SELECT
...
FROM $РегистрОстатки.ПартииНаличие(:КонДата,, Номенклатура=@nom) as ОстПарт 


Изменено:
Из faq на itland.ru:
Q. Как использовать ВТ в параметризированных запросах?
A. http://itland.ru/forum/index.php?act=ST&f=8&t=7784
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
LDS
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 05. Ноября 2006
Re: Запрос с параметрами
Ответ #2 - 28. Ноября 2006 :: 12:31
Печать  
Спасибо, так получилось
  
Наверх
 
IP записан
 
LDS
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 05. Ноября 2006
Re: Запрос с параметрами
Ответ #3 - 28. Ноября 2006 :: 12:35
Печать  
А если например. мне нужно будет получить остатки по всем товарам или по списку, можно это как-нибудь реализовать, какое нужно установить значение параметра? Или нужно будет использовать  отдельный запрос без параметров?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Запрос с параметрами
Ответ #4 - 28. Ноября 2006 :: 12:50
Печать  
См. описание метода ВыполнитьSQL_ИзТЗ.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать