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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.03.2018, 18:49   #1  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
397 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Извините, просто сложилось впечатление, что вы не на 100% понимаете, как все эти reread, refreshEx и т.п. методы работают, решил подбросить ссылку.
Если research работает, как насчет запомнить выделенные записи перед вызовом research, а потом выделить их из кода?
X++:
void clicked()
{
    Table1 table1Local;
    Table1 table1ForUpdate;
    MultiSelectionHelper helper = MultiSelectionHelper::construct();
    Set selectedRecords = new Set(Types::Record);    
    SetEnumerator selectedRecordEnumerator;
    
    helper.parmDatasource(Table1_ds);

    table1Local = helper.getFirst();

    while (table1Local.RecId != 0)
    {
        selectedRecords.add(table1Local.data());
        
        ttsBegin;

        select firstonly forUpdate table1ForUpdate
            where table1ForUpdate.RecId == table1Local.RecId;

        table1ForUpdate.Field1 = 'some value';
        table1ForUpdate.update();

        ttsCommit;

        table1Local = helper.getNext();
    }

    Table1_ds.research();
    
    selectedRecordEnumerator = selectedRecords.getEnumerator();
    while (selectedRecordEnumerator.moveNext())
    {
        table1Local = selectedRecordEnumerator.current();
        Table1_ds.findRecord(table1Local);
        Table1_ds.mark(true);
    }
}
Старый 12.03.2018, 19:11   #2  
kitty is offline
kitty
Участник
 
361 / 26 (1) +++
Регистрация: 24.05.2005
Спасибо.

Я только обновляю записи, не добавляю/удаляю, поэтому reread&refresh дожен быть достаточен. Но почему-то , если транзакция успешна, то благополучно все изменения отображаются, а если откатывается - то частично данные обновляются на форме... Если reread стоит после отката, то, по идее, он должен "подхватить" актуальные уже записи ... и дело даже не в refresh (-2) ( и (-1) иже с ним), тк они тоже не помогают
Кэширование на таблице уже даже поменяла, не помогло

Стандартное решение должно работать, это же стандартный сценарий. Значит, где-то проблема, раз не работает, и желательно ее найти .
Как вариант - да, промаркирую заново выбранные записи, но это все-таки будут костыли.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как мне обновить Grid расположенный на другой форме? Yuri Safronov DAX: Программирование 17 22.01.2013 14:18
Выделенные записи на форме в отчёт/форму Sada DAX: Программирование 32 12.02.2011 20:12
создать 2 связанные записи на форме IKA DAX: Программирование 2 08.04.2010 23:21
Как в форме CustTrans через query отобрать записи у которых AmountCur != 0 ( когда в QueryBuildRange ставишь value(strFmt('!0')); - не работает!) rkorchagin DAX: Программирование 12 02.04.2007 17:58
Как из формы Form2 обновить записи на форме Form1? Hidden DAX: Функционал 15 24.05.2005 11:53

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:30.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.