Цитата:
Сообщение от
SRF
На самом деле метод overwriteSystemfields() предназначен для другого - изменить значения системных полей у вновь создаваемых записей.
А с чего Вы взяли?
Цитата:
Сообщение от
SRF
Для уже существующих записей, изменить системные поля штатными средствами AX нельзя, и метод overwriteSystemfields() тут не поможет.
Вот это неправда. На поля 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));
}
При этом пользователя zzzz может не существовать в базе
DAX 4.0 SP2