Имя: Пароль:
1C
 
Извращения с пустой датой
,
0 ИС-2
 
naïve
21.12.23
09:41
Делаю перенос данных из ЗУП 2.5.188.1 в ЗУП3.
При выгрузке кадровых данных происходит ошибка.

    ОписаниеОшибки         =  Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса: Ошибка при выполнении операции над данными:
Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению.
HRESULT=80040E07, SQLSrvr: SQLSTATE=22007, state=1, Severity=10, native=517, line=1

    ПозицияМодуля          =  ОбщийМодуль.ПроцедурыПерсонифицированногоУчетаПолныеПрава.Модуль(11397)

Вылетает на строке
ДОБАВИТЬКДАТЕ(РаботникиОрганизацииСрезПоследних.ПериодЗавершения, ДЕНЬ, -1)

ПериодЗавершения = пустая дата.

Это косяк кода у 1C ?
Что по их мнению должно получиться при вычитании 1 дня из пустой даты? Но новых релизов ЗУП2.5 корп нет...
Или в SQl сервере не хватает каких-то настроек?
Скоро попробую на файловой базе.
1 ИС-2
 
naïve
21.12.23
09:57
Похоже SQL сервер не может обработать вычитание значение из реального поля.
    ДОБАВИТЬКДАТЕ(РаботникиОрганизацийСрезПоследних.ПериодЗавершения, ДЕНЬ, -1) КАК ПериодЗавершения1

Из пустой даты вычитает нормально
ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), ДЕНЬ, -1)
2 Волшебник
 
21.12.23
09:59
Добавьте проверку ВЫБОР КОГДА ТОГДА
3 Лефмихалыч
 
21.12.23
10:01
просто заверни в ВЫБОР КОГДА ТОГДА, который будет проверять дату на пустоту
4 ИС-2
 
naïve
21.12.23
10:03
(2) можно, но таких мест может быть много.
В файловой нормально проходит. Проще из нее выгрузку делать.
Но вот не понятно, что надо поменять в настройках ms SQl, чтобы работало...
5 Галахад
 
гуру
21.12.23
10:13
"В полях типа DATETIME таблиц Microsoft SQL Server могут быть представлены даты с 00:00:00 1 января 1753 года по 23:59:59 31 декабря 9999 года."

Почитайте про смещение дат
6 Eiffil123
 
21.12.23
10:40
(5) а пустая дата - это 1 января 1753 года?
7 Галахад
 
гуру
21.12.23
10:50
8 shuhard
 
21.12.23
11:13
(5) версия красивая, на проверку ТС нужно 30 секунд
9 dali
 
21.12.23
13:03
(0) А при создании sql базы смещение 2000 ставили?
10 dali
 
21.12.23
13:12
ага, уже было