Имя: Пароль:
1C
 
РАЗНОСТЬДАТ для периодического регистра сведений
0 Вася Теркин
 
14.01.17
15:25
Есть периодический регистр сведений.
Есть текст запроса

    РегистрацияНачалаИКонцаСрезПоследних.НашиОбъекты КАК НашиОбъекты,
    РАЗНОСТЬДАТ(РегистрацияНачалаИКонцаСрезПоследних.МоментСнятия, РегистрацияНачалаИКонцаСрезПоследних.МоментЗачисления, СЕКУНДА) / 60 КАК РазницаМинут,
    РегистрацияНачалаИКонцаСрезПоследних.МоментЗачисления,
    РегистрацияНачалаИКонцаСрезПоследних.МоментСнятия

РегистрСведений.РегистрацияНачалаИКонца.СрезПоследних(&Момент, ) КАК РегистрацияНачалаИКонцаСрезПоследних


И при выполнении выходит

Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Microsoft SQL Server Native Client 11.0: Функция datediff вызвала переполнение. Слишком большое количество частей даты, разделяющих два экземпляра даты-времени. Попробуйте использовать функцию datediff с частью даты меньшей точности.
HRESULT=80040E57, SQLSrvr: SQLSTATE=22003, state=1, Severity=10, native=535, line=1

Даты не всегда заполнены, т.е РегистрацияНачалаИКонцаСрезПоследних.МоментСнятия не всегда заполнен, может в этом проблема?
1 Вася Теркин
 
14.01.17
15:25
РегистрацияНачалаИКонцаСрезПоследних.НашиОбъекты КАК НашиОбъекты,
    РАЗНОСТЬДАТ(РегистрацияНачалаИКонцаСрезПоследних.МоментСнятия, РегистрацияНачалаИКонцаСрезПоследних.МоментЗачисления, СЕКУНДА) / 60 КАК РазницаМинут,
    РегистрацияНачалаИКонцаСрезПоследних.МоментЗачисления,
    РегистрацияНачалаИКонцаСрезПоследних.МоментСнятия
ИЗ
РегистрСведений.РегистрацияНачалаИКонца.СрезПоследних(&Момент, ) КАК РегистрацияНачалаИКонцаСрезПоследних
2 mkalimulin
 
14.01.17
15:31
(0) Секунд не хватило.
3 youalex
 
14.01.17
17:47
(2) в смысле int'а - для секунд? )
(1) max(int) = 2 147 483 647, можете сами посчитать, сколько это лет в секундах. Решить можно через ВЫБОР КОГДА
4 NorthWind
 
14.01.17
18:51
всего-то около 69 лет, это если полагать, что в годе 365 дней.
5 NorthWind
 
14.01.17
18:53
незаполненная дата может трактоваться как очень-очень ранняя, начало времен. Соответственно, с современными датами получается разница в количество лет бОльшее, чем 69.
6 Tapeworm
 
14.01.17
19:30
А может РАЗНОСТЬДАТ(хрю, му, МИНУТА) попробовать вместо "секунды/60"? Там запас не 69 лет, а >4000.