AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
CRM
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.12.2013, 08:28   #1  
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).
Старый 06.12.2013, 15:58   #2  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Нет. Это равносильно тому, что бы вообще не писать ttsbegin/ttscommit а использовать skipTTSCheck(true).

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

Есть еще поддержка пессимистического режима. То есть по идее такой код (в первом посту который с заГраничным select for update) не пройдет сертификации в MS и не должен использоваться в вертикальных и общих решениях. Только на конкретном клиенте. Так как при отключении OCC работать не будет.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ответ: По поводу while select forUpdate AndyD DAX: Программирование 2 19.07.2012 18:32
dynamics-ax-dev: CLR Errors & ttsbegin/ttscommit Blocks Blog bot DAX Blogs 0 02.11.2010 18:05
Целесообразность отмены пересчетов перед закрытием склада vc DAX: Функционал 2 18.04.2010 16:54
FORUPDATE не может использоваться для представления - Предупреждение от АОСа /Antony/ DAX: Администрирование 4 09.11.2009 13:01
ttsbegin ttscommit and changecompany() Volodymyr DAX: Программирование 9 29.08.2008 15:36

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:37.