Показать сообщение отдельно
Старый 16.10.2009, 06:37   #7  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
376 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от lev Посмотреть сообщение
на таблицах есть метод overwriteSystemfields()... если хотите изменять системные поля, перед апдейтом нужно вызывать этот метод с параметром true (overwriteSystemfields(true))...
Добрый день.

На самом деле метод overwriteSystemfields() предназначен для другого - изменить значения системных полей у вновь создаваемых записей.
Ниже пример, таблица Test - имеет одно текстовое поле ItemId.

X++:
static void SRF_Test(Args _args)
{
    Test    test;
    ;
    test.ItemId = 'dmo';
    test.overwriteSystemfields(true);
    test.(fieldNum(Test, DataAreaId)) = 'dmo';
    test.insert();
}
Для уже существующих записей, изменить системные поля штатными средствами AX нельзя, и метод overwriteSystemfields() тут не поможет.
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: lev (4), S.Kuskov (1).