Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ошибка не указан параметр ":ВыбДок" (число прочтений - 2573 )
jan
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 14
Зарегистрирован: 08. Апреля 2008
ошибка не указан параметр ":ВыбДок"
28. Мая 2008 :: 05:08
Печать  
Запросик сделан в консоли, работает в ней. Параметр в консоли задан, как документ расходная накладная и конкретный документ.
[code]select                           
IDDoc as [ДокИД],            
childid [Документ $Документ],
j.iddocdef [Документ_вид]
from _1scrdoc doc (nolock)
inner join _1sjourn j on doc.childid = j.iddoc
where SUBSTRING(doc.parentval,8,8) = RTRIM(LTRIM(:ВыбДок))
and doc.mdid = 0
order by CHILD_DATE_TIME_IDDOC[/code]
в отчете этот же код с      ЗапросБ.УстановитьТекстовыйПараметр("ВыбДок",ТЗФ.ИдДок);      
выдает ошибку Meta name parser error: не указан параметр ":ВыбДок"
ТЗФ.ИдДок проверяю, там " 16MDNRAD" например. ТЗФ.ИдДок это РасходнаяНакладная.IDDOC [ИдДок] из первого запроса в отчете.
в чём ошибка?
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ошибка не указан параметр ":ВыбДок"
Ответ #1 - 28. Мая 2008 :: 06:14
Печать  
Желательно увидеть весь код от создания объекта ODBC до метода Выполнить...
  
Наверх
IP записан
 
jan
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 14
Зарегистрирован: 08. Апреля 2008
Re: ошибка не указан параметр ":ВыбДок"
Ответ #2 - 28. Мая 2008 :: 06:17
Печать  
[code]            ЗапросБ=СоздатьОбъект("ODBCRecordSet");
           ТекстЗапросаБ="
           |select                           
           |IDDoc as [ДокИД],            
           |childid [Документ $Документ],
           |j.iddocdef [Документ_вид]
           |from _1scrdoc doc (nolock)
           |inner join _1sjourn j on doc.childid = j.iddoc
           |where SUBSTRING(doc.parentval,8,8) = RTRIM(LTRIM(:ВыбДок))
           |and doc.mdid = 0
           |order by CHILD_DATE_TIME_IDDOC
           |";
           сообщить("/"+ТЗФ.ИдДок+"/");                                    
           ЗапросБ.УстановитьТекстовыйПараметр("ВыбДок",ТЗФ.ИдДок);      
           ТЗб=СоздатьОбъект("ТаблицаЗначений");
           ТЗб=Запрос.ВыполнитьИнструкцию(ТекстЗапросаБ);
           ЗапросБ.Закрыть();            
[/code]
  
Наверх
 
IP записан
 
jan
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 14
Зарегистрирован: 08. Апреля 2008
Re: ошибка не указан параметр ":ВыбДок"
Ответ #3 - 28. Мая 2008 :: 06:23
Печать  
ВОТ ПЕРВЫЙ запрос, по которому в цикле берй потом ТЗФ.ИдДок
Код
Выбрать все
		Запрос=СоздатьОбъект("ODBCRecordSet");
	ТекстЗапросаСкл="

|SELECT  РасходнаяНакладная.IDDOC [ИдДок]
	|, Журнал.IDDOCDEF ЖурналДокумент_вид
	|, Sum($ТоварыПоСкладам.Оборот) СуммаОборот
	|FROM $Регистр.ТоварыПоСкладам AS ТоварыПоСкладам
	|INNER JOIN _1SJOURN AS Журнал ON ТоварыПоСкладам.IDDOC = Журнал.IDDOC
	|INNER JOIN $Документ.РасходнаяНакладная AS РасходнаяНакладная ON РасходнаяНакладная.IDDOC = Журнал.IDDOC
	|WHERE (Журнал.DATE_TIME_IDDOC betweeN :ДатаНач AND :ДатаКон)
	|GROUP BY РасходнаяНакладная.IDDOC,  Журнал.IDDOCDEF
	Запрос.УстановитьТекстовыйПараметр("ДатаНач",ДатаНач);
	Запрос.УстановитьТекстовыйПараметр("ДатаКон",ДатаКон);
	ТЗ=СоздатьОбъект("ТаблицаЗначений");
	ТЗ=Запрос.ВыполнитьИнструкцию(ТекстЗапросаСкл);
	Запрос.Закрыть();
	ТЗ.выгрузить(ТЗФ);

 

  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ошибка не указан параметр ":ВыбДок"
Ответ #4 - 28. Мая 2008 :: 06:29
Печать  
Что то мне подсказывает что
должно быть:
Код
Выбрать все
ЗапросБ.УстановитьТекстовыйПараметр("ВыбДок",ТЗФ.Док); 

   

т.е. устанавливать объект а не его ИД, 2 - сравнение делать на прямую а не через LTRIM(RTRIM()).
  
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ошибка не указан параметр ":ВыбДок"
Ответ #5 - 28. Мая 2008 :: 06:35
Печать  
SUBSTRING(doc.parentval, 7, 9) = :ВыбДок

А если там только расходные накладные, то

doc.parentval = 'O1' + $ВидДокумента36.РасходнаяНакладная + :ВыбДок
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ошибка не указан параметр ":ВыбДок"
Ответ #6 - 28. Мая 2008 :: 06:56
Печать  
+

ТЗб=ЗапросБ.ВыполнитьИнструкцию(ТекстЗапросаБ);

  

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


I Love YaBB 2!

Сообщений: 14
Зарегистрирован: 08. Апреля 2008
Re: ошибка не указан параметр ":ВыбДок"
Ответ #7 - 28. Мая 2008 :: 07:18
Печать  
berezdetsky писал(а) 28. Мая 2008 :: 06:56:
+

ТЗб=ЗапросБ.ВыполнитьИнструкцию(ТекстЗапросаБ);



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