Показать сообщение отдельно
Старый 20.11.2008, 15:13   #13  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Вообщем чё оказалось.
В систему был добавлен новый тип документа по закупке.
При разноске была написана такая штука.
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;
}
Дата сохраняется нормально.
... какая-то
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.

Последний раз редактировалось miklenew; 20.11.2008 в 15:28.