Имя: Пароль:
1C
1С v8
Ошибка СУБД: Ошибка Sql: Неправильные параметры функции 'datediff', ошибка при в
,
0 kasena
 
05.02.12
21:43
Доброго времени суток.
при выполнении данного запроса появляется оршибка "Ошибка СУБД: Ошибка SQL: Неправильные параметры функции 'DateDiff' ".
Что я делаю неверно?
"ВЫБРАТЬ
   |    ОбъектыПрокатаУКлиентовОстатки.Клиент,
   |    ОбъектыПрокатаУКлиентовОстатки.ОбъектПроката,
   |    ПередачаВПрокат.Дата,
   |    ПередачаВПрокатДанныеПередачиВПрокат.КоличествоДнейПроката,
   |    ПередачаВПрокатДанныеПередачиВПрокат.Сумма,
   |    ОбъектыПрокатаУКлиентовОстатки.КоличествоОстаток,
   |   ДОБАВИТЬКДАТЕ(ПередачаВПрокат.Дата, ДЕНЬ, ПередачаВПрокат.ДанныеПередачиВПрокат.КоличествоДнейПроката) КАК ДатаВозврата,        
   |   РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ПередачаВПрокат.Дата, ДЕНЬ, ПередачаВПрокат.ДанныеПередачиВПрокат.КоличествоДнейПроката), &Дата, ДЕНЬ) КАК Просрочка
   |ИЗ
   |    РегистрНакопления.ОбъектыПрокатаУКлиентов.Остатки КАК ОбъектыПрокатаУКлиентовОстатки
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПередачаВПрокат.ДанныеПередачиВПрокат КАК ПередачаВПрокатДанныеПередачиВПрокат
   |            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПередачаВПрокат КАК ПередачаВПрокат
   |            ПО ПередачаВПрокатДанныеПередачиВПрокат.Ссылка = ПередачаВПрокат.Ссылка
   |        ПО ОбъектыПрокатаУКлиентовОстатки.Клиент = ПередачаВПрокат.ДанныеПередачиВПрокат.Клиент
   |            И ОбъектыПрокатаУКлиентовОстатки.ОбъектПроката = ПередачаВПрокат.ДанныеПередачиВПрокат.ОбъектПроката";
   Запрос.УстановитьПараметр("Дата", ТекущаяДата());
   Результат = Запрос.Выполнить();
1 Дядя Васька
 
05.02.12
21:47
Что-то мне подсказывает что в РАЗНОСТЬДАТ() ДОБАВИТЬКДАТЕ(ПередачаВПрокат.Дата, ДЕНЬ, ПередачаВПрокат.ДанныеПередачиВПрокат.КоличествоДнейПроката) оказалось меньше чем &Дата, о отрицательных дат оно возвращать не умеет...
2 kasena
 
05.02.12
22:01
нет, нормальное там значение получается.
3 DrShad
 
05.02.12
22:12
да нет разность дат умеет отрицательные значения возвращать, мне сдается что ПередачаВПрокат.ДанныеПередачиВПрокат.КоличествоДнейПроката = NULL
4 kasena
 
05.02.12
22:19
да нет, и тут все норм
5 DrShad
 
05.02.12
22:22
как проверяешь?
6 Neco
 
05.02.12
22:22
Проверь, чтобы ПередачаВПрокат.Дата <> NULL
7 kasena
 
05.02.12
22:47
проверяю таким образом
Если Результат.Дата <> NULL тогда
         Сообщить ("NULL");
сообщение выводит, значит NULL..
8 kasena
 
06.02.12
13:45
подскажите, что неверно.
9 shuhard
 
06.02.12
13:46
(8) [Результат.Дата <> NULL]
так низяя
10 kasena
 
06.02.12
15:11
а в чем может быть причина, что выгружает нул? что мне проверить?
Основная теорема систематики: Новые системы плодят новые проблемы.