Не загружается реестр раздела после редактирования фильтров в расширенном режиме
Симптомы
Кейс воспроизведения:
1) открываем раздел (например, "Контакты");
2) выбираем действие "Показать группы" в меню "Фильтр";
3) выбираем в дереве групп динамическую группу;
4) в меню настроек группы выполняем действие "Настроить фильтр";
5) закрываем модуль расширенной фильтрации через нажатие на крестик;
6) выбираем в реестре раздела любую запись и открываем её на редактирование (кнопка "Открыть");
7) нажимаем кнопку "Добавить контакт";
8) нажимаем кнопку "Отмена".
В результате: вместо раздела "Контакты" загружается только его заголовок, в консоли видим примерно такие сообщения:
1) message: Uncaught TypeError: Cannot read property 'modules' of undefined
2) user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647
file: undefined
line: undefined
message: Cannot read property 'components' of undefined
date: Mon Nov 16 2015 12:35:00 GMT+0200 (FLE Standard Time)
moduleId: SectionModuleV2_ContactSectionV2_ExtendedFilterEditModule
moduleName: SectionModuleV2
3) message: Uncaught Terrasoft.UnsupportedTypeException: Message GetSectionFiltersInfo is not defined in undefined module
Причина
Воспроизводится на версии выше 7.6.0.1500. Связана с изменением логики работы модуля расширенной фильтрации (ExtendedFilterEditModuleV2): его унаследовали от базовой схемы. При этом он сохраняется в историю браузера и при некоторых обстоятельствах загружается вместо ожидаемого модуля раздела.
Решение
Для локального исправления у клиента путём замещения базового модуля необходимо, собственно, заместить модуль ExtendedFilterEditModuleV2 с полным копированием кода и стилей, и добавить перед объявлением методов модуля свойство:
/** * Признак того, что при загрузке модуля используется состояние истории. * @public * @type {Boolean} */ useHistoryState: false,
Подскажите пожалуйста, как заменить этот модуль? Это же не view model, для таких модулей не предусмотрен механизм замещения в админке Creatio