07.07.2009, 12:50 | #1 |
Участник
|
Тип грида (GridType) при выводе списка связанной сущности
При выводе списка связанной сущности в IFrame формы основной сущности используется areas.aspx, которая строит грид по lookup-запросу с использованием соответствующего меню (кнопки "добавить существующий объект", "создать новый объект") и возможностью вызвать на редактирование запись двойным щелчком.
Есть необходимость отобрать связанные записи в список по значениям других атрибутов, а не только GUID основной сущности. Для этого используется fetchXML-запрос, который строит грид по типу расширенного запроса. У этого грида есть только функция "создать новый объект" - нет кнопки "добавить существующий объект" и по двойному щелчку на существующей записи открывается форма для создания нового объекта. Подскажите, пожалуйста, каким легальным (supported) способом можно в связанный список (associated view) вывести результат расширенного запроса (advanced find) или как изменить способ вывода (тип грида) результатов расширенного запроса? Очевидно, необходиио разработать свою aspx страницу и написать для нее свой code behind. Но неужели придется своим кодом полностью продублировать функциональность стандартных (встроенных) контролов? В SDK по этому поводу написано: Note Beyond adding custom buttons, menus and navigation areas, developers cannot change the functionality of the Microsoft Dynamics CRM application. It is not supported for developers to modify, re-use, or inherit functionality from Microsoft Dynamics CRM controls. |
|
07.07.2009, 13:31 | #2 |
Moderator
|
Вы сами ответили на свой вопрос. Да - разработчики зажали свои контролы и ничего с этим поделать мы не можем. В версии 3.0 данный способ работал, но в 4.0 он сильно глючит. Возможно вам удастся самостоятельно доработать его поняв как перегрузить double click в гриде. Сделать это можно изучая JS и HTC файлы контролов на сервере.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
07.07.2009, 13:55 | #3 |
Участник
|
Цитата:
Сообщение от Артем Enot Грунин
В версии 3.0 данный способ работал, но в 4.0 он сильно глючит.
Замкнутый круг получается: associated view фильтруется только по GUID основной сущности, а Advanced Find выводит результат в грид с ограниченной функциональностью. Что-то еще можно попробовать сделать? Написать плагин? Какой и к чему его цеплять? Или после загрузки фрейма получить набор записей через веб-сервис по soap-запросу и перестроить список прямо на странице в IFrame? |
|
07.07.2009, 18:59 | #4 |
Moderator
|
Есть такой волшебный инструмент в IE, называется View Source! А еще IE Developer Toolbar. И тем и другим можно расковырять уже генерированную страницу и посмотреть каким должен быть этот несчастный GridType!
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
07.07.2009, 19:18 | #5 |
Участник
|
Вы думаете я не пытался "ковырять" готовый HTML от CRM? Тем более у меня стои IE8 со встроенным Developer Toolbar. Но там уже готовая после рендеринга страница, построенная серверными скриптами (runat="server"). Клиентским скриптами изменить тип контрола нельзя, можно только модифицировать уже готовый HTML - а это "неуважаемый" здесь ансаппорт.
P.S. Я уже решил идти [правильным] путем разработки плагина. Это будет "железное" решение, да и опыт работы с плагинами наверняка еще пригодится. Последний раз редактировалось alsherin; 07.07.2009 в 19:25. |
|
|
|