<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7904873902606592786</id><updated>2012-01-23T23:06:10.162+01:00</updated><category term='getEventArgs'/><category term='CRM 2011'/><category term='SetParent'/><category term='Konferencja'/><category term='REST'/><category term='Termin'/><category term='System Settings'/><category term='Outlook'/><category term='OrganizationData.svc'/><category term='360'/><category term='Outlook 2010'/><category term='kolejka'/><category term='element kolejki'/><category term='rsAccessDenied'/><category term='Windows Identity Foundation'/><category term='Netwise'/><category term='Shortcuts'/><category term='xrm 2011'/><category term='OnSave'/><category term='Office 2010'/><category term='WSS'/><category term='Visual Studio 2010'/><category term='getSaveMode()'/><category term='xRM'/><category term='Dashboard'/><category term='queue'/><category term='CRM 4.0'/><category term='U.S. Air Force'/><category term='SetParentSystemUser'/><category term='Agile'/><category term='Plugin Registration Tool'/><category term='cross-frame scripting'/><category term='SystemUser'/><category term='OData'/><category term='Reject E-mail'/><category term='MOSS'/><category term='Appointment'/><category term='queue item'/><category term='Microsoft Dynamics CRM'/><category term='CCA'/><category term='Silverlight'/><category term='Approve E-mail'/><title type='text'>Blog o xRM</title><subtitle type='html'>... jedna platforma, wiele aplikacji ...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-3580992020414045358</id><published>2011-12-13T09:34:00.001+01:00</published><updated>2011-12-13T09:47:44.319+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='OnSave'/><category scheme='http://www.blogger.com/atom/ns#' term='getSaveMode()'/><category scheme='http://www.blogger.com/atom/ns#' term='getEventArgs'/><title type='text'>CRM 2011–OnSave</title><content type='html'>Wydawać by się mogło, że zwyczajne zdarzenie OnSave wywoływane jest w momencie kiedy użytkownik kliknie przycisk &lt;strong&gt;Zapisz&lt;/strong&gt;, &lt;strong&gt;Zapisz i Zamknij&lt;/strong&gt; lub też &lt;strong&gt;Zapisz i Utwórz nowy, &lt;/strong&gt;który znajduje się we wstążce.&lt;br /&gt;Okazuje się, że nie tylko wtedy kod ten jest uruchamiany. Dzieję się to również kiedy chcemy obiekt dezaktywować lub aktywować jak również wtedy kiedy chcemy wykonać operację przypisania rekordu – oczywiście jeśli wykonujemy te operacje z poziomu formularza. Powstaje zatem pytanie: jak odróżnić w JS kiedy jest on uruchamiany. Można by się pokusić o sprawdzanie FormType, ale zadziała to tylko w przypadku aktywacji obiektu bo możemy sobie zobaczyć, że formularz jest wtedy tylko do odczytu. Dla pozostałych operacji zawsze będziemy mieli typ formularza &lt;strong&gt;Update&lt;/strong&gt;.&lt;br /&gt;Jest na szczęście wspierane (to moje ulubione stwierdzenie :D) rozwiązanie tej zagadki. W czasie kiedy konfigurujemy zdarzenie OnSave widzimy na formularzu następujące coś:&lt;br /&gt;&lt;img alt="image" border="0" height="191" src="http://lh6.ggpht.com/-kdsuHbDj2sA/TucOFTcVgpI/AAAAAAAAAgQ/A56ixdKwPjM/image%25255B8%25255D.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="588" /&gt;&lt;br /&gt;Co się dzieje kiedy zaznaczymy ten checkbox ? Po pierwsze nasza funkcja musi być odpowiednio zmodyfikowana i wyglądać powinna mniej więcej tak: &lt;br /&gt;&lt;img alt="image" border="0" height="102" src="http://lh5.ggpht.com/-3hDlZmPqrio/TucOHRpEQDI/AAAAAAAAAgU/tY6SmfBEHzA/image%25255B9%25255D.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="355" /&gt;&lt;br /&gt;A co daje nam ten parametr ? Widać to już na obrazku wyżej: eContext.getEventArgs().getSaveMode() – pozwala nam na “dobranie” się do wartości, które pomogą nam w zrozumieniu co jest powodem wystąpienia operacji &lt;strong&gt;Zapisz. &lt;/strong&gt;Te numerki, które widać na obrazku są do odnalezienia w SDK. Na wszelki wypadek zamieszczam je tutaj (wartości pochodzą z SDK opublikowanego 2.12.2011 :) – kto wie czy będą w przyszłości zmienione):&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 600px;"&gt;&lt;tbody&gt;&lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Entity &lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Event Mode &lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Value&lt;/strong&gt; &lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td valign="top" width="95"&gt;All&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Save&lt;/td&gt;        &lt;td valign="top" width="44"&gt;1&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td valign="top" width="95"&gt;All&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Save and Close&lt;/td&gt;        &lt;td valign="top" width="44"&gt;2&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td valign="top" width="95"&gt;All&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Save and New&lt;/td&gt;        &lt;td valign="top" width="44"&gt;59&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td valign="top" width="95"&gt;Activities&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Save as Completed&lt;/td&gt;        &lt;td valign="top" width="44"&gt;58&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td valign="top" width="95"&gt;All&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Deactivate&lt;/td&gt;        &lt;td valign="top" width="44"&gt;5&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td valign="top" width="95"&gt;All&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Reactivate&lt;/td&gt;        &lt;td valign="top" width="44"&gt;6&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td valign="top" width="95"&gt;User or Team owned entities&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Assign&lt;/td&gt;        &lt;td valign="top" width="44"&gt;47&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td valign="top" width="95"&gt;Email (E-mail)&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Send&lt;/td&gt;        &lt;td valign="top" width="44"&gt;7&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td valign="top" width="95"&gt;Lead&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Qualify&lt;/td&gt;        &lt;td valign="top" width="44"&gt;16&lt;/td&gt;     &lt;/tr&gt;&lt;tr&gt;       &lt;td valign="top" width="95"&gt;Lead&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Disqualify&lt;/td&gt;        &lt;td valign="top" width="44"&gt;15&lt;/td&gt;     &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-3580992020414045358?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/3580992020414045358/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2011/12/crm-2011onsave.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3580992020414045358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3580992020414045358'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2011/12/crm-2011onsave.html' title='CRM 2011–OnSave'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-kdsuHbDj2sA/TucOFTcVgpI/AAAAAAAAAgQ/A56ixdKwPjM/s72-c/image%25255B8%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-7159383363475759743</id><published>2011-12-10T10:46:00.001+01:00</published><updated>2011-12-10T10:46:19.898+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4.0'/><title type='text'>Dostęp do raportów w CRM</title><content type='html'>&lt;p&gt;Czasami zdarza się, aby dostęp do specyficznych raportów dostęp mieli tylko konkretni użytkownicy lub też aby domyślne raporty dostępne w CRM były poukrywane przed większością użytkowników. Jak do tego podejść ? &lt;/p&gt;  &lt;p&gt;Raport w Dynamics CRM jest prawie takim samym obiektem jak Klient czy Kontakt. Powoduje to, iż konfigurując uprawnienia możemy zdecydować czy użytkownik może widzieć tylko swoje raporty, raporty wszystkie (w całej organizacji):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-IRlYFXnXEqQ/TtprUeZZkII/AAAAAAAAAfM/ztSD4QsUts8/s1600-h/image%25255B9%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-hGtnUgw1IQI/Tt0puLQcKcI/AAAAAAAAAfU/O9jGilf78ao/image_thumb5.png?imgmax=800" width="750" height="49" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Z drugiej jednak strony napisałem, że Raport jest prawie jak Klient czy Kontakt. To prawie polega na tym, że w ustawieniach raportu możemy określić czy raport jest indywidualny czy też dostępny w organizacji.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-w1HCZ0Ul9DM/TuMqaCzLAQI/AAAAAAAAAfg/nUKzjn5xaGg/s1600-h/image5.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-dYOKdVESwp4/TuMqap-jTmI/AAAAAAAAAfk/9XMKNS9fe-c/image_thumb3.png?imgmax=800" width="635" height="160" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Co to właściwie znaczy ? A dokładnie to, że ustawienie na &lt;strong&gt;Organizacja &lt;/strong&gt;powoduje, że raport jest dostępny nawet dla tych użytkowników, którzy mają dostęp w uprawnieniach tylko do swoich raportów. Jeśli Raport ustawiony jest jako &lt;strong&gt;Indywidualny &lt;/strong&gt;to dostępny jest dla właściciela raportu, tych komu jest on udostępniony oraz tych, których rola daje dostęp do tego raportu.&lt;/p&gt;  &lt;p&gt;Patrząc z drugiej strony – jeśli użytkownik ma dostęp tylko do swoich raportów to widzi on naprawdę następujące raporty:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Te, których jest właścicielem &lt;/li&gt;    &lt;li&gt;Te, które są mu udostępnione &lt;/li&gt;    &lt;li&gt;Te, które są ustawione jako raporty &lt;strong&gt;Organizacyjne.&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-7159383363475759743?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/7159383363475759743/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2011/12/dostep-do-raportow-w-crm.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/7159383363475759743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/7159383363475759743'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2011/12/dostep-do-raportow-w-crm.html' title='Dostęp do raportów w CRM'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-hGtnUgw1IQI/Tt0puLQcKcI/AAAAAAAAAfU/O9jGilf78ao/s72-c/image_thumb5.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-7564220343775539846</id><published>2011-10-04T09:00:00.001+02:00</published><updated>2011-10-04T09:00:20.196+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='xrm 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='xRM'/><title type='text'>Filtrowane pola typu Lookup</title><content type='html'>&lt;p&gt;W CRM 4.0 w większości projektów trzeba było tworzyć niewspierane rozwiązanie, które pomagało korzystać z filtrowanych pól typu Lookup. Przykładem takiego zastosowania było np. umieszczenie na formularzu klienta powiązania z bazą kodów pocztowych. Zamiast polegać na tym, aby użytkownicy CRM sami wprowadzali wartości w polach budowany był słownik kodów pocztowych. Słownik ten miał również dodatkowe informacje takie jak województwo czy też powiat (również w postaci słownika). Na formularzu klienta umieszczane były pola Kod Pocztowy, Powiat, Województwo. Wybranie np. województwa powodować powinno zawężenie wartości w słowniku Powiat oraz Kod Pocztowy do wartości z danego województwa. &lt;/p&gt;  &lt;p&gt;W CRM 2011 Microsoft zaimplementował wsparcie dla tego typu funkcjonalności i filtrowane lookupy stały się wspierane “z pudełka”. Konfigurując pola typu lookup na formularzu można wybrać sobie czy ma to pole być filtrowane czy też nie. A jeśli ma to na podstawie jakiego pola – uwaga – tylko jednego: &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://lh3.ggpht.com/-F2egqqbjcDU/ToqvAKzs9tI/AAAAAAAAAew/WYRzsnIDlm8/image%25255B4%25255D.png?imgmax=800" width="452" height="149" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;W większości przypadków wykorzystanie filtrowania po jednym polu wystarczy. Gdyby jednak to było za mało mamy do dyspozycji coś co powala i czego nie było w poprzedniej wersji CRM. Możemy sami definiować sobie widok jaki będzie pokazywany w oknie wyszukiwania (po kliknięciu lupki w polu typu lookup). Jak to się robi ? &lt;/p&gt;  &lt;p&gt;Pisze się odpowiedni kod w JS i umieszcza jego wykonania np. w zdarzeniu OnLoad formularza. Definiując taki kod określamy przede wszystkim kryteria wyszukiwania (w postaci FetchXML) oraz tego jak ma być prezentowany widok – czyli określamy jakie kolumny, w jakiej szerokości mają prezentować się w okienku wyszukiwania. W efekcie możemy otrzymać filtrowany lookup bez ograniczeń. Przykładowe zastosowanie tego mechanizmu: rejestrujemy w CRM szanse sprzedaży, ale dla jednej szansy sprzedaży można dowiązać wielu klientów (relacja N:1 pomiędzy szansą sprzedaży a klientem). Następnie na formularzu szansy chcemy wskazać jedną osobę kontaktową (Kontakt), która będzie wskazywać osobę decyzyjną spośród wszystkich osób kontaktowych wszystkich klientów biorących udział w szansie sprzedaży. Aby pokazać w oknie wyszukiwania tylko te osoby kontaktowe, które dowiązane są do klientów dowiązanych do szansy sprzedaży korzystamy właśnie z kodu JS.&lt;/p&gt;  &lt;p&gt;Przykładowy kod wygląda następująco:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-OBJKVlvynqc/ToqvA3omElI/AAAAAAAAAe0/gGmlhXKS3bg/image%25255B11%25255D.png?imgmax=800" width="762" height="579" /&gt;&lt;/p&gt;  &lt;p&gt;Po więcej szczegółów odsyłam do SDK – słowo kluczowe do znalezienia to &lt;strong&gt;addCustomView :)&lt;/strong&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-7564220343775539846?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/7564220343775539846/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2011/10/filtrowane-pola-typu-lookup.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/7564220343775539846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/7564220343775539846'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2011/10/filtrowane-pola-typu-lookup.html' title='Filtrowane pola typu Lookup'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-F2egqqbjcDU/ToqvAKzs9tI/AAAAAAAAAew/WYRzsnIDlm8/s72-c/image%25255B4%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-820500537807889307</id><published>2011-07-16T12:58:00.001+02:00</published><updated>2011-07-16T13:00:13.228+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><title type='text'>CRM 2011 i jego dostosowywanie</title><content type='html'>&lt;p&gt;Wydawać się by mogło, że nowa wersja CRM usprawni edycję takich dostosowań jak znana z CRM 4.0 mapa witryny (sitemap) czy też ISV.config. Ten pierwszy plik w nowej wersji CRM nie został zmieniony natomiast ISV.config zastąpiony został plikiem xml definiującym elementy wstążki. Wstążka to zupełnie nowa rzecz, która wykracza daleko poza możliwości starego ISV.config. Nowe możliwości niosą za sobą rozbudowaną strukturę, bardziej skompilowanie definicje pliku xml czy też rozbicie wstążki na poszczególne encje – kto miał do czynienia z dodaniem przycisku do wstążki ten wie o czym mowa ;)&lt;/p&gt;  &lt;p&gt;Niestety Microsoft nie zaprezentował narzędzia, które pozwoli na łatwą edycję zarówno mapy witryny jak też wstążki. Na szczęście społeczność Dynamics CRM nie śpi i na codeplex znaleźć można dwa fajne narzędzia:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a title="http://sitemapeditor.codeplex.com/" href="http://sitemapeditor.codeplex.com/" target="_blank"&gt;http://sitemapeditor.codeplex.com/&lt;/a&gt;       &lt;p&gt;&lt;img title="SiteMapEditor" border="0" alt="SiteMapEditor" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=sitemapeditor&amp;amp;DownloadId=253537" width="644" height="431" /&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a title="http://ribboneditor.codeplex.com/" href="http://ribboneditor.codeplex.com/" target="_blank"&gt;http://ribboneditor.codeplex.com/&lt;/a&gt;       &lt;p&gt;&lt;img title="RibbonEditor" border="0" alt="RibbonEditor" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=ribboneditor&amp;amp;DownloadId=258691" width="644" height="393" /&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Pamiętać jednak należy, że są to narzędzia, które mogą działać niestabilnie i trzeba wiedzieć co kryje się pod maską CRMa aby, jeśli będzie to konieczne, naprawić to co zostanie zepsute :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-820500537807889307?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/820500537807889307/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2011/07/crm-2011-i-jego-dostosowywanie.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/820500537807889307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/820500537807889307'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2011/07/crm-2011-i-jego-dostosowywanie.html' title='CRM 2011 i jego dostosowywanie'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-4503336829851833838</id><published>2011-05-17T08:12:00.001+02:00</published><updated>2011-05-17T08:12:56.836+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='xrm 2011'/><title type='text'>CRM 2011–Ukrywanie widoków systemowych</title><content type='html'>&lt;p&gt;Kto miał za zadanie ukryć widoki systemowe w CRM 4.0 ten wie jakie to było problematyczne :) Co się zmieniło w nowym CRM ? Podobnie jak np. klienta może być aktywny lub nieaktywny tak samo widoki. Z poziomu dostosowań możemy oznaczyć widok jako aktywny/nieaktywny:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_9iHD_p3FzDg/TdIR39BDZlI/AAAAAAAAAeM/nLV3QnwEcKY/image%5B17%5D.png?imgmax=800" width="601" height="285" /&gt;&lt;/p&gt;  &lt;p&gt;Po dezaktywacji widok będzie widoczny w liście widoków nieaktywnych:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_9iHD_p3FzDg/TdIR4Pqt05I/AAAAAAAAAeQ/FflaiAYNnZg/image%5B18%5D.png?imgmax=800" width="822" height="90" /&gt;&lt;/p&gt;    &lt;p&gt;Po wyłączeniu kilku widoków i opublikowaniu zmian w efekcie dostajemy przykładową listę widoków:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_9iHD_p3FzDg/TdIR4rNdJeI/AAAAAAAAAeU/j7w5-K4qlQY/image%5B20%5D.png?imgmax=800" width="269" height="137" /&gt;&lt;/p&gt;  &lt;p&gt;Efekt osiągnięty w prosty sposób co w CRM 4 zajmowało czas na napisanie pluginu, który przestawał działać kiedy ktoś przypadkiem zmienił nazwę widoku :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-4503336829851833838?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/4503336829851833838/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2011/05/crm-2011ukrywanie-widokow-systemowych.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/4503336829851833838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/4503336829851833838'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2011/05/crm-2011ukrywanie-widokow-systemowych.html' title='CRM 2011–Ukrywanie widoków systemowych'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_9iHD_p3FzDg/TdIR39BDZlI/AAAAAAAAAeM/nLV3QnwEcKY/s72-c/image%5B17%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-456742609310397613</id><published>2011-04-28T16:38:00.001+02:00</published><updated>2011-04-28T16:38:21.703+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><title type='text'>CRM 2011–pierwszy egzamin MB2-866</title><content type='html'>&lt;p&gt;Na stronie Microsoft Learning znaleźć można już informacje o egzaminie związanym z Dynamics CRM 2011: MB2-866: Microsoft Dynamics CRM 2011 Customization and Configuration. Szczegółowe informacje znaleźć można na stronie ML: &lt;a title="http://www.microsoft.com/learning/en/us/exam.aspx?ID=MB2-866" href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=MB2-866" target="_blank"&gt;http://www.microsoft.com/learning/en/us/exam.aspx?ID=MB2-866&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-456742609310397613?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/456742609310397613/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2011/04/crm-2011pierwszy-egzamin-mb2-866.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/456742609310397613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/456742609310397613'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2011/04/crm-2011pierwszy-egzamin-mb2-866.html' title='CRM 2011–pierwszy egzamin MB2-866'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-2802343115227113808</id><published>2011-04-08T14:16:00.001+02:00</published><updated>2011-04-11T21:10:16.865+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kolejka'/><category scheme='http://www.blogger.com/atom/ns#' term='element kolejki'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='queue'/><category scheme='http://www.blogger.com/atom/ns#' term='queue item'/><title type='text'>CRM 2011–Kolejki w CRM</title><content type='html'>&lt;p&gt;Kto korzystał z kolejek w CRM 4.0 ten wie jak wiele ograniczeń ten mechanizm tam posiada. Przykładowo dostępu do kolejek nie dało się ograniczyć, tzn. jeśli organizacja była podzielona na wiele jednostek organizacyjnych to nie było możliwości ukrycia kolejek pomiędzy tymi jednostkami. W CRM 4.0 kolejki są “Organization-owned” (mówimy oczywiście o kolejkach publicznych a nie kolejkach private oraz WIP, które tworzone są dla każdego użytkownika bez udziału i możliwości ingerencji użytkownika) co znaczy, że nie jest ona przypisana do konkretnej osoby, tylko do jednostki biznesowej. W nowym CRM kolejka jest “User-owned” co powoduje, że właściciel widoczny w CRM 4.0 na formatce kolejki w CRM 2011 jest faktycznie jego właścicielem:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_9iHD_p3FzDg/TZ78l9Db3uI/AAAAAAAAAdQ/tlo4xW-f9HI/image%5B3%5D.png?imgmax=800" width="581" height="324" /&gt;&lt;/p&gt;  &lt;p&gt;Ma to swoje przełożenie również na uprawnienia:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_9iHD_p3FzDg/TZ78mUe9DHI/AAAAAAAAAdU/X3z_My5AU_I/image%5B6%5D.png?imgmax=800" width="780" height="25" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_9iHD_p3FzDg/TZ78mhz7xeI/AAAAAAAAAdY/m-W7fRxEfL4/image%5B10%5D.png?imgmax=800" width="794" height="35" /&gt;&lt;/p&gt;  &lt;p&gt;W definicji roli możemy określić zakres widoczności kolejek: możemy widzieć tylko swoje kolejki jak również kolejki swojego zespołu. Trzeba tutaj wspomnieć, że domyślnie kolejki tworzone są dla nowego użytkownika, dla nowego zespołu.&lt;/p&gt;  &lt;p&gt;Kolejna super sprawa związana z kolejkami to fakt, iż możemy do nich “wrzucić” różnego typu obiektu. Wystarczy w części poświęconej dostosowaniom obiektu wskazać, że chcemy aby ten obiekt mógł być umieszczany w kolejce: &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_9iHD_p3FzDg/TZ78nIMqJuI/AAAAAAAAAdc/wErtXRLC2iY/image%5B13%5D.png?imgmax=800" width="787" height="96" /&gt;&lt;/p&gt;  &lt;p&gt;Dodatkową opcją jest możliwość automatycznego umieszczenia elementu w kolejce właściciela jeśli obiekt jest dla niego tworzony lub też właściciel obiektu się zmienia. &lt;/p&gt;  &lt;p&gt;Po ustawieniu tej opcji pojawią się we wstążce dodatkowe przyciski pozwalające na wysłanie obiektu do kolejki oraz podejrzenie tego obiektu w kolejce. Na liście obiektów mamy do dyspozycji jeden przycisk do dodania obiektu do kolejki:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_9iHD_p3FzDg/TZ78njY1zqI/AAAAAAAAAdg/3aD6xL-KGUU/image%5B16%5D.png?imgmax=800" width="637" height="217" /&gt;&lt;/p&gt;  &lt;p&gt;Z kolei na formatce mamy do dyspozycji dwa przyciski. Jeden do dodania elementu, drugi do wyświetlenia obiektu w kolejce.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_9iHD_p3FzDg/TZ78odH9XhI/AAAAAAAAAdk/w9EoYFMKKME/image%5B19%5D.png?imgmax=800" width="601" height="189" /&gt;&lt;/p&gt;  &lt;p&gt;Będąc przy podglądaniu obiektu w kolejce widzimy kolejną nowość w CRM 2011. Został udostępniony nowy obiekt “Queue Item”, który przechowuje referencje do obiektu, kolejki oraz osoby, aktualnie odpowiedzialnej za ten element – co najważniejsze jest to obiekt dostosowywalny co pozwala np. na zbudowanie procesów sprawdzające SLA rozwiązywania spraw, co w wielu wdrożeniach CRM 4.0 było wymaganiem bardzo ciężkim do zrealizowania, a który w nowym CRM jest już łatwiejsze:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_9iHD_p3FzDg/TZ78o6s2eTI/AAAAAAAAAd0/6GnLZcIoMqk/image%5B33%5D.png?imgmax=800" width="817" height="355" /&gt;&lt;/p&gt;  &lt;p&gt;Proces wysłania obiektu do kolejki polega na stworzeniu nowego obiektu &lt;strong&gt;&lt;em&gt;Queue Item&lt;/em&gt;&lt;/strong&gt; (Element Kolejki), nie ma czegoś takiego co było w CRM 4.0, że obiekt jest “przypisywany do kolejki” co tak naprawdę skutkowało udostępnieniem obiektu dla wskazanej kolejki. Jeśli chcemy zautomatyzować dodawanie obiektu do kolejki (np,. w przepływie pracy) to musimy stworzyć nowy obiekt element kolejki. Jak mamy ten obiekt to możemy pisać pluginy, które wspierają nam procesowanie spraw na podstawie SLA lub też przepływy, które będą notyfikować osoby/zespoły, że w ich kolejce powstało nowe zgłoszenie. &lt;/p&gt;  &lt;p&gt;Chcąc zaprezentować elementy w kolejkach korzystamy z kolejek dostępnych w Obszarze Roboczym:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_9iHD_p3FzDg/TZ78pdQZ4yI/AAAAAAAAAds/v-g9ixxNBik/image%5B25%5D.png?imgmax=800" width="896" height="338" /&gt;&lt;/p&gt;  &lt;p&gt;Możemy z tego poziomu wybrać sobie kolejkę, którą chcemy przeglądać (lub prezentujemy elementy ze wszystkich kolejek). Możemy również wybrać widok, który prezentuje elementy czekające na przypisanie oraz elementy przypisane:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_9iHD_p3FzDg/TZ78qIDEsRI/AAAAAAAAAdw/IqmOnyKF_oY/image%5B28%5D.png?imgmax=800" width="562" height="165" /&gt;&lt;/p&gt;  &lt;p&gt;We wstążce zobaczymy następujące elementy:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Routing – przycisk ten służy do przesłania wybranego elementu z kolejki do innej kolejki. Można przy tej okazji zmienić osobę, która aktualnie pracuje nad elementem. &lt;/li&gt;    &lt;li&gt;Pracuj nad – powoduje ustawienie pola &lt;strong&gt;Pracownik &lt;/strong&gt;na formatce elementu kolejki. Można wskazać użytkownika lub też zespół. &lt;/li&gt;    &lt;li&gt;Zwolnij – powoduje wyczyszczenie pola &lt;strong&gt;Pracownik &lt;/strong&gt;na formatce elementu kolejki. Element trafia do widoku “Elementy dostępne do opracowania”. &lt;/li&gt;    &lt;li&gt;Usuń – powoduje usunięcie elementu kolejki. Sam obiekt, który został wysłany do kolejki nie jest usuwany. &lt;/li&gt;    &lt;li&gt;Szczegóły elementu kolejki – powoduje wyświetlenie formatki elementu kolejki. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Pozostaje już tylko wykorzystać tę wiedzę w prawdziwym wdrożeniu :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-2802343115227113808?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/2802343115227113808/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2011/04/crm-2011kolejki-w-crm.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/2802343115227113808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/2802343115227113808'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2011/04/crm-2011kolejki-w-crm.html' title='CRM 2011–Kolejki w CRM'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_9iHD_p3FzDg/TZ78l9Db3uI/AAAAAAAAAdQ/tlo4xW-f9HI/s72-c/image%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-8594171925250312288</id><published>2011-02-14T12:07:00.000+01:00</published><updated>2011-02-14T12:07:00.382+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Dashboard'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='cross-frame scripting'/><title type='text'>CRM 2011–Dashboard “Restrict cross-frame scripting”</title><content type='html'>&lt;p&gt;W CRM 2011 wbudowana została nowa funkcjonalność, pozwalająca na tworzenie tzw. dashboard’ów dla użytkowników końcowych. Wszystko to ma na celu udostępnienie użytkownikom jak najbogatszego pakietu, który może być przez nich samych dostosowywany. Mając tę funkcjonalność dostępną “z pudełka” każdy może ustawić sobie jako panel startowy dowolny raport/wykres/listę – w zależności od upodobań.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="Dashboard" src="http://lh5.ggpht.com/_9iHD_p3FzDg/TVe7ea-4EQI/AAAAAAAAAdA/HxuXixsKTUU/image%5B4%5D.png?imgmax=800" width="228" height="156" /&gt;&lt;/p&gt;  &lt;p&gt;W takiej tablicy można umieścić wykres, element iframe, listę czy też dowolny Web Resource. Jako element iframe można umieścić odnośnik do raportu, który zbudowany jest w organizacji i już od dawna wykorzystywany. Jednakże tutaj powstaje problem. Element iframe może mieć włączone zabezpieczenie związane z cross-site scripting. Użytkownik biznesowy nie może tej opcji wyłączyć:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_9iHD_p3FzDg/TVe7e39lSwI/AAAAAAAAAdE/xHQtrZSJ06k/image%5B13%5D.png?imgmax=800" width="429" height="319" /&gt;&lt;/p&gt;  &lt;p&gt;Jest to dobre podejście, gdyż jeśli każdy użytkownik by miał możliwość dodawania linków na tablicy do dowolnego źródła w Internecie to by miało to wpływ na bezpieczeństwo systemu CRM – po co ryzykować pomyślał Microsoft i tę opcję wyłączył. Jednak co z przypadkiem, który opisałem wyżej – co kiedy chcemy w CRM pokazać raport, który organizacja od dawna wykorzystuje i jest do niego przyzwyczajona tak bardzo, że brak jego w CRM to poważna strata ?&lt;/p&gt;  &lt;p&gt;Na szczęście tablice tworzone przez Administratora z poziomu Solution pozwala na wyłączenie opcji cross-site scripting:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="cross-site scripting" border="0" alt="cross-site scripting" src="http://lh4.ggpht.com/_9iHD_p3FzDg/TVe7fczzAoI/AAAAAAAAAdI/RsUhrHxiDj0/image%5B14%5D.png?imgmax=800" width="428" height="63" /&gt;&lt;/p&gt;  &lt;p&gt;Wierzymy, że administrator jest świadomy tego co robi :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-8594171925250312288?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/8594171925250312288/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2011/02/crm-2011dashboard-restrict-cross-frame.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/8594171925250312288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/8594171925250312288'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2011/02/crm-2011dashboard-restrict-cross-frame.html' title='CRM 2011–Dashboard “Restrict cross-frame scripting”'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_9iHD_p3FzDg/TVe7ea-4EQI/AAAAAAAAAdA/HxuXixsKTUU/s72-c/image%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-7161812169464492376</id><published>2011-02-13T11:33:00.001+01:00</published><updated>2011-02-13T11:40:14.336+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reject E-mail'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='SystemUser'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='System Settings'/><category scheme='http://www.blogger.com/atom/ns#' term='Approve E-mail'/><title type='text'>CRM 2011–wysyłanie widomości email–zatwierdzanie adresów email</title><content type='html'>&lt;p&gt;Jeśli spojrzymy sobie na dwa aspekty nowego CRM: Ustawienia systemowe oraz formatkę użytkownika to zobaczymy tam dwie nowe rzeczy, których nie było w CRM 4.0:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 9px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="E-mail" border="0" alt="E-mail" src="http://lh6.ggpht.com/_9iHD_p3FzDg/TVezWPqCODI/AAAAAAAAAco/MmA4pKc2C1Y/image%5B26%5D.png?imgmax=800" width="445" height="164" /&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Approve/Reject E-mail" border="0" alt="Approve/Reject E-mail" src="http://lh5.ggpht.com/_9iHD_p3FzDg/TVezXe4sY8I/AAAAAAAAAcs/c08Q9aXqDJI/image%5B27%5D.png?imgmax=800" width="283" height="119" /&gt;&lt;/p&gt;  &lt;p&gt;Obie rzeczy dotyczą wysyłki wiadomości email z wykorzystaniem Email routera. W ustawieniach systemowych można wymóc, aby CRM e-mail router procesował tylko te wiadomości email, których nadawcy mają zatwierdzony przez administratora adres. Drugi zrzut ekranu pokazuje dwa przyciski na formatce użytkownika “Approve E-mail” oraz “Reject E-mail”. Przy ich pomocy administrator może zatwierdzić lub też odrzucić adres email przy pomocy, którego będzie odbywać się wysyłka wiadomości email. &lt;/p&gt;  &lt;p&gt;Jeśli użytkownikowi ustawimy opcję dostępu do poczty email jako E-mail Router to jeśli jego adres mailowy nie zostanie zatwierdzony zostanie zaprezentowany na jego formatce następujący komunikat:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Informacja" border="0" alt="Informacja" src="http://lh6.ggpht.com/_9iHD_p3FzDg/TVezYeu1FmI/AAAAAAAAAc0/krsVkk2yx8s/image%5B28%5D.png?imgmax=800" width="798" height="53" /&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-7161812169464492376?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/7161812169464492376/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2011/02/crm-2011wysyanie-widomosci.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/7161812169464492376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/7161812169464492376'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2011/02/crm-2011wysyanie-widomosci.html' title='CRM 2011–wysyłanie widomości email–zatwierdzanie adresów email'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_9iHD_p3FzDg/TVezWPqCODI/AAAAAAAAAco/MmA4pKc2C1Y/s72-c/image%5B26%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-3926473869383795411</id><published>2011-02-01T13:27:00.002+01:00</published><updated>2011-02-04T14:00:43.946+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><title type='text'>CRM 2011–Pluginy i namiastka z CrmSvcUtil</title><content type='html'>Korzystamy sobie z usługi sieciowej CRM 2011, budujemy własną strukturę obiektów, generujemy z tego namiastkę, wrzucamy wszystko do pluginu i …. patrzymy na błąd: &lt;pre class="brush: csharp"&gt;Unable to cast object of type 'Microsoft.Xrm.Sdk.Entity' to type 'Netwise.Crm.Sdk.Account'.&lt;/pre&gt;I co teraz ? Czy wszystko muszę przerobić na Entity i bawić się indekserami ? To tylko jedno podejście. Inne podejście, które może nas uchronić od tego pierwszego to wykorzystanie generycznej metody ToEntity&amp;lt;&amp;gt;. Zamiast kodu:&lt;br /&gt;&lt;pre class="brush: csharp"&gt;return (Account)service.Retrieve(Account.EntityLogicalName, accountId, new ColumnSet(Attributes.accountnumber));&lt;/pre&gt;Napiszemy kod:&lt;br /&gt;&lt;pre class="brush: csharp"&gt;return service.Retrieve(Account.EntityLogicalName, accountId, new ColumnSet(Attributes.accountnumber)).ToEntity&amp;lt;Account&amp;gt;();&lt;/pre&gt;Wtedy nasza początkowa praca nie pójdzie na marne i nie będziemy oglądać wyjątku.&lt;br /&gt;Z kolei jak chcemy tworzyć obiekty przy pomocy IOrganizationService w pluginie nie musimy korzystać z Entity tylko możemy korzystać z wygenerowanych klas. Przykładowo tworząc nowego klienta zamiast pisać kod:&lt;br /&gt;&lt;pre class="brush: csharp"&gt;service.Create(_account);&lt;/pre&gt;Musimy zrobić:&lt;br /&gt;&lt;pre class="brush: csharp"&gt;service.Create(_account.ToEntity&amp;lt;Entity&amp;gt;());&lt;/pre&gt;W przypadku pierwszego kodu otrzymamy podobny błąd o rzutowaniu Account na Entity. Drugi kod zadziała bez problemu &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Uśmiech" src="http://lh4.ggpht.com/_9iHD_p3FzDg/TUf8SYufm-I/AAAAAAAAAZ4/4hcDE-uNq34/wlEmoticon-smile%5B2%5D.png?imgmax=800" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-3926473869383795411?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/3926473869383795411/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2011/02/crm-2011pluginy-i-namistka-z-crmsvcutil.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3926473869383795411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3926473869383795411'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2011/02/crm-2011pluginy-i-namistka-z-crmsvcutil.html' title='CRM 2011–Pluginy i namiastka z CrmSvcUtil'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_9iHD_p3FzDg/TUf8SYufm-I/AAAAAAAAAZ4/4hcDE-uNq34/s72-c/wlEmoticon-smile%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-2644848894363571160</id><published>2010-12-27T16:14:00.001+01:00</published><updated>2010-12-27T16:14:38.021+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><title type='text'>CRM 2011 RC–czas ma znaczenie :)</title><content type='html'>&lt;p&gt;Przesiadka ze środowiska Beta na RC spowodowała, że uruchomienie kodu narzędzia korzystającego z usług CRM 2011 zakończyło się następującym komunikatem błędu&lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-confusedsmile" alt="Zmieszanie" src="http://lh6.ggpht.com/_9iHD_p3FzDg/TRitXdwQZ9I/AAAAAAAAAZc/W7yEz6wtc0g/wlEmoticon-confusedsmile%5B2%5D.png?imgmax=800" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;System.ServiceModel.Security.MessageSecurityException : An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException &lt;/code&gt;&lt;code&gt;for&lt;/code&gt; &lt;code&gt;the fault code and detail. &lt;/code&gt;&lt;code&gt;System.ServiceModel.FaultException : An error occurred when verifying security &lt;/code&gt;&lt;code&gt;for&lt;/code&gt; &lt;code&gt;the message. &lt;/code&gt;&lt;/p&gt;  &lt;p&gt;Szukam powodu tego błędu: generuję namiastkę dla wersji RC, przebudowuję projekt, itd, a okazuje się, że CRM nie ma z tym nic wspólnego – błąd ten jest związany z WCF. Wynika z tego, iż maszyna, na której znajduje się serwer przez przypadek nie posiada poprawnie ustawionego czasu :) – naprawienie tej prostej zależności rozwiązało problem narzędzia i przesiadki na nową wersję. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-2644848894363571160?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/2644848894363571160/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/12/crm-2011-rcczas-ma-znaczenie.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/2644848894363571160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/2644848894363571160'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/12/crm-2011-rcczas-ma-znaczenie.html' title='CRM 2011 RC–czas ma znaczenie :)'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_9iHD_p3FzDg/TRitXdwQZ9I/AAAAAAAAAZc/W7yEz6wtc0g/s72-c/wlEmoticon-confusedsmile%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-3891758863074442644</id><published>2010-12-23T16:12:00.001+01:00</published><updated>2010-12-23T16:12:17.147+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><title type='text'>CRM 2011–skrypty i FormType</title><content type='html'>&lt;p&gt;Pisząc skrypty JScript do obsługi zdarzeń OnLoad, OnSave czy też OnChange możemy korzystać również z dobrze znanej w CRM 4 referencji do crmForm. To podejście zostało pozostawione w CRM 2011 w celu zachowania kompatybilności. Zaleca się jednak korzystanie z referencji do Xrm.Page. &lt;/p&gt;  &lt;p&gt;Pisząc jeden skrypt potrzebowałem informacji na temat tego jakiego typu formatka jest prezentowana. W CRM 4.0 wystarczyło skorzystać z następującego kodu: crmForm.FormType. W CRM 2011 jest inaczej (oczywiście jeśli będziemy korzystać z Xrm.Page). W CRM 2011 trzeba wykonać następujący kod: Xrm.Page.ui.getFormType(). Argumentem zwracanym przez tą metodę jest liczba całkowita, podobnie jak crmForm.FormType. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-3891758863074442644?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/3891758863074442644/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/12/crm-2011skrypty-i-formtype.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3891758863074442644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3891758863074442644'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/12/crm-2011skrypty-i-formtype.html' title='CRM 2011–skrypty i FormType'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-358847838203697754</id><published>2010-11-28T09:44:00.001+01:00</published><updated>2010-11-28T09:44:54.998+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='360'/><title type='text'>CRM–koncepcja 360 stopni</title><content type='html'>&lt;p&gt;Nie raz można trafić na publikacje, które wskazują Dynamics CRM jak system, który pozwala na tzw. 360 view. Oznacza to, iż pracując z danymi klienta mamy w dowolnym momencie szybki dostęp do wszystkich danych powiązanych z klientem. Skąd to się wzięło ? Jak wiele rzeczy mogło to zostać zaobserwowane i przeniesione na bity w naturze. Przemierzając ostatnio Tanzanię zaobserwowałem następujące 360 view:&lt;/p&gt;  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="widok 360 stopni" alt="widok 360 stopni" src="http://lh6.ggpht.com/_9iHD_p3FzDg/TPIWY4N4-5I/AAAAAAAAAZQ/o0Pi0sb0hHc/image%5B7%5D.png?imgmax=800" width="890" height="259" /&gt;&lt;/p&gt;  &lt;p&gt;Jednakże tutaj celem takiego widoku jest przetrwanie, zwierzaki chcą monitorować konkurencję a nie dane klienta, aby nie zostać przez nich wyeliminowanym z rynku :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-358847838203697754?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/358847838203697754/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/11/crmkoncepcja-360-stopni.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/358847838203697754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/358847838203697754'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/11/crmkoncepcja-360-stopni.html' title='CRM–koncepcja 360 stopni'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_9iHD_p3FzDg/TPIWY4N4-5I/AAAAAAAAAZQ/o0Pi0sb0hHc/s72-c/image%5B7%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-6201988103651160010</id><published>2010-10-16T22:18:00.001+02:00</published><updated>2010-10-16T22:32:55.934+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='OData'/><category scheme='http://www.blogger.com/atom/ns#' term='OrganizationData.svc'/><title type='text'>CRM 2011–pierwsze spojrzenie na możliwości Silverlight</title><content type='html'>&lt;p&gt;W poście poświęconych usługom nowego CRM wspomniałem o dwóch usługach dostępnych pod adresami:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;IOrganizationService - http://&lt;i&gt;&amp;lt;servername&amp;gt;&lt;/i&gt;/&lt;i&gt;&amp;lt;organizationname&amp;gt;&lt;/i&gt;/XRMServices/2011/Organization.svc &lt;/li&gt;    &lt;li&gt;IDiscoveryService&amp;#160; - http://&lt;i&gt;&amp;lt;servername&amp;gt;&lt;/i&gt;/&lt;i&gt;&amp;lt;organizationname&amp;gt;&lt;/i&gt;/XRMServices/2011/Discover.svc &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Jest tam jeszcze jedna, o której nie pisałem, a mianowicie http://&lt;i&gt;&amp;lt;servername&amp;gt;&lt;/i&gt;/&lt;i&gt;&amp;lt;organizationname&amp;gt;&lt;/i&gt;/XRMServices/2011/&lt;em&gt;OrganizationData.svc &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Właśnie z tej usługi korzystać należy, jeśli chcemy stworzyć coś fajnego, łącząc CRM z Silverlight czy też Ajax. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Co to jest za usługa ?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Jest to usługa oparta o protokół OData, zbudowana z wykorzystaniem WCF Data Service. Zasada działania tej usługi jest taka, że tworząc żądanie HTTP dostajemy w odpowiedzi dane w postaci feed’u. Po stronie klienta rezultat będzie przekonwertowany na obiekty :) Usługa, którą udostępnia CRM jest zbudowana w oparciu o architekturę REST (Representational State Transfer), które umożliwia dostęp do zasobów poprzez przypisane im unikalne URI. Architektura ta umożliwia wykonywanie operacji synchronicznych oraz asynchronicznych, a dzięki tej drugiej cesze może być w pełni wykorzystana przez Ajax bądź też Silverlight – osobiście bardziej mnie interesuje Silverlight ;)&lt;/p&gt;  &lt;p&gt;Usługa jest alternatywą dla usług WCF, jednakże trzeba mieć na uwadze kilka ograniczeń, które ona posiada:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Przy jej pomocy można tylko wykonywać operacje CRUD (Create, Retrieve, Update, Delete) – brak wsparcia dla wiadomości, które wymagają wykorzystania wyłączenie metody Execute w przypadku korzystania ze standardowych usług WCF&lt;/li&gt;    &lt;li&gt;Uwierzytelnienie jest możliwe tylko w kontekście aplikacji, chociaż możliwe jest podanie nazwy użytkownika oraz hasła. Jednakże jeśli będziemy komponent Silverlight umieszczać na formatce CRM, to informacje o użytkowniku będą brane z elementu, w którym nasz komponent jest osadzony.&lt;/li&gt;    &lt;li&gt;Nie jest zaimplementowany pełny protokół OData – niektóre zapytania nie są możliwe do zrealizowania – więcej informacji w SDK&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;Jak sprawdzić jak to działa ? &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;np. wejdz na strone:&amp;#160; http://&lt;i&gt;&amp;lt;servername&amp;gt;&lt;/i&gt;/&lt;i&gt;&amp;lt;organizationname&amp;gt;&lt;/i&gt;/XRMServices/2011/&lt;em&gt;OrganizationData.svc/AccountSet &lt;/em&gt;a w rezultacie otrzymasz listę 50 kont, które masz zdefiniowane w systemie w postaci np. takiej:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_9iHD_p3FzDg/TLoIm1Wv7RI/AAAAAAAAAYc/eqRUvFH_DEo/image%5B20%5D.png?imgmax=800" width="835" height="287" /&gt;&lt;/p&gt;  &lt;p&gt;A jeśli interesuje Cię konkretne konto możesz się do niego dobrać przy pomocy adresu: &lt;/p&gt;  &lt;p&gt; http://&lt;i&gt;&amp;lt;servername&amp;gt;&lt;/i&gt;/&lt;i&gt;&amp;lt;organizationname&amp;gt;&lt;/i&gt;/&lt;em&gt;XRMServices/2011/OrganizationData.svc/AccountSet(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;W ten sposób “dobierać” się możemy do obiektów standardowych w CRM jak również do obiektów niestandardowych. Ważne jest aby w URI podawać informacje o obiekcie dokładnie, tzn. nawet wielkość liter ma znaczenie. &lt;/p&gt;  &lt;p&gt;Sama usługa opisywana jest przez metadane, które dostępne są pod adresem tym samym co końcówka, ale ze specjalnym dodatkiem: &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_9iHD_p3FzDg/TLoInz16DyI/AAAAAAAAAYk/crla_2rHRo4/image%5B21%5D.png?imgmax=800" width="776" height="285" /&gt;&lt;/p&gt;  &lt;p&gt;Jak wykorzystać te metadane ? O tym w kolejnym odcinku :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-6201988103651160010?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/6201988103651160010/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/10/crm-2011pierwsze-spojrzenie-na.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/6201988103651160010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/6201988103651160010'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/10/crm-2011pierwsze-spojrzenie-na.html' title='CRM 2011–pierwsze spojrzenie na możliwości Silverlight'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_9iHD_p3FzDg/TLoIm1Wv7RI/AAAAAAAAAYc/eqRUvFH_DEo/s72-c/image%5B20%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-1379133149776153172</id><published>2010-10-02T21:40:00.001+02:00</published><updated>2010-10-21T14:18:49.681+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Identity Foundation'/><category scheme='http://www.blogger.com/atom/ns#' term='xrm 2011'/><title type='text'>CRM 2011 – stwórzmy sobie konto …</title><content type='html'>&lt;p&gt;Pierwsze spojrzenie na usługi już za nami – trzeba zacząć z nich korzystać. Na pierwszy ogień idzie nowość w CRM2011 czyli Organization.svc, która to dostępna jest pod adresem:&lt;/p&gt;  &lt;p&gt;Aby móc z niej skorzystać zapewne sobie pomyślisz “ok – to jest WCF więc po prostu dodam sobie referencję do usługi w VS i będzie ok” – tak – będzie ok, ale nie do końca. Wygeneruje się poprawna namiastka w VS, ale będzie ona bardzo dziwnie wyglądać. Obiekty nie będą dziedziczyć po odpowiednich klasach, trzeba będzie korzystać z pliku konfiguracyjnego, aby poprawnie definiować ABC WCF wymaganego przez usługi – można tak pracować, ale nie trzeba …. na szczęście – jest o wiele więcej ciekawszych rzeczy niż walka z plikiem konfiguracyjnym.&lt;/p&gt;  &lt;p&gt;Spróbujmy następującego podejścia:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Pobierzmy SDK dla CRM 2011 Beta ze strony: &lt;a title="Microsoft Dynamics CRM 2011 Software Development Kit (SDK)" href="http://go.microsoft.com/fwlink/?LinkID=200082" target="_blank"&gt;Microsoft Dynamics CRM 2011 Software Development Kit (SDK)&lt;/a&gt;&amp;#160; (* tutaj uwaga – ostatnio pobierałem SDK, które NIE DZIAŁAŁO poprawnie – szczególnie narzędzia opisane niżej) &lt;/li&gt;    &lt;li&gt;Rozpakujmy SDK do dowolnej lokalizacji &lt;/li&gt;    &lt;li&gt;Sprawdźmy zawartość katalogu sdk\bin i zwróćmy uwagę na dwa elementy:      &lt;ol&gt;       &lt;li&gt;microsoft.xml.sdk.dll – jeśli w VS przed dodaniem referencji do usługi dodamy referencję do tej DLL to klasy namiastki będą dziedziczyć po Entity – nowa klasa bazowa dla klas takich jak Account (w CRM 4 było to DynamicEntity czy też BusinessEntity) &lt;/li&gt;        &lt;li&gt;CrmSvcUtil.exe – nazwa tego narzędzia wskazuje, że mamy do czynienia z czymś co ma coś wspólnego z SvcUtil znanym z WCF. Tak, to prawda – jest to narzędzie specjalne zrobiona dla CRM, które wygeneruje nam ładną namiastkę z metadanych CRM. Dzięki temu co jest wynikiem działania tego narzędzia (plik *.cs) możemy dołączyć do elementów projektu namiastkę CRM (Add Existing Item w VS). &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Mając namiastkę usługi CRM oraz referencję do biblioteki microsoft.xml.sdk.dll możemy napisać nasz pierwszy kod:&lt;a href="http://lh3.ggpht.com/_9iHD_p3FzDg/TKeKgzcoPkI/AAAAAAAAAX4/_hkJrnpU_eM/s1600-h/Nowy%20obraz%20%288%29%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Nowy obraz (8)" border="0" alt="Nowy obraz (8)" src="http://lh3.ggpht.com/_9iHD_p3FzDg/TKeKjgYxbZI/AAAAAAAAAX8/Y_X5GyMyD6Q/Nowy%20obraz%20%288%29_thumb%5B3%5D.png?imgmax=800" width="549" height="167" /&gt;&lt;/a&gt; Co robi ten kod ? Tworzy nam instancję usługi, która chce połączyć się do organizacji przekazywanej w URL – element &amp;lt;organization&amp;gt;. Nie musimy tutaj tworzyć wcześniej znany token, w którym wskazywaliśmy, gdzie chcemy nawiązać połączenie. Autentykacja użytkownika następuje na podstawie jego aktualnego konta – stąd ustawienie ClientCredential na DefaultNetworkCredentials – można tutaj wskazać przy pomocy loginu oraz hasła inne konto, którym chcemy się zalogować. &lt;/p&gt;  &lt;p&gt;Co jest jeszcze ważne – ten kod nie pozwoli nam korzystać z klas takich jak Account – wszystko z powodu tzw. wczesnego wiązania co jest związane z procesem serializacji oraz deserializacji wiadomości przesyłanych do/z usługi CRM. Aby móc w pełni korzystać z dobrodziejstw CRM musimy wpisać następujący kod:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;_client.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior());&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Dzięki temu możemy dalej korzystać z kodu, który będzie działać:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Account _test = new Account { Name = &amp;quot;test&amp;quot; };      &lt;br /&gt;_client.Create(_test);&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Klasa: OrganizationServiceProxy jest dostępna w DLL: microsoft.xml.sdk.dll – jest o wiele fajniejsza niż klasa, która byśmy dostali ze zwykłej namiastki w VS :)&lt;/p&gt;  &lt;p&gt;Jest jeszcze jedna ważna sprawa. Usługi pozwalają na to, że będziemy mogli korzystać z CRM nie tylko z serwera, gdzie jest on zainstalowany. Jednakże jest tutaj mały problem. Aby korzystać z usług CRM (tych nowych) należy mieć na maszynie klienckiej zainstalowany Windows Identity Foundation, który dostępny jest dla Windows Vista, 7, Server 2008. Inne maszyny nie są wspierane. &lt;/p&gt;  &lt;p&gt;Windows Identity Foundation jest dostępny pod adresem: &lt;a title="http://msdn.microsoft.com/en-us/evalcenter/dd440951.aspx" href="http://msdn.microsoft.com/en-us/evalcenter/dd440951.aspx"&gt;http://msdn.microsoft.com/en-us/evalcenter/dd440951.aspx&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-1379133149776153172?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/1379133149776153172/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/10/crm-2011-stworzmy-sobie-konto.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/1379133149776153172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/1379133149776153172'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/10/crm-2011-stworzmy-sobie-konto.html' title='CRM 2011 – stwórzmy sobie konto …'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_9iHD_p3FzDg/TKeKjgYxbZI/AAAAAAAAAX8/Y_X5GyMyD6Q/s72-c/Nowy%20obraz%20%288%29_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-299324142002134259</id><published>2010-10-02T21:12:00.001+02:00</published><updated>2010-10-02T21:12:23.769+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='xrm 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='rsAccessDenied'/><title type='text'>CRM 2011 – wstęp do raportowania</title><content type='html'>&lt;p&gt;Pierwsza próba uruchomienia własnego raportu może doprowadzić do powstania następującego błędu:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_9iHD_p3FzDg/TKeD8ruq48I/AAAAAAAAAXw/h9LzX6NcwH0/image%5B8%5D.png?imgmax=800" width="554" height="237" /&gt; &lt;/p&gt;  &lt;p&gt;Powodem tego błędu jest brak zainstalowania komponentu srsdataconnector, którego instalator dostępny jest w tym samym miejscu skąd instalowaliśmy CRM 2011;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Nowy obraz (7)" border="0" alt="Nowy obraz (7)" src="http://lh3.ggpht.com/_9iHD_p3FzDg/TKeEAhLFzqI/AAAAAAAAAX0/xW_cSz2z3zk/Nowy%20obraz%20%287%29%5B5%5D.png?imgmax=800" width="713" height="355" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;W moim przypadku sama instalacji nie wystarczyła :( – musiałem z poziomu Panelu Sterowania dokonać naprawy instalacji. Dopiero wtedy raporty zaczęły się poprawnie uruchamiać. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-299324142002134259?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/299324142002134259/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/10/crm-2011-wstep-do-raportowania.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/299324142002134259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/299324142002134259'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/10/crm-2011-wstep-do-raportowania.html' title='CRM 2011 – wstęp do raportowania'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_9iHD_p3FzDg/TKeD8ruq48I/AAAAAAAAAXw/h9LzX6NcwH0/s72-c/image%5B8%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-326988234319438278</id><published>2010-09-29T10:03:00.001+02:00</published><updated>2010-09-29T10:51:11.460+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='xRM'/><title type='text'>CRM 2011 – język bazowy</title><content type='html'>&lt;p&gt;Kolejna fajna rzecz związana z nowym produktem z rodziny Dynamics. Ta nowa rzecz związana jest z językiem bazowym organizacji.&lt;/p&gt;  &lt;p&gt;W CRM 4 w czasie instalacji serwera wybierany był język bazowy. Ustawienie to wpływało na pierwszą organizację, która tworzona jest w czasie instalacji serwera jak również wyznaczało język bazowy dla wszystkich kolejnych organizacji, które byśmy u siebie stworzyli.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="Nowa organizacja" border="0" alt="Nowa organizacja" align="left" src="http://lh4.ggpht.com/_9iHD_p3FzDg/TKL9-63ilVI/AAAAAAAAAXo/gnHJXNiqHpM/Nowy%20obraz%20%284%29%5B3%5D.png?imgmax=800" width="403" height="221" /&gt;&lt;/p&gt;  &lt;p&gt;Co się zmieniło w nowej wersji ? Pojawiła się opcja wyboru języka bazowego dla nowej organizacji (jak widać to na rysunku obok). Dzięki temu możemy mieć wiele organizacji na jednym serwerze z różnymi wersjami języka bazowego.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_9iHD_p3FzDg/TKL9_gVs-GI/AAAAAAAAAXs/6DdE-hU-v4I/s1600-h/Nowy%20obraz%20%284%29%5B2%5D.png"&gt;&amp;#160;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-326988234319438278?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/326988234319438278/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/09/crm-2011-jezyk-bazowy_29.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/326988234319438278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/326988234319438278'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/09/crm-2011-jezyk-bazowy_29.html' title='CRM 2011 – język bazowy'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_9iHD_p3FzDg/TKL9-63ilVI/AAAAAAAAAXo/gnHJXNiqHpM/s72-c/Nowy%20obraz%20%284%29%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-6441950097395573298</id><published>2010-09-22T11:11:00.001+02:00</published><updated>2010-09-27T08:19:54.194+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='xrm 2011'/><title type='text'>CRM 2011 – wygoda pracy z systemem</title><content type='html'>&lt;p&gt;Od dawna dało się słyszeć głosy, że CRM 2011 został opracowany razem z użytkownikami tego systemu, tzn. zostały wprowadzone faktycznie wymagane od tego systemu funkcjonalności. I to zarówno z punktu widzenia użytkownika biznesowe jak również z punktu widzenia osoby wdrażającej ten system.&lt;/p&gt;  &lt;p&gt;Niektóre funkcjonalności związane były z wygodą pracy z tym system. Przykładowa nowość wprowadzona w CRM2011 polega na tym, iż będąc na liście obiektów, np. Accounts możemy z tego poziomu, np. dostosować widok, który aktualnie widzimy, obiekt, który prezentujemy, formatkę obiektu, itd – sami zobaczcie jak to wygląda:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Nowy obraz (3)" border="0" alt="Nowy obraz (3)" src="http://lh4.ggpht.com/_9iHD_p3FzDg/TJnIKkwQbuI/AAAAAAAAAXA/8i9042ZKZbs/Nowy%20obraz%20%283%29%5B5%5D.jpg?imgmax=800" width="615" height="336" /&gt; Wyświetlam sobie obiekty typu Account (pozwoliłem sobie dokonać spolszczenia na potrzeby wdrożenia póki polskiej wersji jeszcze nie ma dostępne :) ) a wstążka w zakładce Customize prezentuje mi możliwości modyfikacji obiektu.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-6441950097395573298?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/6441950097395573298/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/09/crm-2011-wygoda-pracy-z-systemem.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/6441950097395573298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/6441950097395573298'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/09/crm-2011-wygoda-pracy-z-systemem.html' title='CRM 2011 – wygoda pracy z systemem'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_9iHD_p3FzDg/TJnIKkwQbuI/AAAAAAAAAXA/8i9042ZKZbs/s72-c/Nowy%20obraz%20%283%29%5B5%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-5644400754741789291</id><published>2010-09-16T14:50:00.001+02:00</published><updated>2010-09-27T08:19:35.984+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='xrm 2011'/><title type='text'>CRM 2011 – pierwsze spojrzenie pod maskę, czyli usługi</title><content type='html'>&lt;p&gt;CRM 4.0 przyzwyczaił nas do tego, że posiadamy 3 usługi sieciowe:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;CrmService &lt;/li&gt;    &lt;li&gt;MetadataService &lt;/li&gt;    &lt;li&gt;DiscoveryService &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;W CRM 2011 oprócz znanych dobrze usług posiadamy usługi nowe, oparte na technologii WCF:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;IDiscoveryService – usługa te pełni tę samą rolę co DiscoveryService w CRM 4.0. Kiedy mamy instalacje CRM przygotowaną pod wiele organizacji usługa nam ta pomoże nam w znalezieniu informacji z nimi związanych, np. można pobrać listę organizacji do której użytkownik ma dostęp &lt;/li&gt;    &lt;li&gt;IOrganizationService&amp;#160; - usługa ta jest niejako scaleniem CrmService oraz MetadataService. Przy pomocy jednej usługi możemy wykonywać operacje biznesowe w CRM, np. zakładanie kont jak również pobierać metadane, czyli informacji opisujące zdefiniowane w CRM. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Dostęp do tych nowych usług jest możliwy z wykorzystaniem następujących adresów:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;IOrganizationService - http://&lt;i&gt;&amp;lt;servername&amp;gt;&lt;/i&gt;/&lt;i&gt;&amp;lt;organizationname&amp;gt;&lt;/i&gt;/XRMServices/2011/Organization.svc &lt;/li&gt;    &lt;li&gt;IDiscoveryService&amp;#160; - http://&lt;i&gt;&amp;lt;servername&amp;gt;&lt;/i&gt;/&lt;i&gt;&amp;lt;organizationname&amp;gt;&lt;/i&gt;/XRMServices/2011/Discover.svc &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Warto zwrócić uwagę, że w nazwach katalogów wykorzystywane są nazwy XRM :) co wskazuje, że mamy już do czynienia z systemem, który wyrasta ponad zarządzanie relacjami z klientem, a przy pomocy którego można zbudować narzędzie wspierające zarządzanie dowolnymi relacjami – o koncepcji XRM opowiada filmik z prawej strony&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-5644400754741789291?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/5644400754741789291/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/09/crm-2011-pierwsze-spojrzenie-pod-maske.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/5644400754741789291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/5644400754741789291'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/09/crm-2011-pierwsze-spojrzenie-pod-maske.html' title='CRM 2011 – pierwsze spojrzenie pod maskę, czyli usługi'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-3876978183631009676</id><published>2010-09-14T16:52:00.001+02:00</published><updated>2010-09-27T08:19:21.145+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='xrm 2011'/><title type='text'>CRM 2011</title><content type='html'>&lt;p&gt;Już jest :) – wersja beta produktu, który naszym zdaniem spowoduje rewolucję :) Dla tych, którzy dopiero teraz słyszą o nowej wersji produktu mała informacja – produkt ten można pobrać po zarejestrowaniu się na stronie: &lt;a title="http://offers.crmchoice.com/CRM2011Beta-Landing" href="http://offers.crmchoice.com/CRM2011Beta-Landing"&gt;http://offers.crmchoice.com/CRM2011Beta-Landing&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Pierwsze wrażenia z nowego CRM ? Przede wszystkim wygląd – podobnie jak poprzednia wersja – kolorystycznie oraz interfejsowo odpowiada pakietowi Office a dokładnie programowi Outlook. CRM 4 nawiązywał do Outlook 2007, nowa wersja do Outlook 2010. Wszędzie obecna jest wstążka, która stała się elementem, który opanowuje kolejne produkty MS.&lt;/p&gt;  &lt;p&gt;Główne okno aplikacji wygląda następująco:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Nowy obraz (2)" border="0" alt="Nowy obraz (2)" src="http://lh6.ggpht.com/_9iHD_p3FzDg/TI-MNR9xP7I/AAAAAAAAAW0/DK3YEbooLIk/Nowy%20obraz%20%282%29%5B2%5D.png?imgmax=800" width="795" height="473" /&gt; &lt;/p&gt;  &lt;p&gt;Jako, iż zajmuję się CRM również z technicznego punktu widzenia postaram się opisać jakie zmiany zostały wprowadzone w jego wnętrzu, np. własność możliwa do ustawienia dla zespołu, integracja z Sharepoint, procesy, usługi CRM 2011, itd. Co warte wspomnienia na samym wstępie to fakt, iż produkt ten został całkowicie napisany w oparciu o .NET 4. Zatem przepływy, pluginy będziemy już tworzyć z wykorzystaniem najnowszych technik :) – jak dla mnie bomba :)&lt;/p&gt;  &lt;p&gt;Wymagania odnośnie sprzętu oraz aplikacji wymaganych przez CRM 2011 opisał Kuba w tym poście: &lt;a title="http://crmblog.pl/2010/09/10/dynamics-crm-2011-wymagania-sprzetowe-i-programowe/" href="http://crmblog.pl/2010/09/10/dynamics-crm-2011-wymagania-sprzetowe-i-programowe/"&gt;http://crmblog.pl/2010/09/10/dynamics-crm-2011-wymagania-sprzetowe-i-programowe/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-3876978183631009676?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/3876978183631009676/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/09/crm-2011.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3876978183631009676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3876978183631009676'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/09/crm-2011.html' title='CRM 2011'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_9iHD_p3FzDg/TI-MNR9xP7I/AAAAAAAAAW0/DK3YEbooLIk/s72-c/Nowy%20obraz%20%282%29%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-4400409065776605908</id><published>2010-08-23T15:42:00.001+02:00</published><updated>2010-08-23T15:43:25.761+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Shortcuts'/><title type='text'>Skróty klawiaturowe w VS 2010</title><content type='html'>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Nowy obraz" border="0" alt="Nowy obraz" src="http://lh5.ggpht.com/_9iHD_p3FzDg/THJ6wnKs1wI/AAAAAAAAAWk/_nW0l8-pZkE/Nowy%20obraz%5B5%5D.png?imgmax=800" width="726" height="312" /&gt; &lt;/p&gt;  &lt;p&gt;Nie wiem jak Wy, ale dla mnie znajomość skrótów klawiaturowych w VS pozwala zaoszczędzić czas i spędzić go na produktywnym kodowaniu niż na “przeklikiwaniu się” poprzez kolejne elementy interfejsu VS.&lt;/p&gt;  &lt;p&gt;Dla tych, którzy myślą podobnie :) Microsoft udostępnił listy skrótów klawiaturowych dla różnych języków, które dostępne są na stronie: &lt;a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=92CED922-D505-457A-8C9C-84036160639F&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=92CED922-D505-457A-8C9C-84036160639F&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=92CED922-D505-457A-8C9C-84036160639F&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-4400409065776605908?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/4400409065776605908/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/08/skroty-klawiaturowe-w-vs-2010.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/4400409065776605908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/4400409065776605908'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/08/skroty-klawiaturowe-w-vs-2010.html' title='Skróty klawiaturowe w VS 2010'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_9iHD_p3FzDg/THJ6wnKs1wI/AAAAAAAAAWk/_nW0l8-pZkE/s72-c/Nowy%20obraz%5B5%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-4148845295936832610</id><published>2010-08-06T23:00:00.001+02:00</published><updated>2010-08-06T23:01:03.019+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='xRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Netwise'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4.0'/><title type='text'>Wdrożenia CRM razem z metodykami zwinnymi</title><content type='html'>&lt;p&gt;Metodyki zwinne (Agile) takie jak SRUM, Crystal Clear jest&amp;#160; czymś co dopiero zaczyna święcić swoje sukcesy. Niemniej jednak, każdy projekt, który do tej porty realizowaliśmy dla klientów z różnych dziedzin, biznesów, prowadzony był z wykorzystaniem właśnie tych metodyk.&lt;/p&gt;  &lt;p&gt;Dlaczego ? Odpowiedź jest prosta – każdy z nas jak za coś płaci chce móc jak najszybciej korzystać z produktu. Nie inaczej jest z klientami. Zwinne metodyki nie skupiają się na zdobyciu pełnej wiedzy na temat klienta (bo to nigdy nie jest możliwe), stworzeniu tony dokumentacji i dopiero (po kilku tygodniach programowania w edytorze tekstowym) rozpoczęciu prac mających na celu zrealizowanie tego za co klient zapłacił.&lt;/p&gt;  &lt;p&gt;Zwinne metodyki stawiają sobie za cel bliską współpracę z klientem, starając się dostarczyć rozwiązanie kawałek po kawałku. Przy czym kawałki są uzależnione od klienta. Przykładowo w metodyce SCRUM po stronie klienta jest osoba (tzw. właściciel produktu), które zadaniem jest m.in. ustalenie ZI czyli zwrotu z inwestycji, tj. jeśli klient zapłacił za projekt to co jest dla niego najważniejsze, co należy klientowi przestawić w pierwszej kolejności, aby klient mógł tak naprawdę zacząć pracować z systemem, który jest dla niego tworzony, myśląc o ewentualnych zmianach w tym co otrzymał (o tak – zmiany możliwe są zawsze i wszędzie a nie wtedy kiedy system zostanie wdrożony na podstawie tony dokumentacji) oraz o kolejnych priorytetowych funkcjonalnościach, które chciałby mieć. &lt;/p&gt;  &lt;p&gt;Dlaczego o tym piszę ? Dlatego, że coraz więcej firm (szczególnie klientów) zauważa zyski z zastosowania takiej metodyki – jest to super sytuacja kiedy starasz się przekonać klienta, który przyzwyczajony jest do długiego czekania i stosu dokumentów zanim zobaczy to czego oczekiwał od systemu. Teraz będzie dla nas to coraz łatwiejsze i miejmy nadzieję, że rysunki takie jak te przestaną obowiązywać :)&lt;/p&gt;  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="" src="http://www.uml.com.pl/images/etapy.JPG" /&gt;&lt;/p&gt;  &lt;p&gt;Wdrożenie CRM to nie wdrożenie narzędzia, bo CRM to nie jest narzędzie. Klient, do którego jedziemy nie został zapisany w KRS dzień przed naszym spotkaniem. Jego organizacja istnieje już jakiś czas, wie jak zarządzać klientami, ma strategię tego jak chce nimi zarządzać. CRM to narzędzie, którego zadaniem jest wspieranie istniejącego biznesu, wspieranie strategii pracy z klientem. Dlatego ważne jest bycie blisko klienta i szybkiego reagowania na jego potrzeby, aby nie doprowadzić do powstania karuzeli z rysunku :)&lt;/p&gt;  &lt;p&gt;Oj będzie się działo na rynku CRM :) – co ja mówię – już się dzieje – tylko, że nie wszyscy to widzą – bo mają stos dokumentacji do napisania/przeczytania/zweryfikowania/zaimplementowania (jak zwał tak zwał :) ).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-4148845295936832610?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/4148845295936832610/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/08/wdrozenia-crm-razem-z-metodykami.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/4148845295936832610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/4148845295936832610'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/08/wdrozenia-crm-razem-z-metodykami.html' title='Wdrożenia CRM razem z metodykami zwinnymi'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-3591223559115934770</id><published>2010-08-05T14:13:00.001+02:00</published><updated>2010-08-05T14:15:24.156+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4.0'/><title type='text'>CRM 4.0 Outlook Client – proces synchronizacji</title><content type='html'>&lt;p&gt;Czy zastanawialiście się co tak naprawdę dzieje się pod maską narzędzia, który integruje Outlook z CRM 4.0 ? &lt;/p&gt;  &lt;p&gt;Na stronach Microsoft jest udostępniony dokument, który opisuje co jest synchronizowane pomiędzy CRM a Outlook – nie w postaci takiej, że “Terminy, Zadania, itp. są synchronizowane”, ale znajdziemy tam opis wszystkich atrybutów, które są brane pod uwagę w czasie synchronizacji. Nie wiem jak wam, ale dla mnie jest to bardzo cenna wiedza, której do tej pory w pełni nie posiadałem :)&lt;/p&gt;  &lt;p&gt;Tutaj jest link do tego dokumentu: &lt;a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2d497348-0a10-40ce-8edb-b0ee85f1215e" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2d497348-0a10-40ce-8edb-b0ee85f1215e" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2d497348-0a10-40ce-8edb-b0ee85f1215e&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-3591223559115934770?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/3591223559115934770/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/08/crm-40-outlook-client-proces.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3591223559115934770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3591223559115934770'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/08/crm-40-outlook-client-proces.html' title='CRM 4.0 Outlook Client – proces synchronizacji'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-8532491383982505204</id><published>2010-07-27T17:04:00.001+02:00</published><updated>2010-07-27T17:04:59.638+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='Termin'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Appointment'/><title type='text'>CRM 4.0 - Znikające terminy w Outlook</title><content type='html'>&lt;p&gt;W większości firm Outlook jest strategicznym narzędziem pracy handlowców. To tam rejestrowane jest to co handlowiec robi, z kim się spotyka, itd.&lt;/p&gt;  &lt;p&gt;Po wdrożeniu CRM w organizacji zazwyczaj instalowany jest na większości komputerów dodatek do programu Outlook, który pozwala na pracę w CRM w oknie outlook, śledzenie elementów outlookowych bezpośrednio w CRM. Wśród takich elementów jest oczywiście zaproszenie na spotkanie. Jednakże z tym elementem jest bardzo dużo problemów, gdyż w CRM 4.0 nie ma czegoś takiego jak zaproszenie na spotkanie. Prześledźmy następujący scenariusz:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Użytkownik CRM (nazwijmy go Organizator 1) tworzy zaproszenie na spotkanie i wysyła go do użytkownika (nazwijmy go Handlowiec 1). Zaproszenie to nie jest śledzone w CRM.&lt;/li&gt;    &lt;li&gt;Handlowiec 1 dostaje zaproszenie, wybiera opcję “Śledź w programie CRM”. Powoduje to powstanie w CRM rekordu Termin, gdzie Właścicielem jest Handlowiec 1, natomiast Organizatorem jest Organizator 1. &lt;/li&gt;    &lt;ol&gt;     &lt;li&gt;Jeśli w CRM Handlowiec 1 miał ustawiony adres email to po otwarciu terminu w CRM w polu wymagani uczestnicy zostanie zaprezentowane wskazanie na użytkownika. W tym przypadku po przeprowadzeniu synchronizacji w programie Outlook (CRM –&amp;gt; Synchronizuj z CRM) termin nie zniknie z kalendarza użytkownika w Outlook&lt;/li&gt;      &lt;li&gt;Jeśli w CRM Handlowiec 1 nie miał ustawionego adresu email to po otwarciu terminu w CRM w polu wymaganie uczestniczy widoczny będzie czerwony adres email z informację, że system CRM nie był w stanie rozpoznać uczestnika. W tym przypadku po przeprowadzeniu synchronizacji termin w kalendarzu w Outlook &lt;strong&gt;zostanie usunięty. &lt;/strong&gt;Jedyna możliwość przywrócenia tego terminu do kalendarza Outlook jest wykonanie operacji:&lt;/li&gt;      &lt;ol&gt;       &lt;li&gt;Otwarcie rekordu użytkownika i uzupełnienie mu adresu email&lt;/li&gt;        &lt;li&gt;Otwarcie terminu w CRM i wskazanie jaki użytkownik krył się pod tym adresem email&lt;/li&gt;        &lt;li&gt;Przeprowadzenie ponownej synchronizacji w Outlook.&lt;/li&gt;     &lt;/ol&gt;   &lt;/ol&gt; &lt;/ol&gt;  &lt;p&gt;Zachęcam do przeprowadzenia testów kiedy zaproszenie jest wysyłane do większej liczby użytkowników niż jeden :). Kilka scenariuszy przeprowadził Kuba i opisał to na swoim blogu: &lt;a href="http://crmblog.pl/2009/09/17/co-dzieje-sie-z-rekordami-po-synchronizacji-crm-outlook/"&gt;http://crmblog.pl/2009/09/17/co-dzieje-sie-z-rekordami-po-synchronizacji-crm-outlook/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-8532491383982505204?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/8532491383982505204/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/07/crm-40-znikajace-terminy-w-outlook.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/8532491383982505204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/8532491383982505204'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/07/crm-40-znikajace-terminy-w-outlook.html' title='CRM 4.0 - Znikające terminy w Outlook'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-1516572813780221583</id><published>2010-07-26T18:01:00.001+02:00</published><updated>2010-07-26T18:20:54.869+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SetParent'/><category scheme='http://www.blogger.com/atom/ns#' term='Plugin Registration Tool'/><category scheme='http://www.blogger.com/atom/ns#' term='SetParentSystemUser'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4.0'/><title type='text'>SetParent – czyli jak napisać plugin do tej wiadomości</title><content type='html'>&lt;p&gt;Przy okazji rozbudowania funkcjonalności CRM4.0 potrzebowałem napisać plugin, którego zadaniem będzie wykonanie pewnej operacji w trakcie kiedy zmieni się Menedżer użytkownika. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Dla przypomnienia:&lt;/strong&gt; Pole Menedżer jest widoczne na formatce użytkownika jednakże ustawienie jego wartości jest możliwe tylko i wyłączenie poprzez skorzystanie z funkcjonalności ukrytej w menu Akcje lub też wykonanie kodu związane z klasą SetParentSystemUserRequest: &lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_9iHD_p3FzDg/TE2xVBCJhTI/AAAAAAAAAVs/Yae7qW-lCrY/image%5B4%5D.png?imgmax=800" width="376" height="250" /&gt; &lt;/p&gt;  &lt;p&gt;Okazuje się, że narzędzie Plugin Registration Tool (PRT) nie udostępnia nam możliwości podłączenia się pod zdarzenie związane ze zmianą interesującego nas pola. Interesujące nas wiadomości nazywa się &lt;strong&gt;&lt;em&gt;&lt;u&gt;SetParent&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;Nie ma jednak tego ukrytego co by odkryte może zostać i okazuje się, że w bazie danych CRM taką wiadomość można odkryć. Jak ? &lt;/p&gt;  &lt;p&gt;Wszystkie wiadomości jakie CRM może przetwarzać są zapisane w tabeli SdkMessageBase. Jak wykonamy sobie następujące zapytanie SQL:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;select * from SdkMessageBase where Name = 'SetParent'&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Zobaczymy, że tabela zwróci nam jeden rekord. To co jest dla nas z tego wyniku najważniejsze to SdkMessageId. W kolejnym kroku musimy zaktualizować jedną kolumnę w tabeli SdkMessageFilterBase, aby wiadomość nam się pokazała. Całe zapytanie, które to wykonuje jest następujące:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;update SdkMessageFilterBase set IsCustomProcessingStepAllowed =1 where SdkMessageId = '1ABEBB1B-EA3E-DB11-86A7-000A3A5473E8'&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Jak już to będziemy mieli wykonane nie pozostaje nam nic innego jak przeładować PRT i ponownie spróbować stworzyć Step, które będzie powiązany z tą wiadomością:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_9iHD_p3FzDg/TE2xV6-anII/AAAAAAAAAVw/HyO4hYGLgwI/image%5B9%5D.png?imgmax=800" width="514" height="191" /&gt; &lt;/p&gt;  &lt;p&gt;Jak wygląda kod obsługi tej wiadomości&amp;#160; ? Oto przykład:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="brush:csharp"&gt;&lt;br /&gt;public class PreSetParent : IPlugin&lt;br /&gt;{&lt;br /&gt;	public void Execute(IPluginExecutionContext context)&lt;br /&gt;	{&lt;br /&gt;		if (context.MessageName == &amp;quot;SetParent&amp;quot; &amp;amp;&amp;amp; context.InputParameters.Properties.Contains(Attributes.UserId) &amp;amp;&amp;amp; context.InputParameters.Properties.Contains(Attributes.ParentId))&lt;br /&gt;		{&lt;br /&gt;  			Guid _userId = (Guid)context.InputParameters[Attributes.UserId];&lt;br /&gt;			Guid _parentId = (Guid)context.InputParameters[Attributes.ParentId];&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;p&gt;InputParameters w IPluginExecutionContext zawiera w tym przypadku 4 właściwości. UserId oraz ParentId są odpowiednią identyfikatorem użytkownika oraz identyfikatorem Menedżera. Inne atrybuty można sobie podejrzeć debugując kod pluginu. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Rozwiązanie, które zaproponowałem jest w 100% niewspierane i korzystacie z niego na własną odpowiedzialność.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-1516572813780221583?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/1516572813780221583/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/07/setparent-czyli-jak-napisac-plugin-do.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/1516572813780221583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/1516572813780221583'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/07/setparent-czyli-jak-napisac-plugin-do.html' title='SetParent – czyli jak napisać plugin do tej wiadomości'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_9iHD_p3FzDg/TE2xVBCJhTI/AAAAAAAAAVs/Yae7qW-lCrY/s72-c/image%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-3527336187978794874</id><published>2010-06-24T15:27:00.001+02:00</published><updated>2010-06-24T15:27:11.547+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4.0'/><title type='text'>Jacy użytkownicy mają przypisaną rolę “Test” ? - Kawałek kodu dla CRM</title><content type='html'>&lt;p&gt;Dzisiaj postanowiłem zamieścić prosty kawałek kodu, który pobiera użytkowników, którzy w CRM mają przypisaną wskazaną rolę, nazwijmy ją Test. Kawałek kodu metody, która dokonuje takowej eksploracji wygląda następująco:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;private systemuser GetSystemUserInRole(string rolename, CrmService serv)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; QueryExpression qe = new QueryExpression();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; qe.EntityName = EntityName.systemuser.ToString();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; qe.ColumnSet = new AllColumns(); &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LinkEntity le = new LinkEntity();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le.LinkFromEntityName = &amp;quot;systemuser&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le.LinkFromAttributeName = &amp;quot;systemuserid&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le.LinkToEntityName = &amp;quot;systemuserroles&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le.LinkToAttributeName = &amp;quot;systemuserid&amp;quot;; &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ConditionExpression ce = new ConditionExpression();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ce.AttributeName = &amp;quot;name&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ce.Operator = ConditionOperator.Equal;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ce.Values = new object[] { rolename }; &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LinkEntity le2 = new LinkEntity();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le2.LinkFromEntityName = &amp;quot;systemuserroles&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le2.LinkFromAttributeName = &amp;quot;roleid&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le2.LinkToEntityName = EntityName.role.ToString();      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le2.LinkToAttributeName = &amp;quot;roleid&amp;quot;; &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le2.LinkCriteria = new FilterExpression();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le2.LinkCriteria.Conditions = new ConditionExpression[] { ce }; &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; le.LinkEntities = new LinkEntity[] { le2 };     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; qe.LinkEntities = new LinkEntity[] { le };&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;W wyniku pobrania obiektów spełniających kryteria zapytania dostaniemy kolekcję obiektów typu systemuser, z którą wiemy już co zrobić :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-3527336187978794874?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/3527336187978794874/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/06/jacy-uzytkownicy-maja-przypisana-role.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3527336187978794874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3527336187978794874'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/06/jacy-uzytkownicy-maja-przypisana-role.html' title='Jacy użytkownicy mają przypisaną rolę “Test” ? - Kawałek kodu dla CRM'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-7093057878929472196</id><published>2010-05-29T14:33:00.001+02:00</published><updated>2010-05-29T18:13:54.033+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Netwise'/><category scheme='http://www.blogger.com/atom/ns#' term='CCA'/><title type='text'>CCA (Customer Care Accelerator)</title><content type='html'>&lt;p&gt;Na blogu Kuby (o tutaj: &lt;a title="http://crmblog.pl/2010/05/28/customer-care-accelerator-cca-czy-to-jeszcze-akcelerator/" href="http://crmblog.pl/2010/05/28/customer-care-accelerator-cca-czy-to-jeszcze-akcelerator/" target="_blank"&gt;http://crmblog.pl/2010/05/28/customer-care-accelerator-cca-czy-to-jeszcze-akcelerator/&lt;/a&gt;) znaleźć można informacje o … no właśnie o czym ? Z jednej strony w nazwie jest akcelerator co świadczyć może o darmowym dodatku do CRM. Z drugiej strony do tej pory wszelkie akceleratory nie były aż tak skomplikowane – jeśli chodzi o architekturę, możliwości. &lt;/p&gt;  &lt;p&gt;CCA nawiązuje do CCF, jednakże zostało specjalnie dostosowane do Dynamics CRM i całego myślenia związanego z xRM. A co najważniejsze jest za free.&lt;/p&gt;  &lt;p&gt;Jak przeczytać możecie na blogu Kuby na CCA składa się wiele komponentów, które my (my = Netwise – Kuba) musimy poznać (on miał to szczęście i uczył się od najlepszych, ale my teraz będziemy czerpać od niego tę wiedzę). Na pewno w trakcie poznawania będziemy swoje doświadczenia, wrażenia, opinie przedstawiać na blogach. Dajcie nam tylko chwilę na poznanie tej technologii :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.netwise.pl" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" src="http://www.netwise.pl/graph/technologia/dynamicsxrm.jpg" /&gt;&lt;/a&gt;&lt;a href="http://www.netwise.pl" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="" src="http://2.bp.blogspot.com/_9iHD_p3FzDg/S9L1jqP3KMI/AAAAAAAAAHU/R9cDItkKGF4/S187/Nowy+obraz.jpg" width="203" height="44" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-7093057878929472196?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/7093057878929472196/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/05/cca-customer-care-accelerator.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/7093057878929472196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/7093057878929472196'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/05/cca-customer-care-accelerator.html' title='CCA (Customer Care Accelerator)'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9iHD_p3FzDg/S9L1jqP3KMI/AAAAAAAAAHU/R9cDItkKGF4/s72-c/Nowy+obraz.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-2033021751158152326</id><published>2010-05-18T11:50:00.001+02:00</published><updated>2010-05-18T11:52:38.036+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Netwise'/><title type='text'>Wypróbuj CRM za darmo</title><content type='html'>&lt;p&gt;Microsoft uruchomił kampanię promocyjną Dynamics CRM, w której każdy może założyć sobie konto testowe i szaleć przez pewien czas :)&lt;/p&gt;  &lt;p&gt;Złośliwość przedmiotów martwych (tak to nazwijmy) powoduje, że po wejściu na stronie &lt;a href="http://emea.dynamicscrm.com" target="_blank"&gt;http://emea.dynamicscrm.com&lt;/a&gt; oczom ukazuje się jakiś pseudo-angielszczyzną brzmiący komunikat, że jakieś parametry zostały źle zdefiniowane. &lt;/p&gt;  &lt;p&gt;Aby zobaczyć to co było zaplanowane najlepiej wejść na stronę: &lt;a title="http://emea.dynamicscrm.com/?culture=pl-PL&amp;amp;campaign=MSPOL&amp;amp;partner=Netwise" href="http://emea.dynamicscrm.com/?culture=pl-PL&amp;amp;campaign=MSPOL&amp;amp;partner=Netwise" target="_blank"&gt;http://emea.dynamicscrm.com/?culture=pl-PL&amp;amp;campaign=MSPOL&amp;amp;partner=Netwise&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://emea.dynamicscrm.com/?culture=pl-PL&amp;amp;campaign=MSPOL&amp;amp;partner=Netwise" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_9iHD_p3FzDg/S_Ji96Qy55I/AAAAAAAAAHw/CyKiDuXGCHo/image%5B4%5D.png?imgmax=800" width="529" height="415" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-2033021751158152326?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/2033021751158152326/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/05/wyprobuj-crm-za-darmo.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/2033021751158152326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/2033021751158152326'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/05/wyprobuj-crm-za-darmo.html' title='Wypróbuj CRM za darmo'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_9iHD_p3FzDg/S_Ji96Qy55I/AAAAAAAAAHw/CyKiDuXGCHo/s72-c/image%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-3668141766332725670</id><published>2010-05-14T17:40:00.001+02:00</published><updated>2010-05-14T17:40:13.085+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4.0'/><title type='text'>Unhandled Error in Silverlight Application Code: 2104</title><content type='html'>&lt;p&gt;Jeśli tworzymy komponent w SL, który chcemy następnie pokazać na formatce w Dynamics CRM to możemy się spotkać z tym błędem. &lt;/p&gt;  &lt;p&gt;Rozwiązanie polega na odpowiedniej konfiguracji typów MIME na serwerze IIS (od wersji 6.0):&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="IIS 6.0" border="0" alt="IIS 6.0" src="http://lh5.ggpht.com/_9iHD_p3FzDg/S-1u3Aw_d7I/AAAAAAAAAHs/dElDgCFcpx0/image%5B4%5D.png?imgmax=800" width="594" height="404" /&gt;Dzięki takiej konfiguracji serwer IIS będzie wiedzieć co z naszym komponentem (który znajduje się w katalogu ClientBin z rozszerzeniem *.xap) zrobić. Po takiej konfiguracji można na wszelki wypadek wykonać restart IIS (iisreset). &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-3668141766332725670?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/3668141766332725670/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/05/unhandled-error-in-silverlight.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3668141766332725670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3668141766332725670'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/05/unhandled-error-in-silverlight.html' title='Unhandled Error in Silverlight Application Code: 2104'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_9iHD_p3FzDg/S-1u3Aw_d7I/AAAAAAAAAHs/dElDgCFcpx0/s72-c/image%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-3312115538049671768</id><published>2010-05-13T14:14:00.001+02:00</published><updated>2010-05-13T14:15:15.298+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outlook 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Office 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4.0'/><title type='text'>CRM 4.0 + Outlook 2010</title><content type='html'>&lt;p&gt;Aby móc korzystać z dodatku w nowej wersji Outlook należy wziąć po uwagę następujące ograniczenia:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Outlook musi być w wersji 32bitowej – super sprawa, że nowa wersji Office’a jest dostępna w dwóch wersjach (32 i 64 bity). Jednakże dodatek nie został jeszcze dopracowany, aby z nowości (64 bitów) korzystać. Musimy pozostać przy wersji 32 bitowej&lt;/li&gt;    &lt;li&gt;Dodatek musi być zainstalowany przed instalacją nowej wersji Office’a – instalując nowego Office’a musimy skorzystać z opcji aktualizacji (lub też opcji odinstalowania starej wersji i instalacji nowej). Instalacja samego dodatku dla wersji 2010 spowoduje pojawienie się błędu związanego z niekompatybilną wersją oprogramowania. Podobnie jak w punkcie 1 tak samo i tutaj trzeba poczekać na nową wersję dodatku – na razie nie wiadomo kiedy zostanie ona udostępniona – miejmy nadzieję, że nie wraz z wersja CRM’a 5.&lt;/li&gt;    &lt;li&gt;Dodatek należy ręcznie uruchomić – być może okazać się, że dodatek nie zostanie automatycznie uruchomiony po pierwszym uruchomieniu Outlook. Aby go uruchomić należy:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Wyświetlić Opcje programu Outlook&lt;/li&gt;   &lt;/ul&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="opcje" border="0" alt="opcje" src="http://lh5.ggpht.com/_9iHD_p3FzDg/S-vtDjYXbjI/AAAAAAAAAHc/r9nfORp-Q8w/image%5B4%5D.png?imgmax=800" width="105" height="196" /&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;W oknie Opcji należy przejść do części poświęconej dodatkom a następnie wyświetlić dodatki COM.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_9iHD_p3FzDg/S-vtERWiXAI/AAAAAAAAAHg/h4iafJGxmHM/image%5B30%5D.png?imgmax=800" width="537" height="348" /&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Na liście dodatków należy wybrać Microsoft Dynamics CRM i kliknąć OK. Spowoduje to pojawienie się charakterystycznych elementów dla tego dodatku (w tej wersji Outlook już na wstążce). &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_9iHD_p3FzDg/S-vtFBqjHEI/AAAAAAAAAHk/HzooTwg05Fg/image%5B29%5D.png?imgmax=800" width="400" height="176" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_9iHD_p3FzDg/S-vtFroiPZI/AAAAAAAAAHo/7UbjDKG-oNE/image%5B28%5D.png?imgmax=800" width="644" height="106" /&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-3312115538049671768?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/3312115538049671768/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/05/crm-40-outlook-2010.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3312115538049671768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3312115538049671768'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/05/crm-40-outlook-2010.html' title='CRM 4.0 + Outlook 2010'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_9iHD_p3FzDg/S-vtDjYXbjI/AAAAAAAAAHc/r9nfORp-Q8w/s72-c/image%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-4250233333154705194</id><published>2010-04-25T12:23:00.002+02:00</published><updated>2010-04-28T14:13:57.639+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>SilverCRM cz. 3 – kilka aspektów związanych z komunikacją Silverlight i CRM</title><content type='html'>&lt;p&gt;Część druga projektu SilverCRM zakończyła się wspomnieniem na temat aspektów związanych z komunikacją pomiędzy komponentem Silverlight a CRM. Aby je opisać trzeba zrozumieć różnicę pomiędzy np. stronami *.aspx, które wbudowane są w formatkę CRM i znajdują się na serwerze IIS w katalogu ISV. Strony takie uruchamiane są po stronie IIS a klient (czyli przeglądarka) dostaje efekt pracy wykonanej po stronie serwera. Całe wykonanie kodu leży po stronie serwera. W przypadku komponentu Silverlight sprawa wygląda nieco inaczej. To, że znajduje się on na serwerze IIS w tej samej lokalizacji jak strona *.aspx jest jedyną ich cechą wspólną. Wykonanie kodu w przypadku komponentu jest przeniesione na maszynę klienta, tam następuje wykonanie kodu i jednocześnie prezentacja wyniku. Z jednej strony serwer IIS jest odciążony od obsługi dużej ilości żądań a z drugiej strony nasz komponent rozprzestrzenił się po wszystkich stacjach klienckich, które z niego korzystały. &lt;/p&gt;  &lt;p&gt;W przypadku usług, z którymi komponent będzie się łączyć może wystąpić problem komunikacji cross-domain. Polega on na tym, że usługa może znajdować się w innej domenie niż nasz komponent, a wtedy wykonanie naszego kodu zakończy się błędem. Rozwiązaniem tego problemu jest umieszczenie po stronie usługi pliku, w którym należy wyspecyfikować, z którym domen usługa powinna obsługiwać żądania. Plik ten musi być nazwany clientaccesspolicy.xml i znajdować się w musi w katalogu głównym naszej usługi. Przykład takiego pliku jest następujący: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Courier New"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;        &lt;br /&gt;&amp;lt;access-policy&amp;gt;         &lt;br /&gt;&amp;#160; &amp;lt;cross-domain-access&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;policy&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;allow-from http-request-headers=&amp;quot;SOAPAction&amp;quot;&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;domain uri=&amp;quot;*&amp;quot;/&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/allow-from&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;grant-to&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;resource path=&amp;quot;/&amp;quot; include-subpaths=&amp;quot;true&amp;quot;/&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/grant-to&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/policy&amp;gt;         &lt;br /&gt;&amp;#160; &amp;lt;/cross-domain-access&amp;gt;         &lt;br /&gt;&amp;lt;/access-policy&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;W tym pliku mamy zezwolenie na łączenie się do usługi z dowolnej domeny: &amp;lt;domain uri=&amp;quot;*&amp;quot;/&amp;gt;. Zamiana tego elementu powoduje zezwolenie na łączenie się ze wskazanej domeny. Można również skorzystać z pliku crossdomain.xml, który znany jest chociażby z Flash – na ten temat można znaleźć informacje tutaj: &lt;a href="http://msdn.microsoft.com/en-us/library/cc197955(VS.95).aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/cc197955(VS.95).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Kolejnym aspektem jest korzystanie z metod usługi CRM. Jak już możemy się z nią odpowiednio komunikować możemy np. pobrać wszystkie konta, do których mamy prawo. Kod, który to zrobi wygląda tak: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Courier New"&gt;QueryExpression _query = new QueryExpression();        &lt;br /&gt;_query.ColumnSet = new AllColumns();         &lt;br /&gt;_query.EntityName = &amp;quot;account&amp;quot;;         &lt;br /&gt;_client.RetrieveMultipleAsync(_query);&lt;/font&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Jednakże jak się okazuje, mimo, że kolekcja zawiera odpowiednią liczbę elementów o tyle elementy te mają wszystkie właściwości ustawione na null. Błąd ? Z tego co wyczytałem na forach jest to błąd Silverlight, który powinien zostać wyeliminowany, ale z tego co widać jeszcze nie został. Na szczęście jest tzw. workaround. Zamiast pisać krótki kod do pobierania elementów trzeba zawsze pobierać elementy w postaci DynamicEntity. Wtedy dostając się do kolekcji właściwości otrzymamy dane, które nie będą null. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Courier New"&gt;RetrieveMultipleRequest _request = new RetrieveMultipleRequest();        &lt;br /&gt;_request.Query = _query;         &lt;br /&gt;_request.ReturnDynamicEntities = true;         &lt;br /&gt;_client.ExecuteAsync(_request);&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Na szczęście tworząc nowe obiekty w CRM, np. nowe konto nie musimy tworzyć obiektu w postaci DynamicEntity tylko możemy korzystać z bezpośrednich klas. &lt;/p&gt;  &lt;p&gt;Mając wiedzę z trzech wpisów, które tutaj zamieściłem każdy będzie mógł zacząć tworzyć to, na co jego biznes ma ochotę. Mając do dyspozycji Silverlight można w CRM wbudować bardzo bogato wyglądające elementy, np. piękne raporty, strumieniowanie - jednym słowem wszystko to co oferuje Silverlight.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-4250233333154705194?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/4250233333154705194/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/silvercrm-cz-3-kilka-aspektow.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/4250233333154705194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/4250233333154705194'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/silvercrm-cz-3-kilka-aspektow.html' title='SilverCRM cz. 3 – kilka aspektów związanych z komunikacją Silverlight i CRM'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-3656949032754290259</id><published>2010-04-23T20:41:00.001+02:00</published><updated>2010-04-23T20:41:23.132+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Netwise'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>CRM 4.0 Sharepoint Connector</title><content type='html'>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" src="http://microsoftcrmsolutions.com/Portals/6/Microsoft_Dynamics_CRM_logo.jpg" width="202" height="78" /&gt;&amp;#160;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" src="http://seekdotnethosting.files.wordpress.com/2009/04/windows-sharepoint-logo.png" width="84" height="78" /&gt;&lt;/p&gt;  &lt;p&gt;Czasami jest potrzebne w czasie wdrożenia systemu CRM zintegrowanie systemu z bibliotekami dokumentów czy to na darmowym WSS czy też na MOSS. Na podstawie naszego doświadczenia przygotowaliśmy specjalny komponent, który w prosty sposób zastosować można do takiej integracji. &lt;/p&gt;  &lt;p&gt;Przy jego pomocy można, m.in: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Tworzyć strukturę katalogów odpowiadającą obiektom w systemie CRM, np. dla każdego klienta tworzymy katalog na dokumenty, dla każdej oferty tworzymy katalog w katalogu klienta na kolejne wersje dokumentu zawierającą aktualną wersję oferty, itd.&lt;/li&gt;    &lt;li&gt;Prezentować zawartość katalogu, np. na formatce klienta, na formatce szansy sprzedaży&lt;/li&gt;    &lt;li&gt;Automatycznie zarządzać zabezpieczeniami katalogu na WSS tak aby ten kto nie może widzieć rekordów w CRM nie mógł ich znaleźć na katalogu w bibliotece dokumentów.&lt;/li&gt;    &lt;li&gt;Automatycznie usuwał katalog w czasie usunięcia rekordu w systemie CRM.&lt;/li&gt;    &lt;li&gt;…&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;‘…’ oznacza, że komponent ten może działać w dowolny inny sposób jaki sobie tylko zażyczysz :)&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Nowy obraz" border="0" alt="Nowy obraz" align="left" src="http://lh4.ggpht.com/_9iHD_p3FzDg/S9Hp0m3YJAI/AAAAAAAAAHA/06cQAxFnLz8/Nowy%20obraz%5B9%5D.jpg?imgmax=800" width="260" height="72" /&gt;&lt;/p&gt;  &lt;p&gt;Wszelkie informacje jak się z nami skontaktować, aby otrzymać szczegółowe informacje dotyczące tego komponentu znaleźć można na stronie: &lt;a href="http://www.netwise.pl" target="_blank"&gt;www.netwise.pl&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-3656949032754290259?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/3656949032754290259/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/crm-40-sharepoint-connector.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3656949032754290259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3656949032754290259'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/crm-40-sharepoint-connector.html' title='CRM 4.0 Sharepoint Connector'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_9iHD_p3FzDg/S9Hp0m3YJAI/AAAAAAAAAHA/06cQAxFnLz8/s72-c/Nowy%20obraz%5B9%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-4894115638489611070</id><published>2010-04-22T15:52:00.001+02:00</published><updated>2010-04-27T09:26:55.381+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>SilverCRM cz. 2 – połączenie z Dynamics CRM.</title><content type='html'>&lt;span xmlns="xmlns"&gt;   &lt;p&gt;Silverlight, aby spełnić wymaganie przed nim stawiane – uruchamianie się na różnych systemach operacyjnych (Windows, Linux, Mac) i w różnych przeglądarkach (IE, Firefox, Safari) – został zbudowany niejako obok .NET Framework. Fundamentem .NET Framework jest CLR. Silverlight został wyposażony w specjalne środowisko uruchomieniowe oraz w specjalny zbiór klas, aby móc spełnić tym wymaganiom. Jeśli chodzi o warstwę komunikacyjną to posiada on wbudowany WCF (Windows Communication Foundation). Chcąc skomunikować ze sobą Dynamics CRM oraz Silverlight będziemy łączyć ze sobą technologią ASP.NET oraz WCF. Jak dalej zostanie opisane – nie zawsze jest to, aż takie proste :)     &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;Pierwszym krokiem jest skorzystanie z opcji dodania referencji do usługi. W przypadku starszych technologii w VS posiadaliśmy opcję Add Web Reference. Wraz z WCF dostaliśmy opcję Add Service Reference, którą można było zamienić na zwykłą Web Reference (wchodzą w dodatkowe ustawienia). W Silverlight nie mamy takiej opcji i musimy korzystać tylko z Service Reference – tak jak to jest pokazane na rysunku:     &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;img alt="" src="http://lh3.ggpht.com/_9iHD_p3FzDg/S9BUr7v7-fI/AAAAAAAAAG0/33vIHEmG7-o/image%5B18%5D.png?imgmax=800" /&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;Skorzystanie z opcji dodania referencji do usługi spowoduje wyświetlenie okienka, w którym wprowadzić będzie trzeba adres, pod którym dostępna będzie usługa (np. &lt;span style="font-family: courier new; font-size: 10pt"&gt;http://localhost/MSCrmServices/2007/CrmService.asmx&lt;/span&gt;). Można tutaj również wskazać np. ścieżkę na lokalnym dysku gdzie znajduje się plik z definicją usługi (*.wsdl). Po odpowiednim skonfigurowaniu i wygenerowaniu namiastki zostanie w projekcie utworzony katalog Service References gdzie znajdziemy kod źródłowy stworzonej namiastki.      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;a href="http://lh4.ggpht.com/_9iHD_p3FzDg/S9BUsa8GbII/AAAAAAAAAG4/X8D1gVIGvKM/s1600-h/image%5B14%5D.png"&gt;&lt;img border="0" alt="" src="http://lh5.ggpht.com/_9iHD_p3FzDg/S9BUs3aZ5_I/AAAAAAAAAG8/7nx0tVTH-XM/image_thumb%5B4%5D.png?imgmax=800" /&gt;&lt;/a&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;Oprócz kodu namiastki zostanie wygenerowany plik konfiguracyjny, który będziemy mogli wykorzystać w czasie tworzenia instancji namiastki. Zamiast pisać kod i wskazywać, z których wiązań i w jakiej konfiguracji należy korzystać można te wartości wskazać w pliku konfiguracyjnym i w czasie tworzenia instancji namiastki na ten plik się powoływać. Przykładowy plik konfiguracyjny wygląda następująco:     &lt;br /&gt;&lt;/p&gt;    &lt;blockquote&gt;     &lt;p&gt;&lt;font size="2"&gt;&lt;font color="#808080" face="Courier New"&gt;&amp;lt;configuration&amp;gt;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;system.serviceModel&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;bindings&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;basicHttpBinding&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;binding name=&amp;quot;CrmServiceSoap&amp;quot; maxBufferSize=&amp;quot;2147483647&amp;quot; maxReceivedMessageSize=&amp;quot;2147483647&amp;quot;&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;security mode=&amp;quot;None&amp;quot; /&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/binding&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/basicHttpBinding&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/bindings&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;client&amp;gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;endpoint address=&amp;quot;&lt;/font&gt;&lt;font color="#808080" face="Courier New"&gt;http://localhost/MSCrmServices/2007/CrmService.asmx&amp;quot;&lt;/font&gt;          &lt;br /&gt;&lt;/font&gt;&lt;font color="#808080" size="2" face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; binding=&amp;quot;basicHttpBinding&amp;quot; bindingConfiguration=&amp;quot;CrmServiceSoap&amp;quot;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; contract=&amp;quot;CrmSdk.CrmServiceSoap&amp;quot; name=&amp;quot;CrmServiceSoap&amp;quot; /&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/client&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/system.serviceModel&amp;gt;          &lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;/font&gt;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;Warto tutaj zwrócić uwagę na nazwę końcówki (endpoint), która w pokazanym pliku jest ustawiona na CrmServiceSoap. W momencie tworzenia instancji namiastki będzie można wskazać na jaką konfigurację WCF musi się powołać, aby poprawnie namiastkę zainicjować.      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;Warto tutaj zwrócić uwagę na nazewnictwo klas wygenerowanym z pliku *.wsdl usługi CRM. W czasie tworzenia namiastki poprzez zwykłe Web Reference dostawaliśmy w efekcie klasę CrmService. Tutaj otrzymujemy CrmServiceSoapClient. Inne klasy takie jak account, contact, reprezentujące obiekty CRM generowane są bez żadnych zmian.      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;Tworzenie instancji namiastki jest następujące:     &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#808080"&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;CrmServiceSoapClient _client = new CrmServiceSoapClient(&amp;quot;CrmServiceSoap&amp;quot;);&lt;/span&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;gdzie CrmServiceSoapClient jest klasą wygenerowaną przez WCF, natomiast argumentem konstruktora tej klasy jest wskazanie konfiguracji końcówki z pliku konfiguracyjnego również wygenerowanego przez WCF.      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;Silverlight umożliwia wywoływanie tylko i wyłącznie metod asynchronicznych. Zatem w namiastce nie mamy metod CrmService takich jak Execute, Create, Update. Mamy natomiast metody ExecuteAsync, CreateAsync, itd. Wszelkie operacji przy pomocy Silverlight wykonywane są asynchronicznie !!! Mając to na uwadze po utworzeniu namiastki trzeba obsłużyć zdarzenia zakończenia wykonywania operacji asynchronicznej. Przykładowy kod wygląda tak:     &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#808080"&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;_client.RetrieveMultipleCompleted += new EventHandler&amp;lt;RetrieveMultipleCompletedEventArgs&amp;gt;(OnClientRetrievedMultiple);          &lt;br /&gt;_client.ExecuteCompleted += new EventHandler&amp;lt;ExecuteCompletedEventArgs&amp;gt;(OnClientExecuteCompleted);&lt;/span&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;, gdzie metody OnClientRetrievedMultiple oraz OnClientExecuteCompleted są zdefiniowane następująco:     &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#808080"&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;void OnClientExecuteCompleted(object sender, ExecuteCompletedEventArgs e) {}&lt;/span&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#808080"&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;void OnClientRetrievedMultiple(object sender, RetrieveMultipleCompletedEventArgs e) {}&lt;/span&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;Aby wiedzieć do jakiej organizacji się połączyć do tej pory (tzn. korzystając z Web Reference) otrzymywaliśmy klasę CrmAuthenticationToken, który umożliwiał wskazanie do której organizacji chcemy się połączyć, w jaki sposób chcemy dokonać uwierzytelnienia, itd. W przypadku WCF oczywiście otrzymujemy klasę CrmAuthenticationToken w namiastce jednakże klasa CrmServiceSoapClient nie posiada właściwości, która umożliwia ustawienia i wykorzystanie tokenu. Aby poprawnie połączyć się z usługą CRM musimy mieć możliwość dołączenia do żądań SOAP nagłówka – musimy mieć metodę GenerateAuthenticationHeader, którą mamy jak piszemy skrypt uruchamiany, np. na zdarzeniu OnLoad formatki CRM. Metodę tą możemy zbudować korzystając z kanały komunikacyjnego, z którego korzysta WCF. Musimy ręcznie dołączyć nagłówek do wiadomości wychodzących od naszego komponentu:     &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;MessageHeader header = MessageHeader.CreateHeader(&amp;quot;CrmAuthenticationToken&amp;quot;,        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;http://schemas.microsoft.com/crm/2007/WebServices&amp;quot;,         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&amp;quot;,         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; new CrmAuthenticationTokenSerializer(0, orgname, null)); &lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;OperationContext.Current = new OperationContext((IContextChannel)_client.InnerChannel);        &lt;br /&gt;OperationContext.Current.OutgoingMessageHeaders.Add(header);&lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;Klasa CrmAuthenticationTokenSerializer jest naszą własną klasą dziedziczącą po XmlObjectSerializer:     &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: maroon"&gt;public class CrmAuthenticationTokenSerializer : XmlObjectSerializer          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int _authType;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string _organizationName;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string _callerId; &lt;/span&gt;&lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public CrmAuthenticationTokenSerializer (int authType, string organizationName, string callerId)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; _authType = authType;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; _organizationName = organizationName;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; _callerId = callerId;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (_callerId == null)         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; _callerId = &amp;quot;00000000-0000-0000-0000-000000000000&amp;quot;;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public override void WriteStartObject(XmlDictionaryWriter writer, Object graph)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public override void WriteObjectContent(XmlDictionaryWriter writer, Object graph)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string authToken = string.Format(&amp;quot;&amp;lt;AuthenticationType xmlns='http://schemas.microsoft.com/crm/2007/CoreTypes'&amp;gt;&lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {0}&amp;lt;/AuthenticationType&amp;gt;&amp;lt;OrganizationName xmlns='http://schemas.microsoft.com/crm/2007/CoreTypes'&amp;gt;&lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {1}&amp;lt;/OrganizationName&amp;gt;&amp;lt;CallerId xmlns='http://schemas.microsoft.com/crm/2007/CoreTypes'&amp;gt;&lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {2}&amp;lt;/CallerId&amp;gt;&amp;quot;, _authType, _organizationName, _callerId); &lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; writer.WriteRaw(authToken);        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public override void WriteEndObject(XmlDictionaryWriter writer)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;&lt;span style="font-family: courier new; font-size: 10pt"&gt;&lt;span style="color: green"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: maroon"&gt;public override bool IsStartObject(XmlDictionaryReader reader)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return true;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/span&gt;&lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public override Object ReadObject(XmlDictionaryReader reader, bool verifyObjectName)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return null;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: courier new; color: maroon; font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/span&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;Mając tak zdefiniowaną klasę możemy przystąpić do wywoływania metod usługi CRM. Jednakże w czasie wywołania najprostszego żądania, np. WhoAmIRequest dostaniemy błąd związany z komunikacją pomiędzy domenami. Dlaczego tak się dzieje ? O tym w kolejnym wpisie. Tam również kilka informacji na temat błędów związanych z metodami Retrieve oraz RetrieveMultiple. &lt;/p&gt; &lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-4894115638489611070?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/4894115638489611070/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/silvercrm-cz-2-poaczenie-z-dynamics-crm.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/4894115638489611070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/4894115638489611070'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/silvercrm-cz-2-poaczenie-z-dynamics-crm.html' title='SilverCRM cz. 2 – połączenie z Dynamics CRM.'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_9iHD_p3FzDg/S9BUr7v7-fI/AAAAAAAAAG0/33vIHEmG7-o/s72-c/image%5B18%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-5873458307769842698</id><published>2010-04-21T15:17:00.001+02:00</published><updated>2010-04-21T16:39:23.112+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>SilverCRM cz. 1 – nowy projekt</title><content type='html'>&lt;p&gt;Planując napisanie kilku wpisów poświęconych tworzeniu połączenie CRM z Silverlight jeden wpis chciałem poświęcić narzędziom, które trzeba mieć, aby móc sprostać temu zadaniu. Wtedy na rynku w wersji finalnej był VS 2008 a na portalu &lt;a href="http://www.silverlight.net" target="_blank"&gt;www.silverlight.net&lt;/a&gt; znaleźć można było szereg toolkitów, które dodawały do tego narzędzi chociażby nowy typ projektu. &lt;/p&gt;  &lt;p&gt;W międzyczasie pojawił się produkt VS2010, który wszystkie narzędzia ma w sobie wbudowane więc z wpisu z przygotowania do rozpoczęcia pracy można było zrezygnować. Dla osób, które nie decydują się jeszcze na przejście na VS 2010 polecam lekturę portalu &lt;a href="http://www.silverlight.net"&gt;www.silverlight.net&lt;/a&gt; – tam są wszelkiego rodzaju informacje jakie narzędzia i jak skonfigurowane są potrzebne aby wykonać to co dalej w tym wpisie (i we wpisach kolejnych będzie opisane).&lt;/p&gt;  &lt;p&gt;A więc do dzieła. Korzystam z Visual Studio Web Developer 2010 Express, które bez żadnych kosztów pobrać można ze strony: &lt;a title="http://www.microsoft.com/express/" href="http://www.microsoft.com/express/" target="_blank"&gt;http://www.microsoft.com/express/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="VS 2010" border="0" alt="VS 2010" src="http://lh3.ggpht.com/_9iHD_p3FzDg/S876xeqbG8I/AAAAAAAAAGk/awVZuGfh7GU/image3%5B1%5D.png?imgmax=800" width="522" height="361" /&gt; &lt;/p&gt;  &lt;p&gt;Tworząc nowy projekt wybieram szablon Silverlight –&amp;gt; Silverlight Application (ja preferuję C#). Po ustawieniu nazwy aplikacji, lokalizacji jej plików źródłowych oraz nazwy rozwiązania VS klikamy przycisk OK. Pojawi nam się okienko, przy pomocy którego będziemy mogli wygenerować aplikację internetową, w której będzie masz komponent Silverlight uruchamiany. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_9iHD_p3FzDg/S876yfIZsWI/AAAAAAAAAGo/7rMwNFJ3KTY/s1600-h/image14.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_9iHD_p3FzDg/S876zFHmPEI/AAAAAAAAAGs/xxGvPkCvW0Q/image_thumb6.png?imgmax=800" width="385" height="313" /&gt;&lt;/a&gt;Z aplikacji takiej można oczywiście zrezygnować, jednakże w naszym przypadku chcemy, aby komponent Silverlight był uruchamiany w kontekście CRM. Zanim jednak ten komponent będziemy wbudowywać w CRM warto popracować nad samym komponentem: zbudować kod, przetestować, popracować nad wyglądem. Temu służy właśnie ta generowana aplikacja. &lt;/p&gt;  &lt;p&gt;Na samym dole okienka mamy możliwość wybrania wersji Silverlight, z której będziemy korzystać. Domyślnie VS 2010 zainstalowany jest z wersją 3 Silverlight. Aby móc korzystać z wersji 4 należy doinstalować narzędzie, które jest do pobrania ze strony: &lt;a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=bf5ab940-c011-4bd1-ad98-da671e491009&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=bf5ab940-c011-4bd1-ad98-da671e491009&amp;amp;displaylang=en" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=bf5ab940-c011-4bd1-ad98-da671e491009&amp;amp;displaylang=en&lt;/a&gt; (pamiętać należy, że jest to wersja RC2 – taka przynajmniej była aktualna w czasie pisania tego wpisu). Ja pozostanę na razie przy wersji 3, gdyż to co chcę zaprezentować nie wymaga wersji 4. &lt;/p&gt;  &lt;p&gt;Po wybraniu OK czekamy chwilę na zakończenie procesu generowania projektów.&lt;/p&gt;  &lt;p&gt;W oknie &lt;em&gt;Solution Explorer&lt;/em&gt; zobaczymy dwa projekty – jeden odpowiada komponentowi Silverlight, drugi natomiast odpowiada aplikacji internetowej, która posłuży nam do testowania komponentu. Co wchodzi w skład poszczególnych projektów:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 35px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Solution Explorer" border="0" alt="Solution Explorer" align="left" src="http://lh4.ggpht.com/_9iHD_p3FzDg/S876zn3_D7I/AAAAAAAAAGw/q2dJQO002PM/image%5B4%5D.png?imgmax=800" width="157" height="244" /&gt; &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Test1&lt;/strong&gt;       &lt;br /&gt;Jest to projekt naszego komponentu Silverlight. Predefiniowane mamy tutaj dwa pliki *.xaml wraz z plikami &lt;em&gt;codebehind&lt;/em&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Test1.Web&lt;/strong&gt;       &lt;br /&gt;Projekt ten ma za zadanie uruchomić nasz komponent. W ramach tego projektu znajduje się katalog &lt;strong&gt;&lt;em&gt;ClientBin, &lt;/em&gt;&lt;/strong&gt;do którego będzie kopiowany plik wyjściowy projekt Test1 po jego kompilacji (z rozszerzeniem *.xap). Plik ten będzie następnie uruchamiany w kontekście jeden ze stron Test1TestPage.*. Domyślnie mamy tutaj do dyspozycji strony *.html oraz *.aspx. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Po zbudowaniu (kombinacja Ctrl + F5) zostanie nam zaprezentowana strona *.aspx z tego projektu, gdyż właśnie ten projekt ustawiony jest domyślnie jako projekt startowy. Gdybyśmy zdecydowali się na stworzenie rozwiązania składającego się tylko z projektu Silverlight w efekcie otrzymalibyśmy plik *.xap, który następnie musimy sami wbudować w stronę internetową. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Kolejnym krokiem będzie nawiązanie połączenie z Dynamics CRM … &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-5873458307769842698?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/5873458307769842698/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/vs-2010-silvercrm-pierwszy-projekt-cz-1.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/5873458307769842698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/5873458307769842698'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/vs-2010-silvercrm-pierwszy-projekt-cz-1.html' title='SilverCRM cz. 1 – nowy projekt'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_9iHD_p3FzDg/S876xeqbG8I/AAAAAAAAAGk/awVZuGfh7GU/s72-c/image3%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-8626865901776157444</id><published>2010-04-15T11:11:00.001+02:00</published><updated>2010-04-15T11:14:01.148+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='U.S. Air Force'/><category scheme='http://www.blogger.com/atom/ns#' term='xRM'/><title type='text'>Przykład rozwiązania xRM – U.S. Air Force</title><content type='html'>&lt;p&gt;Aby pokazać kolejny przykład przemawiający za rozwiązaniami opartymi o platformę Microsoft Dynamics CRM zapraszam do obejrzenia rozwiązania jakie zostało zbudowane u dość ciekawego klienta :) – w siłach powietrznych armii amerykańskiej.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/showcase/en/us/player/embed/0b7c863a-242b-4b90-b31d-988fd1318bb4" href="http://www.microsoft.com/showcase/en/us/player/embed/0b7c863a-242b-4b90-b31d-988fd1318bb4" target="_blank"&gt;http://www.microsoft.com/showcase/en/us/player/embed/0b7c863a-242b-4b90-b31d-988fd1318bb4&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-8626865901776157444?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/8626865901776157444/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/przykad-rozwiazania-xrm-us-air-force.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/8626865901776157444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/8626865901776157444'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/przykad-rozwiazania-xrm-us-air-force.html' title='Przykład rozwiązania xRM – U.S. Air Force'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-2370148654081206531</id><published>2010-04-14T14:04:00.003+02:00</published><updated>2010-04-14T20:34:16.438+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Netwise'/><category scheme='http://www.blogger.com/atom/ns#' term='Konferencja'/><title type='text'>Konferencja “xRM jako nowy wymiar CRM”</title><content type='html'>&lt;p&gt;Jako osoba, która jest częścią firmy Netwise muszę napisać o &lt;strong&gt;&lt;u&gt;bezpłatnej&lt;/u&gt;&lt;/strong&gt; konferencji, którą wraz z firmą Microsoft organizujemy. Odbędzie się ona we wtorek, 20.04.2010 w siedzibie Microsoft przy Al. Jerozolimskich 195A w Warszawie.&lt;/p&gt;&lt;p&gt;Agenda spotkania jest następująca:&lt;/p&gt;&lt;ul&gt;&lt;table border="0" cellspacing="0" cellpadding="2" width="982"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;10:00&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;&lt;p align="left"&gt;kawa powitalna &amp;amp; rejestracja uczestników &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;10:30&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;&lt;p align="left"&gt;powitanie&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;10:35 – 11:30&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;&lt;p align="left"&gt;&lt;strong&gt;Koncepcja xRM a CRM&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;11:30 – 11:45&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;&lt;p align="left"&gt;przerwa kawowa &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;11:45 – 12:15&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;&lt;p align="left"&gt;&lt;strong&gt;Tworzenie aplikacji na platformie xRM&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;12:15 – 13:00&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;&lt;p align="left"&gt;przerwa kawowa&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;13:00 – 14:00&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;&lt;p align="left"&gt;&lt;strong&gt;Przykład wykorzystania platformy xRM w wybranych firmach – integracja z aplikacjami firm trzecich m.in. IFS, SAP.&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;14:00 – 14:15&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;&lt;p align="left"&gt;przerwa kawowa&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;14:15 – 15:00&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;&lt;p align="left"&gt;&lt;strong&gt;xRM w infrastrukturze własnej czy w hosting?&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;15:00 – 15:15&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;&lt;p align="left"&gt;sesja Q&amp;amp;A&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="121"&gt;&lt;p align="center"&gt;&lt;strong&gt;15:15&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="859"&gt;Zakończenie &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;p&gt;Szczegóły związane z rejestracją na konferencję znaleźć można na stronie: &lt;a title="http://konferencja.crmdynamics.pl/" href="http://konferencja.crmdynamics.pl/" target="_blank"&gt;http://konferencja.crmdynamics.pl/&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-2370148654081206531?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/2370148654081206531/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/konferencja-xrm-jako-nowy-wymiar-crm.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/2370148654081206531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/2370148654081206531'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/konferencja-xrm-jako-nowy-wymiar-crm.html' title='Konferencja “xRM jako nowy wymiar CRM”'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-3920149171845097682</id><published>2010-04-14T12:41:00.001+02:00</published><updated>2010-04-14T12:42:48.843+02:00</updated><title type='text'>.NET Framework 4.0 i Visual Studio 2010</title><content type='html'>&lt;p&gt;Nadeszła wiekopomna chwila i oczom wszystkim na całym świecie ukazana została finalna wersja .NET Framework w wersji 4 oraz Visual Studio 2010.&lt;/p&gt;  &lt;p&gt;Co nowego niesie ze sobą ta odsłona można przeczytać na blogu Scotta: &lt;a title="http://weblogs.asp.net/scottgu/archive/2010/04/12/visual-studio-2010-and-net-4-released.aspx" href="http://weblogs.asp.net/scottgu/archive/2010/04/12/visual-studio-2010-and-net-4-released.aspx" target="_blank"&gt;http://weblogs.asp.net/scottgu/archive/2010/04/12/visual-studio-2010-and-net-4-released.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Co ważne z punktu widzenia CRM ? A to, że CRM 5 jak zostanie zaprezentowany światu w wersji finalnej ma być zbudowany w oparciu właśnie o .NET Framework 4.0. Szczęściarzom, którzy uczestniczą we wczesnej adopcji CRM 5 pozazdrościmy bo z tego co można znaleźć na forach jest na co czekać. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-3920149171845097682?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/3920149171845097682/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/net-farmework-40-i-visual-studio-2010.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3920149171845097682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/3920149171845097682'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/net-farmework-40-i-visual-studio-2010.html' title='.NET Framework 4.0 i Visual Studio 2010'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-6512479318686760039</id><published>2010-04-14T11:19:00.001+02:00</published><updated>2010-04-14T11:19:21.570+02:00</updated><title type='text'>Dynamics CRM + Silverlight</title><content type='html'>&lt;p&gt;Dla osób, które chociaż troszeczkę śledzą to co dzieje się w Microsoft zapewne słyszały o technologii Silverlight – co to jest, do czego służy (w końcu jest czwarta wersje jest dostępna ;).&lt;/p&gt;  &lt;p&gt;Jednym z moich celów, które przed sobą stawiam na najbliższy czas jest poznanie samej technologii, ale mając na uwadze możliwości integracji z Dynamics CRM bo to jest mój produkt flagowy. Pracuję właśnie nad bardziej rozbudowanym postem, który będzie opisywał moje początki w tematyce integracji tych dwóch technologii – wczoraj mówiłem o tej tematyce na spotkaniu grupy xRM’owej działającej przy polskim oddziale Microsoft. Przy okazji odbywało się tam również spotkanie poświęcone tylko i wyłącznie technologii Silverlight – może zacznę odwiedzać te spotkania regularnie – do czego zachęcam wszystkich entuzjastów technologii z Redmond. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-6512479318686760039?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/6512479318686760039/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/dynamics-crm-silverlight.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/6512479318686760039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/6512479318686760039'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/dynamics-crm-silverlight.html' title='Dynamics CRM + Silverlight'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7904873902606592786.post-5631716875887068183</id><published>2010-04-14T10:42:00.001+02:00</published><updated>2010-04-14T10:42:56.169+02:00</updated><title type='text'>xRM – pierwszy wpis na blogu</title><content type='html'>&lt;p&gt;Pierwszy wpis, będący wstępem do tego, co bym chciał tutaj zamieścić. Zawodowo zajmuję się wdrażaniem systemów CRM a w szczególności systemu Microsoft Dynamics CRM. System ten jest idealnym przykładem koncepcji xRM czyli platformy, na bazie której jesteśmy w stanie zbudować dowolne rozwiązanie, które nie tylko będzie zarządzać relacjami z klientem, ale np. relacjami uczelni ze studentami, relacjami władz miasta z mieszkańcami. &lt;/p&gt;  &lt;p&gt;Wyjaśnieniem tej koncepcji niech będzie ten krótki filmik :)&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 5px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:b49b73bf-8201-41b4-b9da-66da329eadf8" class="wlWriterEditableSmartContent"&gt;&lt;div id="7c5b3017-c8f5-42a1-8b87-2376f75bbcec" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=Yru5CkANOKA&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;" target="_new"&gt;&lt;img src="http://lh4.ggpht.com/_9iHD_p3FzDg/S8WAD-ffbhI/AAAAAAAAAFY/_MIf8lM8mo4/videoe173dce03abc%5B2%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('7c5b3017-c8f5-42a1-8b87-2376f75bbcec'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/Yru5CkANOKA&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/Yru5CkANOKA&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Ja ze swojej strony postaram się tutaj regularnie zamieszczać informacje związane nie tylko z biznesowym podejściem do tematu, ale również informacje związane z podejściem technicznym – będą tutaj wpisy o tym jak coś zrobić, jak coś zaimplementować, itd. :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7904873902606592786-5631716875887068183?l=xrmconsulting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xrmconsulting.blogspot.com/feeds/5631716875887068183/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/xrm-pierwszy-wpis-na-blogu.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/5631716875887068183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7904873902606592786/posts/default/5631716875887068183'/><link rel='alternate' type='text/html' href='http://xrmconsulting.blogspot.com/2010/04/xrm-pierwszy-wpis-na-blogu.html' title='xRM – pierwszy wpis na blogu'/><author><name>Tomasz Filipowicz</name><uri>http://www.blogger.com/profile/08016594313806021070</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_9iHD_p3FzDg/TFaKri-lpgI/AAAAAAAAAV4/hmQUElb-zyU/S220/untitled.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_9iHD_p3FzDg/S8WAD-ffbhI/AAAAAAAAAFY/_MIf8lM8mo4/s72-c/videoe173dce03abc%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
