Цитата:
Всё нормально работает, как то не так окрываете...
Все нормально компилируется, но не работает
Джоб сделал такой:
X++:
ttsBegin;
address.overwriteSystemfields(true);
while select forupdate address
{
address.(fieldNum(personTitleTable, dataAreaId)) = 'dat';
address.overwriteSystemfields(true);
address.update();
//break;
}
ttsAbort;
метод overwriteSystemfields как мертвому припарка. Что с ним, что без него данные остаются неизменные, хотя джоб отрабатывает и ошибка не воспроизводится.
Можно сменить двумя способами - через чистый SQL c Connection, Statement и пр. Или через создание новой записи в другой компании и копировании данных в нее:
X++:
select address;
addressNew.company('dat');
buf2buf(address, addressNew);
addressNew.insert();
address.delete();
buf2buf нужен, чтобы компания осталась без изменения (data() сменит компанию)