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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.03.2022, 09:18   #1  
axm2017 is offline
axm2017
Участник
 
1,882 / 295 (13) ++++++
Регистрация: 15.05.2017
Странное поведение filter (365)
Столкнулся в 365 со странным поведением формы.
Есть форма а на ней грид: накладываю фильтр.
Жму кнопку на форме а создания той же формы через код без всякой связи с текущей формой а.
Как результат первый вызов сохраняет фильтр на новой форме. Повторный вызов работает как положено.
Why? Как лечить?
Старый 14.03.2022, 12:30   #2  
axm2017 is offline
axm2017
Участник
 
1,882 / 295 (13) ++++++
Регистрация: 15.05.2017
Why?
Маленькое исследование по данной теме вдруг кому пригодится
С каких то пор появилась маленькая или не очень фича CLISavedViewsEnableFeature (упомянута на классе FormRunConfigurationPermissions)
Благодаря ей на методе run формы
X++:
if (FormRunConfigurationPermissions::isViewsFeatureEnabled())
{
      if (this.isPersonalizationAllowedToApply())
      {                            
          this.configurationHelper().loadInitialView();
      }
}
выполняется helper
а в нем applyInitialConfigurationView (и далее краткое изложение в стиле дом который построил Джек)

который вызывает loadedConfigurationProfile.rolloutView(this.formRun(), applyQuery, false, true, true, true);

где вытаскивает засериализованную где то ранее query
на классе FormRunConfigurationClass
X++:
internal Query getQuery()
{
        Query storedQuery;
        if(this.hasQuery())
        {
            container queryContainer = ContainerHelper::deserialize(storeFilterData.DocumentExtension);
            if(queryContainer)
            {
                storedQuery = new Query(queryContainer);
            }
        }

        return storedQuery;
}
Баг это или фича традиционно не понятно но эффект вполне себя может проявить при включенной фиче и вообще говоря не очевиден простому юзеру если он эту фичу не включал.

Последний раз редактировалось axm2017; 14.03.2022 в 12:35.
За это сообщение автора поблагодарили: Pandasama (2).
Старый 24.03.2022, 23:48   #3  
SergeyAY is offline
SergeyAY
Участник
 
2 / 15 (1) ++
Регистрация: 24.09.2009
Адрес: Москва
Вызов метода
X++:
formRun.parmBlockSerialization***(true)
предотвратит такое поведение. Точно не помню название метода, пишу по памяти.
За это сообщение автора поблагодарили: axm2017 (5).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
alirazazaidi: Data source filter using extension Dynamics 365 for finance and operations Blog bot DAX Blogs 0 04.02.2019 22:11
jaestevan: Microsoft Dynamics 365 for Operations Blog bot DAX Blogs 0 02.11.2016 01:11

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

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

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