|  14.03.2022, 09:18 | #1 | 
| Участник | Странное поведение filter (365) 
			
			Столкнулся в 365 со странным поведением формы. Есть форма а на ней грид: накладываю фильтр. Жму кнопку на форме а создания той же формы через код без всякой связи с текущей формой а. Как результат первый вызов сохраняет фильтр на новой форме. Повторный вызов работает как положено. Why? Как лечить? | 
|  | 
|  14.03.2022, 12:30 | #2 | 
| Участник | 
			
			Why? Маленькое исследование по данной теме вдруг кому пригодится С каких то пор появилась маленькая или не очень фича CLISavedViewsEnableFeature (упомянута на классе FormRunConfigurationPermissions) Благодаря ей на методе run формы X++: if (FormRunConfigurationPermissions::isViewsFeatureEnabled()) { if (this.isPersonalizationAllowedToApply()) { this.configurationHelper().loadInitialView(); } } а в нем 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 | 
| Участник | 
			
			Вызов метода X++: formRun.parmBlockSerialization***(true) | 
|  | |
| За это сообщение автора поблагодарили: axm2017 (5). | |