Аддоны
05
Сен
6

Hierarchical Treeview

Hierarchical Treeview – это Silverlight приложение, выводящее на форме объекта записи, связанные с текущей в виде иерархического дерева.

Возможности:

  • Динамическое отображение записей, связанных с текущей;
  • Настройка отображения;
  • Открытие записей напрямую из списка.

Установка:

На примере объекта Организация…

  • Скачайте Решение Hierarchical Treeview и импортируйте его в CRM;
  • На форму нужного объекта (в данном примере это Организация) добавьте новый раздел. В него вставьте Веб-ресурс «Hierarchical Related Entity (Account sample).html»;
  • Сохраните и опубликуйте форму Организации.

Можете идти любоваться «деревом» 🙂

Файл «Hierarchical Related Entity (Account sample).html» (входит в Решение) преднастроен в качестве примера для объекта Организация. Но Вы легко можете настроить решение и под другие объекты:

  • Создайте новый HTML Веб-ресурс;
  • Вставьте в него следующий код:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" > 
        <head> 
            <title>Sample hierarchical Related Entity</title> 
            <style type="text/css"> 
                html, body { 
                    height: 100%; 
                    overflow: auto; 
                }
     
                body { 
                    padding: 0; 
                    margin: 0; 
                } 
            
                #silverlightControlHost { 
                    height: 100%; 
                    text-align:center; 
                }
            </style> 
            <script type="text/javascript" src="gps_scripts/Silverlight.js"></script> 
            <script type="text/javascript" src="gps_scripts/hierarchicalrelatedentity.js"></script> 
            <script type="text/javascript" src="ClientGlobalContext.js.aspx"></script> 
            <script type="text/javascript">
                var slConf = '<?xml version="1.0"?>' +
                '<hierarchies xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">' +
                '<hierarchy entity="account" pk="accountid" icon="gps_imgs/ico_account.png" displayField="name"  UrlBody="/main.aspx?etc=1" UrlBodyExtra="extraqs=id=" UrlSuffix="pagetype=entityrecord">' +
                '<relatedEntity  name="activitypointer" pluralName="Activités" pk="activityid" fk="regardingobjectid" displayField="subject|string,ownerid|EntityReference,scheduledstart|System.DateTime,scheduledend|System.DateTime" icon="gps_imgs/ico_activity.png" UrlBody="userdefined/edit.aspx?etc=4212" UrlBodyExtra="id=" UrlSuffix=""  />' +
                '<relatedEntity  name="opportunity" pluralName="Opportunités" pk="opportunityid" fk="customerid" displayField="name|string,estimatedvalue|Money,estimatedclosedate|System.DateTime,closeprobability|int,ownerid|EntityReference" icon="gps_imgs/ico_opportunity.png"  UrlBody="main.aspx?etn=opportunity" UrlBodyExtra="extraqs=id=" UrlSuffix="pagetype=entityrecord"  />' +
                '<relatedEntity name="contact" pluralName="Contacts" pk="contactid" fk="parentcustomerid" displayField="fullname" icon="gps_imgs/ico_contact.png"   UrlBody="main.aspx?etn=contact" UrlBodyExtra="extraqs=id=" UrlSuffix="pagetype=entityrecord" />' +
                '<relatedEntity  name="account" pluralName="Sous-Comptes" pk="accountid" fk="parentaccountid" displayField="name" icon="gps_imgs/ico_subaccount.png"  UrlBody="main.aspx?etn=account" UrlBodyExtra="extraqs=id=" UrlSuffix="pagetype=entityrecord" />' + 
                '</hierarchy>' + 
                '</hierarchies>'; 
            </script>
        </head>
        <body> 
            <form id="form1" runat="server" style='height:100%'> 
                <div id="silverlightControlHost"> 
                    <script type="text/javascript">
                        createSLObj(silverlightControlHost); 
                    </script> 
                </div> 
            </form> 
        </body> 
    </html>
    

В этом коде в переменной «slConf» содержится конфигурационная информация. Эта информация хранится в XML-структуре, которую Вам нужно подредактировать исходя из своих потребностей:

Тег Атрибуты
Hierarchy: представляет текущий объект
  • entity: имя объекта;
  • pk: первичный ключ объекта;
  • displayField: отображаемое пользователю поле (или поля). Если выводимых полей несколько, то Вы должны использовать следующий синтаксис «fieldName1|Type1,fieldName2|Type2»ю. Например:
    displayField= 
    "name|string,estimatedvalue|Money,estimatedclosedate|System.DateTime,closeprobability|int,ownerid|EntityReference"
    
  • icon: URL иконки (Веб-ресурса);
  • UrlBody, UrlBodyExtra, UrlSuffix: используются для формирования URL записи.
reslatedEntity: представляет объект, связанные с текущей записью
  • entity,pk,icon,displayField: также как и в предыдущем случае;
  • fk: внешний ключ;
  • pluralName: имя объекта во множественном числе.


Комментарии (6)
  • Егор 05.09.2011

    Не работает, ничего не выдает, ни ошибку, ни дерево

  • slivka_83 05.09.2011

    Ну, у меня работает судя по скриншотам. Правда это было давно … еще на ролапе 3 наверное…

  • Егор 05.09.2011

    Подскажите тогда что я мог напортачить, просто после поиска информации я так понял что с этим решением не только у меня были проблемы

  • slivka_83 05.09.2011

    Ну, я не могу знать что Вы сделали не так — у меня нет «базы знаний» по этому решению. Единственное что я могу — попробовать повторно развернуть его у себя (на выходных).

    З.Ы. Если не буду долго отвечать — пинайте 🙂

  • Егор 05.09.2011

    Добрый день! Я все жду ответа 🙂

  • slivka_83 05.09.2011

    Попробовал стандартный преднастроенный пример 🙂 усе работает 🙂 установлен 5 ролап.

*

code