Показать сообщение отдельно
Старый 06.12.2013, 08:28   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Вы так программируете?
Нет. Это равносильно тому, что бы вообще не писать ttsbegin/ttscommit а использовать skipTTSCheck(true).

Если критична атомарность операции обновления всех записей запроса то транзакцию обязательно нужно открывать до цикла, а если не критична, то можно сделать например вот так

X++:
while select forUpdate myTable
{
    ttsBegin;
// -->>
    myTable.reread(); // перевыбираем запись 
// <<-- 
    myTable.MyField = 'something';
    myTable.update();
    ttsCommit;
}
Common.reread() - альтернатива для findRecId?
За это сообщение автора поблагодарили: ax_mct (2).