Вообщем чё оказалось.
В систему был добавлен новый тип документа по закупке.
При разноске была написана такая штука.
X++:
_purchLine.ConfirmedDlv = priceDisc.deliveryDays() + _ReadyDate;
_ReadyDate тип Date
priceDisc.deliveryDays() тип Days
На входе date = 0, days = 14.
Через отладчик и через Axapt-у ConfirmedDlv = 0 или пусто соответственно.
Захожу в базу Oracle вижу там где дата действительно пустая 01.01.1900, а в нашей испорченой 15.01.1900.
Поправил код
X++:
_purchLine.ConfirmedDlv = _ReadyDate ? priceDisc.deliveryDays() + _ReadyDate : _ReadyDate;
Теперь всё ок.
Вот такой механизм ломания табличных строк.
Странно что захотел воспроизвести пример на новой таблице.
Создал таблицу с датой(тип PurchLineDlvDate) и job.
X++:
static void Job27(Args _args)
{
Table1 t1;
date d;
Days d1;
;
d1 = 14;
ttsbegin;
t1.selectForUpdate(true);
while select firstonly t1
{
t1.TransDate = d1 + d;
t1.update();
}
ttscommit;
}
Дата сохраняется нормально.
... какая-то