helpf.pro
Регистрация

Что не так в запросе?

IKSparrow
02.11.2010 19:18Прочитано: 4266
Есть такая конструкция:

Установка параметров запроса:

Запрос.УстановитьПараметр("Дата1",Новый Граница(НачПериода,ВидГраницы.Включая));
Запрос.УстановитьПараметр("Дата2",Новый Граница(КонецДня(КонПериода),ВидГраницы.Включая));

Кусок запроса:
КорректировкаЗаписейРегистров.Дата <<?>>МЕЖДУ &Дата1 И &Дата2

Ошибка:
Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.

При этом в консоли запросов этот запрос отрабатывает на "ура". Что за фигня?
Yandex
Возможно, вас также заинтересует
Реклама на портале
IKSparrow
02.11.2010 19:20Ответ № 1
Сделал установку параметров так:


Запрос.УстановитьПараметр("Дата1",НачПериода);
Запрос.УстановитьПараметр("Дата2",КонецДня(КонПериода));

Всё заработало. Конструкция досталась в наследство от предыдущего прогера. Выпендрился?
E_Migachev
03.11.2010 09:25Ответ № 2
(1) Нет не выпендрился )
1С рекомендует при постоении отчетов - для плучения всех данных, особенно на SQL базах использовать Границу! Объясняется это тем что у SQL У секунды еще 8 символов после запятой, 1С толи 2 толи 4 - вообщем бывают случаю когда некоторый движения не попадают в отчет так как не определена граница!

Так же при получении отчетов на какой-то документ и т.д. необходимо использовать МоментВремени

Вот на эту тему: Момент Времени и Граница, назначение, примеры использования
IKSparrow
03.11.2010 09:38Ответ № 3
(2) А почему же тогда могло сравнение двух дат вызывать ошибку подобную в (0)?
E_Migachev
03.11.2010 09:44Ответ № 4
(3) на первый взгляд все правильно, если только КонПериод< НачПериода?
попробуй сформировать за другой прериод, поидее если это осталось от прошлого прогера - значит какое-то время оно работало!?
IKSparrow
03.11.2010 15:35Ответ № 5
(4) Работало или нет, наверняка никто уже не скажет. Просто уже был прецедент, когда пользователи с пеной у рта доказывали, что один из механизмов в конфе работал. А старый прог сказал, что нефига он не работал и был вообще заблокирован. )
Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.