čtvrtek 4. prosince 2014

CRM 2015

Microsoft oficiálně uvedl novou verzi Dynamics CRM. Pojďme se podívat, co přinese zejména uživatelům.

Microsoft loni touto dobou uvedl na trh CRM 2013, které přineslo revoluční změny v uživatelském prostředí. Nyní - rok poté - uvádí verzi označenou CRM 2015, která je sedmou verzí Microsoft CRM. Nové CRM přináší mnoho drobných změn, které mají zpříjemnit život uživatelům a správcům. Také přinesl integraci s mnoha dalšími systémy. V tomto článku se podíváme především na novinky relevantní pro české uživatele.

Navigace

Systém navigace, bohužel pro mnohé uživatele poněkud nepřehledný, zůstává stejný. Mírně se změnila organizace, přibyly odkazy na nové funkce. Z pohledu stávajících uživatelů není podstatné, protože při upgradu zůstává zachováno původní rozložení.

Hledání napříč entitami

K dispozici je vyhledávání napříč entitami, které bylo dříve k dispozici pouze jako instalovaný doplněk partnerů. Drobné ale velmi užitečné a dlouho očekávané vylepšení. Bohužel funguje maximálně pro 10 entit, které si můžete vybrat. V daných entitách vyhledává v polích definovaných pro Quick Find.
Nové hledání napříč entitami je k dispozici z horního panelu, stejně jako tam přibyl odkaz na Rozšířené hledání.


Vlastní nápověda

CRM umožňuje připojit vlastní soubory nápovědy (webová stránka). Nápovědu lze připojit k entitám + globální nápověda. Soubory nápovědy lze dále přizpůsobovat na základě parametrů (jazyk, odkud bylo otevřeno ad.) Tuto možnost přivítají především zákazníci s vysoce customizovanými řešeními (xRM). K dispozici zatím pouze pro webové rozhraní.


Hierarchie

Nové hierarchické zobrazení umožňuje vizualizovat struktury nadřazený-podřazený záznam. První verze má mnoho omezení:
  • Pouze v rámci jedné entity.
  • Pouze vztahy 1:N
  • Zobrazí maximálně 4 pole
Přesto se jedná o velmi povedený start! K dispozici je pro 15 systémových entit (např. Obchodní vztah, Organizační jednotka, Uživatel, Kontakt). Je možné zapnout i pro vlastní entity.



Pro účely hierarchií je možno/nutno označovat vztahy 1:N jako hierarchické. Tyto vztahy nelze zacyklit. Pomocí těchto vztahů je možné v rámci vyhledávání nalézt všechny podřazené záznamy včetně vnoření.


Rychlé vytvoření záznamu

V rámci rychlého vytvoření záznamu (novinka v CRM 2013, dostupné z horní lišty) lze vytvořit další nový záznam.

Hierarchický model zabezpečení

Microsoft CRM od začátku nabízelo velmi propracovaný model zabezpečení ve vysoké granularitě. Standardně nabízelo možnost nastavit oprávnění uživatelů k (1) různým akcím, (2) nad jednotlivými entitami, (3) na základě jejich zařazení do konkrétní organizační jednotky. Na základě těchto nastavení je možné přidělit uživateli oprávnění ke čtení záznamů, jejichž vlastníkem je kolega v jejich anebo podřízené organizační jednotce. Zní to logicky, ale použitelnost byla horší a vedla ke kostrbatým řešením.

Příklad: Pokud vedoucího oddělení zařadíme do organizační jednotky k podřízeným, bude mít stejná práva jako oni (možná příliš malá). Pokud ho zařadíme do nadřazené jednotky, bude mít stejná práva jako management zařazený do nadřazené jednotky (možná příliš vysoká). Můžeme mu vytvořit vlastní org. jednotku, to ale není příliš systémové. A to vůbec nemluvím o situacích z praxe, kdy je nadřízeným pracovník z jiného oddělení atp.

Nyní je možné volitelně řídit přístup k datům i na základě pole Nadřízený uvedeného v záznamu uživatele, které mělo doposud pouze evidenční charakter. Po zapnutí hierarchického modelu získává přímý nadřízený zaměstnance k jeho záznamům práva Číst, Zapisovat, Připojit a Připojit k. Nadřízení nadřízeného pak získávají právo Číst - zejména pro reportování (sestavy, grafy).

Poznámky:
  • Je možné vypnout pro jednotlivé entity.
  • Hloubku, do které se hierarchická oprávnění provedou, lze omezit. Hloubka větší než 4 úrovně může výrazně zpomalit systém.
  • Celý tento model lze definovat obecně; např. ředitel marketingu je nadřízeným manažera reklamy; nikoliv Pepa je nadřízeným Tondy. K těmto obecným pozicím se potom přiřazují konkrétní uživatelé. Mj. to umožňuje mít více osob na pozici manažera, tj. s přístupem k datům určité skupiny podřízených.
  • Strukturu Uživatelů nebo Pozic lze snadno zobrazit pomocí výše zmíněné funkcionality zobrazovaní hierarchií.
Jedná se o užitečné a smysluplné rozšíření funkcionality MS CRM, které nenarušuje stávající model, ale rozšiřuje ho. Při návrhu nového systému je potřeba věnovat dostatečnou pozornost modelu zabezpečení, aby efektivně a smysluplně využíval dostupné možnosti. Připomeňme, že dalšími dostupnými nastaveními jsou sdílení záznamu, oprávnění na základě přístupových týmů (napříč organizační strukturou) a zabezpečení jednotlivých polí (nyní nově konečně funguje i u systémových polí).

Větvení Business Process Flow

Funkcionalita Business Process Flow (Tok obchodního procesu), představená v CRM 2013 jako grafické znázornění reálného business procesu probíhajícího nad entitou, doznala vylepšení, která dělají z líbivé funkcionality něco skutečně užitečného.


Na obrázku výše je příklad z entity Případ (ticket, incident, service request). Nově je možné nastavit větvení tohoto procesu na základě vyplněných údajů a mít různé scénáře jeho průběhu.


Synchronizace s Outlookem

Významných vylepšení doznala synchronizace dat mezi Outlookem a CRM. Automaticky je synchronizováno více polí. Je možné nastavit synchronizaci jednotlivých polí a například zabránit synchronizaci neveřejných polí. Možnost přiřadit úkoly jinému uživateli přímo z Outlooku a sledovat jejich plnění. Připomínáme, že od verze 2013 je dostupná přímá synchronizace CRM s Exchange serverem a CRM úkoly tak doputují nejen do Outlooku, ale i do mobilu a webového klienta.

Vypnutí okna seznámení

Možnost provést na systémové úrovni. Nejmenší změna s největším ohlasem. Konečně! S touto slečnou bude tedy možné se natrvalo rozloučit.


Tablety

Aplikace pro tablety doznala několika vylepšení a to především:
  • Aplikace je i v češtině.
  • Aplikace umí ukládat záznamy i v Off-line režimu.
  • V aplikaci je (zatím pro testování) povoleno vkládat prvky IFRAME, tedy zobrazení jiné webové stránky uvnitř CRM (na Dashboardu nebo formuláři záznamu).

Upgrade CRM Online

Nově účty v CRM Online jsou již zakládány v CRM 2015. Stávající účty CRM Online budou převáděny od ledna 2015. Na rozdíl od minulého převodu musí termín převodu naplánovat administrátor (nebude dán žádný výchozí termín) a pro převody je mnohem delší prostor (jeden rok).


Novinky, které se týkají menších okruhů uživatelů, vám budeme přinášet průběžně v dalších článcích.


pondělí 21. července 2014

Největší novinky v CRM 2013

Microsoft Dynamics CRM 2013 je k dispozici od minulého podzimu a noví uživatele ho již využívají, stejně jako uživatelé pracující ve verzi OnLine, kteří byli povinně převedeni na novou verzi na přelomu roku. Uživatele OnPremise verzí se ale k přechodu na novou verzi staví zdrženlivě. Přinášíme vám proto přehled největších novinek v CRM 2013 z pohledu uživatele.

UI, navigace, menu

Největší změnou v novém CRM je vzhled a ovládání aplikace, které po letech drobných evolučních úprav doznalo revolučních změn. Kompletně přepracované uživatelské prostředí přináší rychlejší ovládání, rychlejší odezvy systému, více prostoru pro podstatné informace a lepší podporu pro mobilní a dotyková zařízení. Vzhledem ke zcela změněnému konceptu také přineslo nejvíce averze u uživatelů zvyklých na předchozí verze CRM.

Navigační menu je zobrazeno velmi minimalisticky v podobě tzv. drobečkové navigace, která nám ukazuje nadřazené položky (tedy cestu kudy jsme pravděpodobně přišli).

Při kliknutí na jednotlivé položky drobečkové navigace se směrem dolů vysune seznam podřízených objektů. Po kliknutí na první položku (CRM) to jsou hlavní sekce (Prodej, Servis, Marketing). Při kliknutí na Prodej se zobrazí seznam entit Prodeje. Po kliknutí na konkrétní entitu, např. Obchodní vztah, se zobrazí seznam posledních otevřených záznamů. A konečně při kliknutí na název entity zobrazí seznam souvisejících (navázaných) entit.

Menu příkazů k ovládání záznamů se změnilo z tzv. Ribbonu, typického především pro MS Office, na nový Command Bar, který nabízí jednoduše pět základních akcí zobrazených vedle sebe. Mělo by jít o akce, které jsou v danou chvíli pro uživatele nejrelevantnější. Ostatní akce jsou schované pod třemi tečkami na konci menu.
Nové prostředí taktéž neotvírá vše do nových oken, ale naopak zobrazuje vše v původním okně. Záznam může být do nového okna otevřen na požádání.

Ikona špendlíku slouží pro snadné nastavení aktuálního pohledu jako výchozího pohledu.

Auto-Save

Nové CRM 2013 přináší na formuláře Auto-Save, tedy automatické ukládání provedených změn. Uživatel musí záznam vědomě uložit pouze při jeho vytváření. Dále je záznam ukládán automaticky každých 30s a při opuštění formuláře. CRM tak snižuje počet kliknutí, které uživatel musí při editaci udělat. Dále garantuje, že uživatel v nové navigaci neopustí záznam bez uložení. Auto-Save je defaultně zapnutý, ale lze ho vypnout.

Tok obchodního procesu

Koncept obchodních procesů (Business Process Flow) byl představen již dříve, nyní je však dostupný pro všechny běžné entity. Tok obchodního procesu umožňuje vést a kontrolovat průběh zejména u rutinních standardizovaných firemních procesů. Uživatel je veden jednotlivými kroky pomocí grafického znázornění, které mu říká, co je v danou chvíli potřeba udělat nebo vyplnit, takže na nic nezapomene.

Sociální panel

Sociální panel známý z předchozí verze CRM jako Zeď záznamu dostal v novém CRM více prostoru. Panel zobrazuje veškeré změny, které se na záznamu staly včetně možnosti přidat ruční komentář. Je to samozřejmě obdoba facebookového newsfeedu a má uživateli přinášet pohledy na všechny důležité události související se záznamem. V novém CRM je Sociální panel standardně umístěn v prostřední sloupci formuláře společně s aktivitami a poznámkami. CRM lze nově propojit i na podnikovou sociální síť Yammer (nedávná akvizice Microsoftu) a v tom případě se na tomto místě zobrazují přímo posty systému Yammer.

Formulář pro rychlé vytvoření

Výrazné tlačítko „+“ v horním pruhu aplikace umožňuje rychle vytvořit nový záznam pro jednu ze zvolených základních entit (např. nový kontakt, zájemce nebo aktivitu), a to i uprostřed práce na jiném záznamu. Tzv. Formulář pro rychlé vytvoření (Quick Create Form) je zjednodušený formulář, který obsahuje základní pole a je upravitelný správcem systému. Tlačítko pro vytvoření je v CRM vždy dostupné, po kliknutí zobrazí jednoduchý výběr entit a vlastní pořízení se odehraje na zjednodušené formuláři, který seshora překryje aktuální webovou stránku. Po vytvoření záznamu se uživateli vrací k práci tam, kde přestal. Ideální pro vytvoření záznamu telefonátu, úkolu, případu, zájemce a dalších entit, které přicházejí náhle a vyruší nás od probíhající práce.

Formulář pro rychlé zobrazení

Formulář pro rychlé zobrazení (Quick View Form) umožňuje zobrazit pole z jedné entity na formuláři entity druhé, která je na ni navázána. Takto můžeme například na Nabídce vidět vybrané informace Obchodním vztahu (třeba důležitost zákazníka).
Zobrazení informací z jedné entity na druhé byl velmi častý požadavek na úpravu při implementaci CRM. Formuláře pro rychlé zobrazení to umožňují provést snadněji a při tom komfortněji pro uživatele (např. lze klikat na pole typu look-up).

Synchronní pracovní postupy

Synchronní pracovní postupy (Real-Time Workflows) umožňují spouštět CRM workflow v reálném čase. Workflow umožňují provést nějakou operaci (aktualizovat záznam, jeho stav, přiřadit ho někomu jinému, odeslat email ad.) v návaznosti na akci uživatele (vytvoření, změna záznamu) nebo na vyžádání. Workflow představují mocný nástroj, ale až do verze 2011 byly pouze asynchronní, což znamená, že workflow nebyla provedena okamžitě, ale až když na to měl server čas, zjednodušeně řečeno. To mohlo být pro uživatele v některých případech matoucí, protože daná akce nebyla provedena okamžitě, ale až po nějaké (náhodné) době.
V novém CRM je možné workflow nastavit, že budou provedena okamžitě. To sice může zvýšit zátěž serveru, ale v některých případech to přináší vyšší uživatelský komfort.


Obrázky a text částečně přejaty z anglického originálu:
http://www.powerobjects.com/blog/2013/09/06/top-10-new-features-of-crm-2013/


středa 30. října 2013

Stavy záznamů v CRM

Stavy a důvody stavu záznamu jsou speciální systémová pole obsažená ve většině entit v Microsoft Dynamics CRM. Jsou jedním z jeho důležitých funkčních prvků a umožňují využívat systém efektivněji – rychleji a správněji. Přesto jsou často opomíjeny. Proto si dnes stavy, důvody stavu a jejich používání přiblížíme.

Většina systémových entit a všechny vlastní entity používají stavy a mají dva základní stavy:
  • Aktivní (Active)
  • Neaktivní (Inactive)
Aktivní stav je ten základní, běžný. Neaktivní stav představuje něco jako Archiv – záznam sice evidujeme a lze ho zpětně dohledat, ale už s ním nepracujeme (nemůžeme ho měnit, nezobrazuje se v defaultních zobrazeních).

Uvedené stavy nejde měnit (přidat, odebrat, změnit název). Jejich existence a používání vychází vlastně z předpokladu a obecného doporučení, že záznamy je vždy lepší deaktivovat než mazat. Záznamy by měly být mazány v pouze zcela výjimečných případech – např. záznam špatně zvoleného typu vytvořený před pěti minutami.

Záznam uděláme neaktivní kliknutím na tlačítko Deaktivovat, které je vedle tlačítka Uložit. U neaktivního záznamu je zpravidla na stejném místě tlačítko Aktivovat, kterým záznam opět aktivujeme.

Důvod stavu

Důvod stavu je jakýsi podstav či upřesnění hlavního stavu (aktivní/neaktivní). V anglické verzi jsou tato dvě pole nazvána obdobně jako v češtině: Status a Status Reason. Matoucí však jsou interní systémové názvy, které jsou pro Status „statecode“ a pro Status Reason „statuscode“. Běžné uživatele to však netrápí.

Obvykle má každý z hlavních stavů jeden důvod stavu se stejným jménem.
  • Aktivní
    • Aktivní
  • Neaktivní
    • Neaktivní
V takovém případě není nutné/možné s důvody stavu pracovat – žádnou další informaci nepřidávají.

Je však možné je upravovat a vyrobit si tak pro záznam větší množství stavů. Níže uvádím možný příklad pro smyšlenou vlastní entitu Reklamace:
  • Aktivní
    • Přijatá
    • V řešení
  • Neaktivní
    • Uznáno
    • Zamítnuto
Pole důvod stavu tak umožňuje evidovat a sledovat životní cyklus konkrétního záznamu v návaznosti na reálné firemní procesy. Mezi důvody stavu aktivního záznamu je možné přepínat pomocí picklistu (combobox/rozevírací seznam možností), který lze přidat na formulář, jako by to bylo obyčejné pole. Pokud má entita více důvodů stavu pro neaktivní stav, je výběr důvodu stavu nabídnut dialogovým oknem při deaktivaci záznamu tlačítkem v Ribbonu.


CRM nijak neomezuje možnosti přepínání mezi stavy a důvody stavů. Programátorskými úpravami je možné napevno vynutit zadaný firemní proces (např. následnost stavů). Většinou to však není vhodné, protože pak v praxi existuje řada výjimek.

Entity se speciálními stavy

Některé entity, které představují záznamy základních obchodních firemních procesů, mají sadu stavů pestřejší a jejich ovládání se provádí prostřednictvím připravených tlačítek v Ribbonu (horním pruhu nástrojů). Jedná se především o entitu Zájemce, Příležitost a entity představující ekvivalent tištěných dokladů – Nabídka, Objednávka a Faktura.

Tato pětice tvoří sled logicky navazujících entit pokrývajících celý obchodní proces. A zejména první tři entity jsou to, co zpravidla chybí ERP systémům, co je stěžejní částí Microsoft CRM a důvodem, proč si jej firmy pořizují. Silnou stránkou Microsoft CRM jsou nejenom díky jejich samotné existenci ale i díky velmi kvalitnímu zpracování. Stavy a důvody stavu jsou nedílnou součástí těchto entit a umožňují ze systému vytěžit maximum užitku. Jejich neznalost naopak uživatele ochuzuje o mnoho výhod. Je proto více než vhodné se s nimi seznámit a aktivně je používat.

Jako možné nevýhody se jeví jejich počáteční složitost a též občasné nevhodné překlady z angličtiny.

Zájemce (Lead)

Pomocí stavů a důvodů stavů můžeme klasifikovat aktivní i neaktivní zájemce. Deaktivaci provedeme kliknutím na tlačítko Zařadit, kde vybereme konkrétní stav a důvod stavu (viz níže) a případně můžeme vytvořit i další záznamy na základě získaného zájemce.
  • Otevřeno (Aktivní)
    • Nový
    • Kontaktováno
  • Zařazeno (Neaktivní)
    • Zařazeno
  • Vyřazeno (Neaktivní)
    • Ztraceno
    • Nelze kontaktovat
    • Již nemá zájem
    • Zrušeno

Příležitost (Opportunity)

Stavy u příležitosti fungují velmi podobně jako stavy u zájemce – záznamy klasifikujeme na otevřené, úspěšně uzavřené a ztracené. K uzavření slouží opět tlačítka v menu – tentokráte dvě. Kromě označení důvodu stavu je možné i doplnit další údaje o tomto aktu, použitelné pro statistické vyhodnocování.

Sledování populární pipeline obchodní příležitosti – často znázorňovanou grafem typu funnel (trychtýř) – je možné realizovat pomocí pole Důvod stavu otevřené příležitosti. Komplexní řešení této problematiky však už vyžaduje programátorské úpravy.

Z pohledů firemních procesů je důležité stanovit, ve kterém momentu je příležitost považována za vyhranou. Může se to velmi lišit dle charakteru prodávaného produktu/služby, ale také dle pojetí entity Příležitost v konkrétní implementaci – její forma se může lišit od „poptávky“ až po „projekt“. Momentem vyhrané příležitosti pak může být přijetí objednávky, podpis smlouvy, vystavení faktury, podpis akceptačního protokolu atp.
  • Otevřeno (Aktivní)
    • Probíhající
  • Získáno (Neaktivní)
    • Získáno
  • Ztraceno (Neaktivní)
    • Zrušeno
    • Vyprodáno

Nabídka (Quote)

Stavy nabídek jsou již komplikovanější. Situaci navíc zhoršují ne vždy zcela šťastné překlady z angličtiny i rozpor mezi terminologií CRM a skutečným stavem nabídky v reálném světě. Podívejme se nejdříve na hierarchii stavů nabídky:
  • Koncept (Aktivní)
    • Probíhající
  • Aktivní (?)
    • Probíhající
    • Otevřeno
  • Získáno (Neaktivní)
    • Získáno
  • Uzavřeno (Neaktivní)
    • Ztraceno
    • Zrušeno
    • Opraveno
První stav „Koncept“ představuji logicky fázi, kdy nabídka vzniká, upravuje se a ladí. Jediný důvod stavu Probíhající není vhodně pojmenován (nevhodný překlad anglického „In Progress“) a není od věci ho přejmenovat taktéž na „Koncept“.

Stav Aktivní označuje situaci, kdy byla tvorba nabídky dokončena a odeslána/prezentována zákazníkovi. Nabídka tedy „leží na stole“ a my čekáme na vyjádření zákazníka. Nabídka je aktivní v tom smyslu, že je „již aktivní“ v reálném světě, že s ní ještě budeme pracovat a že o takovýchto nabídkách potřebujeme mít neustálý přehled. Nicméně aktivní nabídku již není možné editovat – nemůžeme měnit to, co již „odešlo“, nemůžeme vytvářet rozpor mezi našimi daty a skutečností. Nabídka je tedy uzamčena pro úpravy a jeví se, byť ve stavu Aktivní, jako neaktivní.

Aktivní stav nakonec přepneme do konečných stavů podobně jako u předchozích entit – úspěšné, nebo neúspěšné.

Již aktivovanou nabídku je možné i upravit/opravit. Nicméně při tomto kroku se Vám vytvoří její nová verze (kopie původní nabídky ve stavu koncept) a původní nabídka je přepnuta do stavu Uzavřeno – Opraveno. Původní nabídka tedy již v CRM zůstane – ve stavu, v jakém byla při první aktivaci. A s každým dalším kolečkem aktivace-oprava se vytvoří další kopie.

Veškeré operace se provádí opět z horního pruhu nástrojů. Všechna tlačítka jsou viditelná, ale často neaktivní – to vynucuje určité postupy. Koncept je možné pouze aktivovat. Aktivovanou nabídku je možné opravit, uzavřít (pouze jako neúspěšnou) nebo označit jako získanou, což se dělá pomocí funkce vytvoření objednávky. Pokud chce někdo uzavírat nabídky jako získané bez vytvoření objednávky, je nutné vytvoření workflow nebo programátorská úprava. Nicméně vytvoření objednávky je ve většině firem logický následující krok. CRM nám navíc umožňuje i automaticky uzavřít přidruženou příležitost a uzavřít tak z jednoho místa více záznamu, jakožto i jednu logickou část obchodního procesu. Je to příjemná funkcionalita, není však povinná – třeba pro případy, kdy se jedná o dílčí nabídky velké nebo dlouhodobé příležitosti.

Objednávka (Order)

Stavy objednávek jsou podobně strukturované jako u nabídky. Defaultní stavy a jejich důvody umožňují velmi podrobně členit fáze, které v praxi mohou proběhnout během deseti minut.
  • Aktivní
    • Nový
    • Nevyřízeno
  • Odesláno
    • Probíhající
  • Zrušeno
    • Chybí peníze
  • Splněno
    • Dokončeno
    • Neúplná
  • Fakturováno
    • Fakturováno
Důvod stavu „Nový“ patří vytvářené objednávce. „Nevyřízeno“ nám může značit stav, kdy je objednávka v systému sestavená/připravená, leč ještě neodešla zákazníkovi (potažmo do výroby či jiného procesu) a je stále otevřená pro úpravy. „Odesláno/Probíhající“ značí stav, kdy zákazník obdržel potvrzení objednávky a my vyřizujeme vlastní předmět objednávky (výroba, nákup, dodání).

Pro zrušené objednávky máme jeden připravený důvod stavu „Chybí peníze“ (možná příliš specifický). Splněné objednávky můžeme dělit na splněné zcela i částečně. Poslední stav/důvod „Fakturováno“ je sympatický, ale použitelný pouze v podnikáních, kde se fakturace (alespoň finální) provádí vždy až po dodání, navíc kompletním. V ostatních případech by se stavy vzájemně křížily – nedávaly smysl.

Faktura (Invoice)

Ač Microsoft CRM obsahuje systémovou entitu Faktura, která logicky ukončuje celý sled dokladů, není fakturace pro CRM klíčovou funkcionalitou. V reálných implementacích většinou kompetence CRM končí u objednávky nebo dokonce pouze u nabídky a fakturace je řešena v účetním nebo ERP systému. Stavy a důvody stavu u faktur pro úplnost uvádím, ale pouze výčtem bez dalšího komentáře. Přepínání mezi stavy je řešeno jako u předchozích dokladů tlačítky v horním menu.
  • Aktivní
    • Nový
    • Částečně dopraveno
    • Fakturováno
    • Rezervováno (platí pro služby)
    • Instalováno (platí pro služby)
  • Uzavřeno (neschváleno)
    • Zrušeno (neschváleno)
    • Zcela zaplaceno (neschváleno)
  • Zaplaceno
    • Dokončeno
    • Neúplná
  • Zrušeno
    • Zrušeno

středa 27. února 2013

Práce s více měnami v Microsoft CRM

Práce s více měnami je u firem v malé a otevřené ekonomice, jako je ta česká, častým požadavkem na CRM. Microsoft Dynamics CRM práci s více měnami podporuje. Snaží se přitom tvářit navenek velmi jednoduše a transparentně, přestože procesy na pozadí úplně triviální nejsou. Jejich lepší pochopení umožňuje eliminovat množství omylů a překvapení při používání CRM. Následující obsah článku je volným překladem anglického originálu na toto téma: http://andrewbschultz.com/2011/08/15/crm-2011-multi-currency-limitations-and-workarounds-part-1-exchange-rate-updates/

Již Microsoft Dynamics CRM 4.0 představilo podporu více měn. Funkcionalita vypadala následovně:
  • Pro organizaci byla zvolena „Základní měna“ během instalace.
  • Uživatel si mohl změnit jeho „Výchozí měnu“, což znamenalo, že peněžní částky zadával defaultně v této měně, ač ji mohl manuálně pro každý záznam změnit.
  • Pokud uživatel zadal peněžní údaj v jiné než základní měně systému, systém vypočítal vyjádření této částky i v základní měně a uložil tuto hodnotu také – do dalšího pole, které uživatel běžně nevidí. To umožňuje vytvářet souhrnné reporty nad záznamy ve více měnách (např. tržby z celého světa).
Tohle vypadá docela dobře, že? V teoretické rovině není, co od toho požadovat více. Bohužel v reálném světě, jak to obvykle bývá, některá úskalí tohoto systému existují.

Změny směnných kurzů

Všem je jasné, že kurzy měn, u všech normálních zemí, kolísají. Ač je to neustálý proces, firmy obvykle aktualizují kurzy jednou týdně nebo jednou měsíčně. To obvykle stačí. Směnné kurzy jsou v CRM uloženy v záznamech entity Měna.



Velmi jednoduché. Změníte jednou za měsíc kurzy všech používaných měn. Ale co se stane s již vytvořenými záznamy, na kterých je měna použita?

Například máme vytvořenou Příležitost v Eurech. Co se s ní stane, když koruna posílí? Nejdříve si popišme, jak jsou na formuláři zpracovány měny a kurzy. Každý formulář, na kterém je pole typu měna (peněžní částka), obsahuje 4 pole zahrnuté do jejich obsluhy.
  1. Vlastní pole s peněžní hodnotou.
  2. K němu párové pole, v němž bude tato hodnota vyjádřena v základní měně systému, a které je vytvořeno automaticky pro každé peněžní pole na formuláři.
  3. Měna – lookup pole na entitu Měna. Přidá se automaticky na každou entitu, která obsahuje pole s peněžní hodnotou.
  4. Směnný kurz – desetinné číslo, který vyjadřuje směnný poměr mezi základní měnou a měnou zvolenou pro tento záznam.
Důležité je si všimnout, že záznam má pouze jedno pole Měna a jedno pole Kurz.

 
 
Např. při vytvoření příležitosti v jiné než základní měně proběhne následující scénář:
  1. Nastavím měnu na Euro.
  2. Zadám částku do daného pole, např. Odhadované výnosy.
  3. Uložím záznam. Během ukládání proběhne:
    1. Hodnota Kurzu je naplněna aktuální hodnotou kurzu z entity Měna.
    2. Je vypočítána hodnota odhadovaných výnosů v korunách a uložena do druhého pole.
    3. Obojí proběhne bez ohledu na to, zdali jsou pole měna a částka v základní měně na formuláři nebo ne.
Poté dojde ke zmíněnému posílení koruny. Co se stane s příležitostí? Nic. Alespoň ne okamžitě. Pole Kurz na záznamu není automaticky změněno při změně kurzu měny (nastaveném na Měně). Ale jakmile změním jakékoliv peněžní pole na záznamu, je při uložení záznamu dotažena nová hodnota kurzu a přepočítány částky v základní měně pro všechna peněžní pole. K tomuto přepočtu dojde také při změně stavu záznamu (jako např. de/aktivace záznamu).

Proč tomu tak je?

Zdálo by se, že bude lepší, aby se přepočítaly hodnoty všech otevřených záznamů okamžitě po centrální změně kurzu v systému. Aby k přepočtu došlo co nejdříve, protože měníme pouze vyjádření částky v základní měně. Nijak to neovlivní skutečné částky uvedené na fakturách, nabídkách a dalších. Proč tedy nedojde ke změně co nejdříve, abychom měli co nejdříve aktuální data pro reportování?

Nyní jde pouze o domněnky, ale dobré důvody pro tento mechanismu existují. Jedním z nich je, že nechcete, aby docházelo k aktualizaci záznamů, které se již nemají měnit – např. faktury z minulého roku. Byla vyfakturována daná částka v cizí měně, což pro nás znamenalo určitý výnos v naší měně. Současná změna kurzu na tom již zpětně nic nezmění. Proto k tomu nedochází ani v systému.
Můžete namítnout, že by mohlo dojít pouze k aktualizaci aktivních záznamů. To by však kladlo přílišné nároky na uživatele. Víme sice, že nepoužívané ukončené záznamy by měly být deaktivovány, uživatelé to ale bohužel ne vždy dělají.

Dalším argumentem může být, že u velkých firem by změna mohla ovlivnit třeba desetitisíce záznamů (hlavičky i řádky faktur, nabídek, poptávek, příležitostí ad.). Taková změna by se určitou dobu prováděla, musela by běžet asynchronně, po dobu provádění by byla data nekonzistentní, otázkou jsou i zásahy do záznamů během provádění této změny.




V souhrnu zopakujme, co je vhodné zapamatovat si z článku:
  • Jeden záznam může obsahovat více peněžních polí, ale všechny pouze v jedné měně.
  • Pro účely souhrnů nad více záznamy jsou všechny částky uloženy ještě v základní měně systému.
  • K přepočtu částek do základní měny nedochází okamžitě při změně kurzu měny, ale až po úpravě některého z peněžních polí na záznamu nebo při změně jeho stavu.
K tomu ještě připojuji:
  • Změna stavu záznamu provede přepočet hodnot v základní měně pro všechna peněžní pole na záznamu, ale již to neprovede pro podřazené položky/produkty (Příležitost, Nabídka, Objednávka, Faktura). To může být v některých případech nešťastné – vznik nekonzistencí (součet výnosů jiný než celkový výnos) nebo náročné na opravu (po položkách).
  • Na těchto záznamech je také tlačítko Přepočítat. Lze pomocí něho znovu přepočítat Celkovou částku. Celková částka se přepočítá i při uložení. Aby se záznam uložil, musí se změnit některé z polí. Tlačítkem Přepočítat přepočet vynutíme i bez změny pole. Tlačítko Přepočítat pouze obnovuje Celkovou částku, ale přepočet do základní měny přímo nespouští. Pouze pokud se přepočtem změní Celková částka, je změněno peněžní pole a obnoví se kurz měny atd. Pokud je součet stejný, nezmění se nic. Navíc tlačítko v žádném případě neovlivní cokoliv na jednotlivých položkách.



Customizátoři CRM v češtině musí dávat pozor ještě na nevhodně volenou terminologii, které jsem se při překladu tohoto článku snažil vyhnout.

V CRM je systémová entita „Měna“ („Currency“), jejíž záznamy představují jednotlivé měny používané ve firmě (např. CZK, EUR, USD). Na záznamu Měny definuje její název, symbol, počet používaných desetinných míst a především směnný kurz (pozor, může být i v nepřímém tvaru, tj. 1 CZK = 0,04 EUR).

Problémem je, že typ pole na formuláři, které má obsahovat peněžní částku, je bohužel nazváno také „Měna“ (anglicky „Money“), ačkoliv přesnější by bylo „Peníze“, „Částka“, „Peněžní hodnota“ nebo něco podobného.

pátek 1. února 2013

Dynamics CRM v Chromu, Firefoxu nebo Safari již pro všechny

Po krátkém zdržení oproti Online verzi se 29. ledna objevily ke stažení všechny součásti očekávané aktualizace Update Rollup 12 i pro On Premise verze. Přestože na webu v popisu je uvedeno číslo verze 5.0.9690.3233, po instalaci zjistíte, že verze má ještě "novější" číslo než CRM Online, což svědčí o nutnosti vytvořit nový "build".

Mezi drobnými změnami mě potěšila změna barev a tím lepší čitelnost polí, která jsou "disabled". I když jsem to nijak neřešil, několikrát jsem si v minulosti uvědomil, že jsou  ta pole špatně čitelná.

Při nasazení nejnovější verze je třeba si dát pozor na starší javascripty na formulářích. Syntaxe verze 4.0 přestává fungovat. V Nastavení systému/Vlastní nastavení naleznete 2 nové předvolby, které se týkají zpětné kompatibility javascriptů a nových vlastností prohlížeče Internet Explorer 10. Ty pomohou překlenout období přechodu mezi verzemi.