<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Microsoft Dynamics CRM и не только... : JScript</title><link>http://blogs.technet.com/ansle/archive/tags/JScript/default.aspx</link><description>Tags: JScript</description><dc:language>ru</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Сокрытие объектов в Microsoft Dynamics CRM 3.0</title><link>http://blogs.technet.com/ansle/archive/2007/08/07/microsoft-dynamics-crm-2.aspx</link><pubDate>Tue, 07 Aug 2007 17:04:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1717497</guid><dc:creator>Andrey Slepitsky</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/ansle/comments/1717497.aspx</comments><wfw:commentRss>http://blogs.technet.com/ansle/commentrss.aspx?PostID=1717497</wfw:commentRss><description>&lt;P&gt;Я получаю очень много вопросов на тему сокрытия различных объектов, таблиц и т.д. Например, мы хотим, чтобы в учетной карточке организации не отображались коммерческие предложения. Насколько я могу судить, многие из таких вопросов обсуждаются на различных форумах. Можно ли это реализовать? Да! Поддерживаются ли эти способы? Нет!&lt;/P&gt;
&lt;P&gt;Как это реализовать? Использовать событие OnLoad на уровне формы соответствующего объекта. Например, для реализации вышеозвученной задачи можно воспользоваться следующим кодом:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;var navQuotes;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;navQuotes=document.all.navQuotes;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;navQuotes.style.display = "none"&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Как узнать&amp;nbsp;название объекта? Очень просто - для этого существует утилита &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&amp;amp;displaylang=en"&gt;IEDevToolBar&lt;/A&gt;. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1717497" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/ansle/archive/tags/JScript/default.aspx">JScript</category></item><item><title>Динамические выпадающие списки</title><link>http://blogs.technet.com/ansle/archive/2007/01/05/583118.aspx</link><pubDate>Fri, 05 Jan 2007 21:04:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:583118</guid><dc:creator>Andrey Slepitsky</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/ansle/comments/583118.aspx</comments><wfw:commentRss>http://blogs.technet.com/ansle/commentrss.aspx?PostID=583118</wfw:commentRss><description>&lt;P&gt;Добрый день, коллеги!&lt;/P&gt;
&lt;P&gt;Очень часто возникает вопрос, а как сделать выпадающий&amp;nbsp;список (picklist), значения в котором зависят от значений в другом выпадающем списке. Например, у нас и партнеры и клиенты&amp;nbsp;относятся к организациям. Но, например,&amp;nbsp;партнеры Microsoft могут обладать следующими статусами: Registered, Certified и Gold. В то время, как клиенты могут быть потенциальными или текущими. Соответственно, мы хотим, чтобы после того, как мы выбрали в поле "Тип отношений" значение "Партнер", в списке "Доп.информация" были доступны только 3 значения - Registered, Certified и Gold. Если же мы выбираем значение "Клиент", то в списке "Доп.информация" доступны только "Потенциальный" и "Текущий". Давайте посмотрим, как это можно реализовать с помощью событий &lt;STRONG&gt;OnChange&lt;/STRONG&gt; и &lt;STRONG&gt;OnLoad&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Для начала, мы должны создать дополнительный атрибут - "Доп.информация" и в качестве типа&amp;nbsp;атрибута&amp;nbsp;указать&amp;nbsp;&lt;STRONG&gt;Picklist&lt;/STRONG&gt;.&amp;nbsp;Также, нам надо добавить возможные значения для этого атрибута - Registered, Certified, Gold, Потенциальный, Текущий. Теперь сохраняем этот атрибут, выводим его на форму организации и публикуем изменения (в примере я удалил другие категории организаций, например, такие как: пресса, консультант и т.д.).&lt;/P&gt;
&lt;P&gt;Теперь, нам надо написать обработчик &lt;STRONG&gt;OnChange&lt;/STRONG&gt; для атрибута "Тип отношений". Открываем форму организации и выбираем свойства поля "Тип отношений". Переходим на закладку&lt;STRONG&gt; События&lt;/STRONG&gt; и нажимаем на кнопку &lt;STRONG&gt;Правка&lt;/STRONG&gt; для события &lt;STRONG&gt;OnChange&lt;/STRONG&gt;. Делаем это событие активным и вводим следующий код:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;var oCusType = crmForm.all.customertypecode;&lt;BR&gt;var oNewInfo = crmForm.all.new_info;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;oNewInfo .DeleteOption (1);&lt;BR&gt;oNewInfo .DeleteOption (2);&lt;BR&gt;oNewInfo .DeleteOption (3);&lt;BR&gt;oNewInfo .DeleteOption (4);&lt;BR&gt;oNewInfo .DeleteOption (5);&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;if ( oCusType .DataValue != null )&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; oNewInfo .Disabled = false;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch ( oCusType.DataValue )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case "3":&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oNewInfo .AddOption ("Потенциальный" , 4);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oNewInfo .AddOption ("Текущий" , 5);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case "5":&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oNewInfo .AddOption ("Registered" , 1);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oNewInfo .AddOption ("Certified" , 2);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oNewInfo .AddOption ("Gold" , 3);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;BR&gt;else&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; oNewInfo.DataValue = null;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; oNewInfo.Disabled = true;&lt;BR&gt;}&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;И, чтобы все окончательно заработало, надо написать обработчик &lt;STRONG&gt;OnLoad&lt;/STRONG&gt; для формы организации. Это необходимо для того, чтобы значения в выпадающих списках отображались корректно непосредственно после открытия формы. Открываем свойства формы и&amp;nbsp;нажимаем на кнопку &lt;STRONG&gt;Правка&lt;/STRONG&gt; для события &lt;STRONG&gt;OnLoad&lt;/STRONG&gt;. Делаем событие также активным и вводим следующий код (здесь все проще, т.к. всю логику мы уже реализовали с помощью события &lt;STRONG&gt;OnChange&lt;/STRONG&gt; и нам надо просто вызвать обработчик данного события. За это отвечает метод &lt;STRONG&gt;FireOnChange&lt;/STRONG&gt;):&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;var p = crmForm.all.new_info.DataValue;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;if (crmForm.all.customertypecode.DataValue != null)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; crmForm.all.customertypecode.FireOnChange();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; crmForm.all.new_info.DataValue = p;&lt;BR&gt;}&lt;BR&gt;else&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; crmForm.all.new_info.DataValue=null;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; crmForm.all.new_info.Disabled = true;&lt;BR&gt;}&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Все сохраняем, обязательно публикуем изменения и проверяем.&amp;nbsp;Работает!&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=583118" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/ansle/archive/tags/Microsoft+Dynamics+CRM/default.aspx">Microsoft Dynamics CRM</category><category domain="http://blogs.technet.com/ansle/archive/tags/JScript/default.aspx">JScript</category></item></channel></rss>