Cele w CRM, a własność encji w Dynamics 365

Ten post jest trochę nietypowy, bo jest wskazówką i pewną odpowiedzią na notoryczny problem z tym, na jakich encjach można tworzyć cele w Microsoft Dynamics 365.

Trochę o celach w Microsoft Dynamics 365

Zarządzanie celami to jedna z funkcjonalności Dynamics 365 obecna w Dynamics CRM od wersji 2011. Niektórzy ją kochają ze względu na elastyczność i łatwość tworzenia celów dla użytkowników CRM, a także za łatwość prezentacji danych o postępie i celach. Inni nienawidzą za to, że każdy cel musi mieć właściciela i jest tylko na dany okres fiskalny, a w kolejnych trzeba tworzyć cele od nowa i za każdym razem osobno dla każdego użytkownika / zespołu.

Jeśli ktoś chce używać celów, to ma do dyspozycji całkiem dobry mechanizm (o ile akceptuje trudność w ergonomii dla tworzenia celów od nowa co okres fiskalny) składający się z następujących komponentów:

  • Metryka Celu (Goal Metric):
    Obiekt pozwalający na wybór typu celu oraz danych, które chcemy śledzić (np. czy to będzie cel liczbowy, czy kwotowy i jaki typ danych będzie liczony do postępu i realizacji celów)
  • Cel (Goal):
    Cel to jak sama nazwa wskazuje właściwy cel, który obowiązkowo składa się z Nazwy, Metryki Celu, Właściciela Celu (i jego managera) oraz przede wszystkim z Okresu Obrachunkowego, dla którego ma być liczony. Cel zawiera dane o oczekiwanej (docelowej) liczbie lub kwocie, a także może zawierać Cele Podrzędne, jeśli chcemy liczyć cele dla zespołów.
  • Zapytanie Zestawienia (Rollup Query):
    Zapytanie Zestawienia umożliwia szczegółowy wybór rekordów, które mają być zaliczane do Celu. Przykładem może być sytuacja, w której Celem jest uzyskanie 100 000 PLN przychodu w wystawionych fakturach (Metryka Celu), ale dodatkowo chcemy, żeby były to faktury na konkretny rodzaj usługi (Zapytanie Zestawienia).

Mojej encji nie mam na liście Celów, czyli haczyk z własnością encji…

Wiadomo, że cele w Dynamics 365 mogą obejmować nie tylko dane sprzedażowe, ale dowolne inne dane z różnych encji, które dają się sumować lub liczyć (pod warunkiem, że Metryka Celu jest jednym z dwóch typów – Liczba, albo Kwota). Łącznie z tym, że możemy tworzyć Cele (Goals), Metryki Celów (Goal Metrics) i Zapytania Zestawienia (Rollup Queries) dla encji stworzonych przez nas (encji dostosowanych / Custom Entities).

Jednak jest jeden bardzo ważny punkt – teoretycznie wszystkie (w tym custom) encje mogą być przedmiotem dla Celu. Czy naprawdę? Wystarczy chwilę się zastanowić (i nie zapomnieć podczas wdrożenia), że Cele mają Właścicieli i obejmują rekordy, które mają właścicieli. Dlatego też Cele mogą być w praktyce tworzone tylko dla encji, które mają Własność ustawioną na „Użytkownik lub zespół”, a nie na „Organizacja”!!!

Screen Shot 2017-05-08 at 17.10.36

Implikacje w prawdziwym życiu

Czemu to jest takie ważne? Ano dlatego, że ta przypadłość celów wymaga odpowiedniego planowania nowych obiektów w kontekście ich właśności w systemie. Nie da się przecież zmienić typu Własności już po utworzeniu encji. A co dopiero, kiedy encja jest w pełni dostosowana, a my zaimportujemy już dane z zewnętrznego systemu… Wtedy możemy się nieźle zdziwić, kiedy obiecamy Klientowi np. zarządzanie celami na wystawione faktury, albo na liczbę zamówień i stworzymy encję, której Własność ustawiona będzie na „Organizacja”. A przecież w przypadku takich obiektów jak Faktura takie ustawienie właśnie ma największy sens. Chcemy przecież zapewnić w systemie w prosty sposób – albo ktoś widzi faktury z ERP, albo nie. Nie zastanawiamy się i na pewno nie chcemy dodatkowo ustawiać właścicieli dla każdej zaimportowanej faktury i konfigurować ról zabezpieczeń w taki sposób, żeby użytkownicy mogli widzieć tylko konkretne faktury.

Podobnie ma się sytuacja z wieloma innymi encjami utworzonymi na wdrożeniach – chcemy albo widzieć stan magazynowy (kiedy tworzymy sobie encję na te potrzeby), albo nie. Chcemy albo pozwolić użytkownikom widzieć wejścia na stronę (kiedy tworzymy encję na te potrzeby), albo nie. Nie ma przecież sensu, żeby takie obiekty miały właścicieli – po prostu użytkownicy albo je widzą, albo nie.

Podsumowując – cele w Microsoft Dynamics 365 można ustawiać na wielu encjach, w tym encjach własnych. Jednak nie da się używać mechanizmu Celów na encjach, które właściwość Własność mają ustawioną jako „Organizacja”. Dodajcie sobie powyższy punkt do listy podczas planowania nowych encji :).

Reklamy

Bank of Queensland stracił 10 milionów dolarów na nieudanym wdrożeniu Salesforce CRM

Salesforce i partnerzy Salesforce od dawna wprowadzają w błąd Klientów, że Salesforce posiada centra danych w… no właśnie gdzie? w zasadzie w każdym miejscu, w jakim Klient akurat potrzebuje :). A jak jest prawda? Salesforce jeszcze do grudnia 2014 nie miał nawet jednego centrum danych w Europie, a cały czas nie ma centrum danych w Australii. To stawia pod znakiem zapytania spełnienie wymogów Unii Europejskiej określonych w Dyrektywie Unii Europejskiej o Ochronie Danych. Teoretycznie spełniony jest tzw. Safe Harbor, ale… w życiu bywa różnie.

Sprawdził to na własnej skórze Bank of Queensland – wiodący australijski bank, który zdecydował się na wdrożenie Salesforce CRM w 2011 roku. Wdrożenie miało zakończyć się w 2013 i wtedy pojawiały się już notki pasowe o „bliskim zakończeniu projektu”. Jak się okazało to bliskie zakończenie nie było poparte opinią tegoż banku. Samo wdrożenie przedłużyło się o ponad rok. Ale to nie koniec problemów.

Wtedy okazało się również, że mimo stałych obietnic Salesforce nie był jednak w stanie przenieść danych klientów banku do Australii. Bank zareagował prawidłowo, ale ryzykownie – zrezygnował z wdrożenia Salesforce CRM i odpisał stratę w wysokości 10 000 000 dolarów!!!

Aktualnie Bank of Queensland po 3 latach wdrożenia, które skończyło się spektakularną porażką, wrócił do systemu, który planował zastąpić Salesforce CRM’em i poszukuje nowego rozwiązania.

Wnioski:

1) Nadal nie wszystkie wdrożenia CRM się udają

2) Niezły jest budżet, jaki ten bank miał na wdrożenie CRM. A i tak się nie udało…

Update Rollup 12 – na razie nie radzę instalować + moje przemyślenia (stan na 2013-01-24)

Nie chcę na razie komentować ostatnich wydarzeń, bo wiadomo, że przy zbyt silnych uczuciach (do Dynamics CRM) moje reakcje byłyby zbyt silne ;). Na liście „under NDA” rozpocząłem już burzę zaczepnym pytaniem gdzie jest lider strategii Dynamics CRM w ostatnim roku, odkąd odszedł Pan B.W…?

Jak pewnie wiecie, 10 stycznia ukazał się długo oczekiwany Update Rollup 12 dla Dynamics CRM 2011. Nie opisywałem go póki nie potestowałem sam. W całym styczniu za to na CRM Online instalowany jest tzw. 2012 Q4 Service Update, a więc pakiet poprawek większy od UR12 dostępny na razie tylko dla CRM Online. O ile CRM Online mnie nie obchodzi (szkoda nerwów), o tyle wycofanie trzeciego rollup’a z rynku już bardziej.

Update Rollup 12 to ogromna aktualizacja – niektórzy mówią nawet, że to CRM 2013 :). Rzeczywiście nowych funkcjonalności jest mnóstwo, a tą najbardziej oczekiwaną oczywiście wsparcie dla wielu przeglądarek. I właśnie ze względu na mnogość nowych funkcji, wygląda na to, iż obiecane ambitne terminy spowodowały, że nie wszystko działa jak należy. Nie jest to nic strasznego (niby), bo zmiana jest rzeczywiście ogromna, ale coś jednak w moim fanatycznym (dla Dynamics CRM) sercu nie gra. Nie gra, bo to nie pierwszy raz. Na szczęście Microsoft po kilku godzinach zauważył błędy i kulturalnie Update Rollup wycofał.

W skrócie Update Rollup 12 został wycofany i nie należy instalować go aż do ukazania się wersji 2 (v2). Jeśli więc pobraliście (Wasi administratorzy pobrali) UR12 z 10 stycznia, nie instalujcie go! Microsoft bowiem oficjalnie przyznał, że UR12 może spowodować błędy w działaniu CRM – tutaj jest post Vicepresident’a linii Dynamics mówiący o tym: http://community.dynamics.com/product/crm/crmtechnical/b/lostinthoughtsofcrm/archive/2013/01/18/update-on-microsoft-dynamics-crm-2011-update-rollup-12-release.aspx.

Z tego, co wiem stan na dziś jest taki, że poprawiane są błędy i Update Rollup 12 dla klientów posiadających CRM zainstalowany u siebie (on-premise) pojawi się wkrótce ponownie. Tym razem już bez błędów. Wtedy będziemy mogli zacząć cieszyć się nowymi, ogromnymi zmianami.

A wnioski mam na razie takie – Microsoft za szybko chce wypuszczać nowe funkcjonalności, albo za dużo ich w jednej aktualizacji. Samo wsparcie dla wielu przeglądarek to ogromna praca – CRM od 8 lat używał plików charakterystycznych dla Internet Explorer. Zastąpienie plików .htc nowymi formatkami (czyt. przepisanie sporego kawałka interfejsu) to nie żarty… A ambitny, „6-miesięczny” termin zaczyna nadchodzić. I efekty mamy…

Update Rollup 10 – powstrzymajcie się na razie w poniższych sytuacjach

Standardowo opisuję każdy Update Rollup tuż po tym, jak się pojawi. Zawsze bardzo chcę wcześniej, ale NDA zabrania :). Tym razem nie pisałem nic, bo musiałem trochę potestować potencjalne zmiany. Update Rollup 10 jest bardzo dużą paczką, więc potencjalnie może wnosić trochę zamieszania. Warto być świadomym, co dokładnie może się stać w niektórych wypadkach i ewentualnie w tych przypadkach powstrzymać się na razie przed instalacją UR10.

W szczególności chodzi o poniżej opisane przypadki – być może jest ich więcej, ale tyle udało mi się zauważyć i są to problemy potwierdzone i naprawiane przez Microsoft:

  • Twoje formatki przetwarzają w jakikolwiek sposób odpowiedź FetchXmlToQueryExpressionResult, nawet jeśli o tym nie wiesz :)? Jeśli używasz FetchXML, platforma pod spodem i tak użyje tego żądania! To, co udało mi się znaleźć dotyczy tego, w jaki sposób budowana jest odpowiedź w JSON. Otóż, od Update Rollup 10 zmienił się kontrakt żądania, tzn. do FilterExpression został dodany atrybut IsQuickFindFilter, którego nie było wcześniej. To powoduje wywalanie się DataContractJsonSerializer’a i w rezultacie nie działają skrypty od tej linii na formatkach
  • Powyższy problem może być rozwiązany po przebudowaniu WCF’a za pomocą najnowszego SDK 5.0.12
  • Twoje rozwiązanie zawiera encje zmigrowane z Dynamics CRM 4.0? Prawdopodobnie dostaniesz błąd przy próbie importu tego rozwiązania ze względu na zmianę w strukturze XML w pliku rozwiązania
  • Masz jakiekolwiek emaile w stanie Pending albo Pending Send (Oczekujący na wysłanie)? Po wgraniu UR10 możesz się zdziwić, że po przełączeniu użytkownika do używania Email Router zamiast Outlook, jest spora szansa, że stare emaile ze statusem „Oczekujący na wysłanie” zostaną nagle wysłane. Niby to takie normalne i prawidłowe, ale biznes może się nieźle wkurzyć, jak zaczną wysyłać się nagle emaile sprzed 1-2 lat… 🙂 Warto o tym pamiętać!

Każda z poniższych sytuacji została już zgłoszona do Technical Support Microsoft’u. Nie u każdego te błędy mogą wystąpić, ale uczciwie ostrzegam… 🙂 Update Rollup 10 jest ogromną zmianą, stąd lepiej nie instalować go od razu po ukazaniu się na rynku…

CRM Anywhere i wsparcie wielu przeglądarek – jeszcze nie teraz…

Dziś rano oficjalnie Microsoft zszokował klientów i partnerów bardzo złą informacją. Otóż, długo oczekiwane funkcjonalności (nowy klient mobilny – CRM Anywhere oraz wsparcie dla wielu przeglądarek) zostały wykluczone z Q2 2012 Service Update, a więc i z wersji R8. Najważniejsze funkcjonalności nowej wersji R8 będą więc… nieobecne w tej wersji.

Aktualna oficjalna informacje jest taka, że obie te ogromne funkcjonalności zostaną przeniesione do Q4 2012 Service Update, a więc na koniec tego roku. Aktualnie w Update Rollup 10 pozostanie z wersji R8 wsparcie dla SQL 2012 i inne poprawki błędów obiecane w wersji R8.

Można uczciwie przyznać, że dla wszystkich to szok. My (MVP) wiemy to od kilku dni i nie mogliśmy tej informacji ogłaszać aż do general availability, bo Microsoft sam chciał o tym poinformować. Można zastanawiać się, czemu tak się stało. Wygląda na to, że po wszystkich testach partnerów zaangażowanych w programy EAP i TAP Microsoft zdecydował, że dotrzymanie terminu nie jest możliwe i znacznie lepiej będzie poczekać do dopracowania CRM Anywhere i wsparcia przeglądarek do perfekcji, zamiast publikować je teraz w obecnym kształcie.

Dla klientów oznaczać to może poprawny, przetestowany i idealny produkt odpowiadający dokładnie potrzebom rynku. Ja się z tym zgadzam, bo wiem jakie zmiany były proponowane podczas testów rozwiązań przez Klientów. Szokujące tylko jest to w jaki sposób Microsoft podał tę informację. Bez ostrzeżenia, bez żadnych przeprosin. Ot tak, z wersji R8 wykluczone zostały 2 najważniejsze komponenty tej wersji. I o ile zgadzam się, że lepiej poczekać i dać idealny produkt, o tyle zastanawiam się, jak mamy to teraz wytłumaczyć klientom, którym obiecaliśmy wsparcie dla przeglądarek już w sierpniu…

UPDATE Z 2012-07-09 23:12
Przed chwilką na sesji podczas WPC 2012 Microsoft pokazał dlaczego wsparcie dla przeglądarek zostało wycofane z R8. Powiem tylko tyle – poza wsparciem dla wielu przeglądarek zostanie dodany… zupełnie nowy interfejs zgodny z Metro UI znanym z Windows 8. Drodzy Klienci, jest na co czekać!. Wow!!! Wszystko w jednym okienku, dostępne kontekstowo. Chcesz dodać produkt, kliknij 1 raz. Chcesz dodać follow-up? Przeciągnij 1 raz. Wow!!!

Błąd z dostępem do CRM Online – „Your organization has moved”

Ostatnio pojawiły się błędy z dostępem do CRM Online. Użytkownicy nie mogą się zalogować, a część z nich może losowo dostawać komunikat „Your organization has moved„. Oczywiście nie ma co panikować – nikt nie przeniósł, ani nie usunął danych :).

Microsoft jest świadomy tego błędu i od razu przygotował sposób jego rozwiązania, aby zminimalizować jego skutki. Tutaj jest KB, które tłumaczy jak obejść problem http://support.microsoft.com/kb/948661. Na początku KB było tylko dla użytkowników centrów danych w USA, ale już wiadomo, że działa także w Europie.

Update Rollup 6 wycofany na co najmniej 5 dni!

Oj, dzieje się. Kilkanaście godzin po publikacji Update Rollup 6, Microsoft wycofał go ze swoich stron. Powodem jest problem, który uniemożliwia użytkownikom synchronizację z klientem offline dla Outlook, jeśli mają co najmniej jeden termin cykliczny. Przewidywana data przywrócenia Rollup’a do internetu to 2012-01-17.

Najgorsze w wypadku UR6 jest to, że nie może być odinstalowany. Nie sądzę, żeby Klienci na wersję on-premise instalowali poprawki na swoich systemach produkcyjnych kilka godzin po ich publikacji. Problem mają użytkownicy CRM Online, na których środowiskach pojawił się już UR6. Nie będą mogli synchronizować danych offline do najbliższej poprawki. Ot, cloud computing :).