|
Извращения с пустой датой |
☑ |
0
ИС-2
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
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
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
|
ага, уже было
|
|