Показать сообщение отдельно
Старый 03.09.2021, 09:35   #16  
oleggy is offline
oleggy
Участник
 
256 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
Я понял из за чего ошибка генерируется у меня.
Данный код отрабатывает корректно:
X++:
ttsBegin;
select forupdate _common
	where _common.recid == _common.recid;
_common.(_fieldId) = _value;
_common.doUpdate();
ttsCommit;
Если я сразу его меняю на:
X++:
ttsBegin;
_common.selectForUpdate(true);
_common.reread();
_common.(_fieldId) = _value;
_common.doUpdate();
ttsCommit;
Код так же продолжает корректно работать.
Если я в коде убираю _common.reread(), т.е. хочу сгененрировать ошибку:
X++:
ttsBegin;
_common.selectForUpdate(true);
//_common.reread(); // <-- убираю
_common.(_fieldId) = _value;
_common.doUpdate();
ttsCommit;
Естественно возникает эта ошибка. И если я снова возвращаю:
X++:
ttsBegin;
_common.selectForUpdate(true);
_common.reread(); // <-- возвращаю
_common.(_fieldId) = _value;
_common.doUpdate();
ttsCommit;
ошибка не пропадает а остается.
Помогает снова обойти эту ошибку изменение кода на:
X++:
ttsBegin;
select forupdate _common
	where _common.recid == _common.recid;
_common.(_fieldId) = _value;
_common.doUpdate();
ttsCommit;
Добавлю что речь про AX09.

Последний раз редактировалось oleggy; 03.09.2021 в 09:40.