|  | РАЗНОСТЬДАТ для периодического регистра сведений | ☑ | 
    
        | 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.     |  |