|
![]() |
#1 |
Участник
|
Вообщем чё оказалось.
В систему был добавлен новый тип документа по закупке. При разноске была написана такая штука. X++: _purchLine.ConfirmedDlv = priceDisc.deliveryDays() + _ReadyDate; 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; } ... какая-то ![]()
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. Последний раз редактировалось miklenew; 20.11.2008 в 15:28. |
|
![]() |
#2 |
Участник
|
Можно воспроизвести эту ошибку (изменена другим пользователем).
Создать таблицу. Создать строку с пустой датой. Зайти в оракл исправить 01.01.1900 на 15.01.1900, и в Axapt-e попытаться сменить дату руками. Наслаждаемся ошибкой
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
|
|