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


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Проблемы с ВыполнитьСкалярный()
12. Марта 2008 :: 07:21
Печать  
Обнаружилась следующая проблема с методом ВыполнитьСкалярный() - написана функция для глобального модуля приблизительно следующего вида
Код
Выбрать все
Функция ПолучитьЦену(Знач пНоменклатура, Знач пМагазин, Знач пДата, Знач пРежим) Экспорт

	пНоменклатура = ПреобразоватьВСтрокуСКЛ(пНоменклатура);
	пМагазин = ПреобразоватьВСтрокуСКЛ(пМагазин);
	пДата= ПреобразоватьВСтрокуСКЛ(пДата);

	Возврат ГлобальныйОбъектЗапросСКЛ.ВыполнитьСкалярный("select dbo.ПолучитьЦену(" + пНоменклатура + ", " + пМагазин + "," + пДата "," + пРежим +")")

КонецФункции
 



UDF dbo.ПолучитьЦену() возвращает значение типа numeric(9, 4). И вот тут начинаются странности, иной раз при выполнении она возвращает результат отличный, от результата выполнения запроса в QA, причем отличный радикально, совсем не близкая даже цифра. В каких именно случаях это происходит установить пока не удалось. Версия 1с++ 2.0.3.3.
  
Наверх
 
IP записан
 
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: Проблемы с ВыполнитьСкалярный()
Ответ #1 - 12. Марта 2008 :: 07:26
Печать  
Пока в качестве бреда:
пНоменклатура и т.д. содержат одинарные кавычки? В смысле: '<ID>' или там <ID> ?
  
Наверх
 
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: Проблемы с ВыполнитьСкалярный()
Ответ #2 - 12. Марта 2008 :: 07:37
Печать  
sadovnikov писал(а) 12. Марта 2008 :: 07:26:
Пока в качестве бреда:
пНоменклатура и т.д. содержат одинарные кавычки? В смысле: '<ID>' или там <ID> ?


Уж конечно содержит  Улыбка, функция ПреобразоватьВСтрокуСКЛ() производит преобразование 1совских типов в типы, понимаемые SQL сервером
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Проблемы с ВыполнитьСкалярный()
Ответ #3 - 12. Марта 2008 :: 20:34
Печать  
может проблемы с "dbo.ПолучитьЦену(,,,)" а не в сабж?
  
Наверх
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: Проблемы с ВыполнитьСкалярный()
Ответ #4 - 13. Марта 2008 :: 05:45
Печать  
Цитата:
может проблемы с "dbo.ПолучитьЦену(,,,)" а не в сабж?


Да вроде бы эта функция сама по себе работает уже больше года и все с ней было нормально. Вопрос-то состоит в том почему выполнение этой функции через ВыполнитьСкалярный и непосредственно в QA дает разные результаты, мне всегда казалось, что результат должен совпадать.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать