Показать сообщение отдельно
Старый 16.10.2009, 09:57   #36  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
376 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
А с чего Вы взяли?


Вот это неправда. На поля modified* вполне можно таким образом воздействовать. Они не изменятся при вызове update если вызвать overwriteSystemFields(true).

Более того - их можно изменить
X++:
static void Job(Args _args)
{
    VendTable vendTable;
    ;
    ttsbegin;
    select forupdate vendTable;
    info(strfmt("%1 %2", vendTable.AccountNum, vendTable.modifiedBy));
    vendTable.overwriteSystemfields(true);
    vendTable.(fieldnum(VendTable, modifiedBy)) = 'zzzz';
    vendTable.doUpdate();
    ttscommit;
    info(strfmt("%1 %2", vendTable.AccountNum, vendTable.modifiedBy));
}
Вложение 5267

При этом пользователя zzzz может не существовать в базе

DAX 4.0 SP2
Взял с того, как используется этот метод в стандартной аксапте.

У меня на DAX 4.0 TAP 3(виртуалка по 4-ке от МС) Ваш job не изменил значение поля modifiedBy.

То, что выводится в инфолог, еще не значит, что значения изменились в таблице.
Поставьте перед вторым info или посмотрите значение в базе
X++:
vendTable.reread();
__________________
Sergey Nefedov