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


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
параметризированный запрос
14. Января 2009 :: 08:16
Печать  
Код
Выбрать все
	cmd = БазаОле.СоздатьКоманду();
	cmd.Выполнить("Exec('SET ANSI OFF')");
	cmd.Отладка(1);
	cmd.ДобПараметр(1,129,9,0); // Справочник.товары
	cmd.ДобПараметр(2,129,9,0); // Справочник.Склады
	cmd.УстановитьТекстовыйПараметр("ДатаАктуальности",НачМесяца(ТекущаяДата()));

	ТекстЗапроса ="
	|select
	|	$Рег.ОстатокТовара as Остаток
	|from
	|	$регистрИтоги.ОстаткиТоваров as Рег
	|where
	|		Рег.PERIOD=:ДатаАктуальности~~
	|	and
	|		$Рег.Товар=?
	|	and
	|		$Рег.Склад=?
	|
	|
	|";

	cmd.УстановитьПараметр(1, товар);
	cmd.УстановитьПараметр(2, Константа.ОснСклад);
	cmd.Отладка(1);

	ТЗ = cmd.ВыполнитьИнструкцию(ТекстЗапроса);
	тз.ВыбратьСтроки();
	Пока тз.ПолучитьСтроку() = 1 Цикл
		Возврат тз.Остаток;
	КонецЦикла;
 


Валит с ошибкой FAILED! ICommandText::Execute(): SQL: Column 'Q16P1' is not found.

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


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: параметризированный запрос
Ответ #1 - 14. Января 2009 :: 08:27
Печать  
все, вопрос снят. сам дурак.
было.
     cmd.ДобПараметр(1,129,9,0); // Справочник.товары
     cmd.ДобПараметр(2,129,9,0); // Справочник.Склады
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: параметризированный запрос
Ответ #2 - 29. Января 2009 :: 06:18
Печать  
kriblya писал(а) 14. Января 2009 :: 08:27:
все, вопрос снят. сам дурак.
было.
     cmd.ДобПараметр(1,129,9,0); // Справочник.товары
     cmd.ДобПараметр(2,129,9,0); // Справочник.Склады


В документации не нашел, подскажи что за параметр 129 или если можно дай расширенный список возможных параметров
  
Наверх
 
IP записан
 
U_zer
Экс-Участник


Re: параметризированный запрос
Ответ #3 - 29. Января 2009 :: 07:01
Печать  
Тебе ж выделили 2 !!!!!!!!!!
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: параметризированный запрос
Ответ #4 - 29. Января 2009 :: 08:52
Печать  
Это понятно, непонятен второй параметр 129
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: параметризированный запрос
Ответ #5 - 29. Января 2009 :: 15:05
Печать  
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: параметризированный запрос
Ответ #6 - 29. Января 2009 :: 15:10
Печать  
А последовательность измерений Товар,Склад,Фирма?
Фирма задана?
  
Наверх
 
IP записан
 
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: параметризированный запрос
Ответ #7 - 30. Января 2009 :: 09:53
Печать  
Цитата:
А последовательность измерений Товар,Склад,Фирма?
Фирма задана?

нее только  Товар,Склад.
но в общем все решил. а с поподанием в индекс еще ускоряемся.
кстати to kiruha,
в какой-то теме связаной с временными таблицами, ты говорил про способ замены УложитьСписокОбъектов, можешь пример кинуть? а то туплю. и есть ли выиигрышь в скорости?
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: параметризированный запрос
Ответ #8 - 30. Января 2009 :: 10:28
Печать  
Вообще если задача темы была ускорить метод СводныйОстаток  на ТА - бесполезно.
Именно этот метод в 1С сделан хорошо.

Даже при попадании в индекс 1С выигрывает(видимо из за того, что собственно выборка занимает очень мало времени , у меня 0.002  сек, относительно общего выполнения кода)
****
Альтернативный УложитьСписокОбъектов - ничего особенного вместо временной табл. - в запрос через запятую
IN ('   1    ','    2    ','   3   ') - но так параметризованный не получится
  
Наверх
 
IP записан
 
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: параметризированный запрос
Ответ #9 - 30. Января 2009 :: 11:04
Печать  
параметризированный запрос здесь не причем
http://www.1cpp.ru/forum/YaBB.pl?num=1188673318#5

Цитата:
Еще возможно :

Пример 4. Уложить список объектов.
Тривиально



а то у меня 1с++  Уложитьсписокобъектов притормаживает.

Цитата:
Даже при попадании в индекс 1С выигрывает(видимо из за того, что собственно выборка занимает очень мало времени , у меня 0.002  сек, относительно общего выполнения кода)

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