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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.12.2020, 18:22   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от mazzy Посмотреть сообщение
...Но record.selectForUpdate() у меня всегда возвращает false.

Как сделать так, чтобы полученную из getByKey можно было обновить методом update, не выполняя повторного поиска.

Я правильно понимаю, что начав использовать UnitOfWork, мы должны использовать только его? Ну, или выполнять повторный поиск в базе?
Может что-то типа такого
\Classes\InventCostItemDim\updateInventTrans
X++:
protected void updateInventTrans(InventTrans _inventTrans)
{
    if (_inventTrans.RecId)
    {
        _inventTrans.skipTTSCheck(true); // !!!
        this.updateCostAmountStd(_inventTrans);
        _inventTrans.update(); // !!!
    }

    this.updateInventTransMap(_inventTrans);
}
В закрытии склада буфер доставали из мапа, т.е. никакого курсора с ним не связано, просто структура в памяти с полями. И процитированным способом он успешно обновлялся в БД без перевыбора записи. Но, если мне не изменяет память при заполнении мапа с InventTrans, запись выбиралась forUpdate c наложением блокировки в БД.


Хотя возможно для UnitOfWork возможен другой подход.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
stephenmann: Technical History of Dynamics AX - From Axapta 3.0 to AX2012 Blog bot DAX Blogs 5 03.03.2017 10:22
ax2012 - почему не находит по RecID УЖЕ существующую запись? mazzy DAX: Программирование 14 21.11.2014 10:20
как получить активную запись грида dreamer DAX: Программирование 1 23.03.2007 14:58
Как получить запись из связанного DataSource (InnerJoin) Berty Wooster DAX: Программирование 1 17.09.2003 20:04

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

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

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