Essence s.r.o. Microsoft partner Business Central Customizace (úpravy) Zakázkové úpravy v Business Central * Zadání zákazníka – zadání a cíle * Analýza se zákazníkem – definice Akceptačních kritérií * GAP-FIT analýza a návrh řešení – modelování řešení * Nabídka a akceptace řešení * Vývoj úprav Zákaznická úprava, Modul, Dokumentace * Publikace na TEST server a LIVE server Zakázkové úpravy v Business Central Zadání zákazníka * Dobré / špatné zadání – v jednoduchosti nemusí být síla př.: „ ..ať se nám do řádků někam zapíše, že jsou ceny neplatné..“ * Zákazník jako tvůrce zadání / analýzy / návrhu – představa usnadnění práce konzultantovi. * Správné zadání zákazníka definuje cíle, kterých je potřeba dosáhnout. Nejlépe pomocí konkrétních pojmů: př.: „ ..potřebujeme zjistit procento ziskovosti zakázek ..“ * Úkol konzultanta: zjistit cíle a důvody zák. požadavku * Analýza se zákazníkem * Vyjasnění si cíle úprav – nejvíce podceňovaná část. * Odradit zákazníka od úkolů analytika, návrháře a znalce systému a nastavit ho do role budoucího uživatele. * Vysvětlení pojmů a jednoznačného zadání. př.: konto vs. účet * Úkol konzultanta: Stanovit akceptační kritéria a budoucí proces * Př.: Zákazník analytikem Př.: Stanovení akceptačních kritérií GAP-FIT analýz a návrh řešení * 1. kolo: pokus o projití akceptačních kritérií standardní cestou. * 2. kolo: pokud nelze vůbec použít standard, pak všechna možná řešení s co možná největším využitím standardu. * 3. kolo: stanovit budoucí proces a odchylky * Úkol konzultanta: Návrh budoucího procesu s definicí případných změn v systému * GAP-FIT analýza: aplikace standardu Nové kroky vložené do standardního procesu GAP-FIT analýza: fáze brainstormingu GAP-FIT analýza: design modulu GAP-FIT analýza: prezentace modulu Návrh řešení zákazníkovi, akceptace, rozpočet * Jedná se ve finále o návrh smlouvy o dílo. * Musí obsahovat: - zadání zákazníka a stanovení cíle - analýzu a návrh akceptačních kritérií - návrh budoucího procesu a potřebných úprav - časovou / finanční náročnost úprav Pozn.: větší návrhy je dobré osobně předvést a vysvětlit * Úkol konzultanta: Vytvořit zákazníkovi návrh řešení a získat akceptaci řešení * Vývoj úprav – zákaznické rozšíření (extension) * Řešení postavené na rozšíření standardních procesů. * Rozšiřují se zejména reakce na vložení hodnot do pole (Validace), vytváření nových funkcí, rozšiřování polí na stránkách, tvorba nových reportů. * Zákaznické rozšíření je určeno jen pro jednoho konkrétního zákazníka a je často nepřenosné do jiného řešení. * Úkol vývojáře: Co nejlépe se napojit na existující standardní triggery * Systémové a procesní triggery * Systémové – napojení na události záznamů: OnBeforeInsertRecord, OnModifyRecord, OnDeleteRecord * Systémové – napojení na změny polí: OnAfterValidate, … * Systémové – napojení na události Page * Procesní triggery – napojení na události v procesech (Event subscriber) Systémové a procesní triggery Vývoj úprav – modul (extension) * Řešení postavené na vytvoření celého nezávislého modulu. * Vytváří se celé nové objekty: tabulky (uchování dat), stránky (zobrazení dat), codeunity (funkce a procedury), reporty, xmlporty … * Modul by měl být směřovat k opakovanému použití a měl by obsahovat standardizovanou „modulární“ architekturu. * Úkol vývojáře: Zpracovat modul tak, aby se co nejvíce „tvářil“ jako standardní aplikace – velmi podobná filozofie * Struktura modulu Příloha: vše co jste se naučili jako „standard“ by mělo být i vaším standardem * Následujících pár stránek připomíná to, co již víte, ale je dobré si to připomenout J Základní zobrazení: Karta – vzor pro Extension „Fasttab“ sekce, která zobrazuje klíčové informace z dané záložky, aby jste ji nemuseli pořád otevírat Záložka sdružující informace dle oblastí Needitovatelná pole jsou šedá Základní zobrazení: Karta – jak vidět více (menu, fasttabs) Více funkcí Klikněte na záložku pro více detailů Zobrazit ještě více polí Základní zobrazení: Přehled jako vzor Přechod a Kartu buď přes klik na číslo, nebo na … Ovládací prvky přehledu: filtr, způsob zobrazení, infopanel, záložka na hlavní plochu a rozšíření zobrazení Infopanel se zkratkami do dalších agend a statistik Zde jsou řádky s daty Tady poznáte, co že je to za přehled Rozšířené informace: Infopanely (factbox) Jak měníte aktivní řádek na přehledu, mění se i info data Infopanely (factboxy) poskytují základní analytické informace o daném řádku. Vyzkoušejte různé přehledy a všimněte si infopanelů, co poskytují za informace. Každá super věc se dá vypnout .. Třeba když zabírá místo Vývoj úprav – dokumentace * Kontextová nápověda – musí být vždy přítomna, vede uživatele v prvním kroku. * Procesní nápověda – musí existovat k modulu. Popisuje celý modul a funkce, které jsou v něm implementovány spolu s popisem procesu. * Úkol konzultanta: Zajistit vhodný popis polí a funkcí tak, aby co nejvíce instruoval uživatele a naváděl ke správnému procesu. * Možnosti nápovědy: kontextová nápověda Postůjte kurzorem nad sloupečkem (popisem), který vás zajímá a počkejte sekundu, co vám kontextová nápověda napoví. Pozn.: Kontextová nápověda je distribuovaná se systémem a je vždy k dispozici. Na tento typ nápovědy je potřeba myslet, když se dělá úprava na míru, aby uživatel nebyl úplně bez nápovědy. Publikace na TEST server a LIVE server * Proces vývoje bez testovacího prostředí je jak RAID 0. Jede jak raketa, bez možnosti opravy chyb … * Nejčastější problémy: data na TEST serveru nejsou nastavena, nebo je databáze příliš zastaralá a testování v ní je obtížné, aby to aspoň trochu napodobilo reálné situace. * Úkol konzultanta: Zajistit otestováním zákazníkem a potvrzení splnění akceptačních kritérií * Předání díla a živý provoz * Dobře navržený modul se dá dále rozvíjet a dobře podporovat. Nahrání tabulek často vyžaduje odpojení uživatelů vs. aktualizace „servisních“ objektů. * Čím méně zásahů do tabulek při živém provozu, tím lépe. * Úkol konzultanta: Podpora klíčových zákazníků, implementačního týmu a doladění úpravy * Děkuji za pozornost Pavel Vondruška email pvon@essencebs.cz