úterý 20. července 2010

Dynamics AX for Retail

1. srpna tohoto roku má být zveřejněn produkt s názvem Dynamics AX for Retail. Není to vlastně úplně nový systém, protože jej Microsoft odkoupil od původního výrobce (LS Retail), ale pokud jste s ním (podobně jako já) nikdy nepracovali, je stručný přehled určitě na místě.

Dynamics AX for Retail se skládá ze dvou částí:
  1. Dynamics AX 2009 (jiná verze není podporována), samozřejmě s dodatečnou funkcionalitou
  2. Samostatný .NET klient (POS klient), komunikující s Dynamics AX
V Dynamics AX se konfigurují položky, ceny, sklady a další obchodní data. Dále se přímo v Axaptě nastavuje GUI POS klienta a funkce tlačítek, k čemuž slouží grafický designer (cool!). Vzhled a funkce POS klienta mohou být specifické pro konkrétního uživatele či terminál.
 
POS klient podporuje platby kartou, slevy, dárkové certifikáty, věrnostní programy a spoustu dalších funkcí. Jednotlivé funkční bloky jsou implementovány v .NET a partneři je mohou rozšiřovat, nahrazovat, nebo samozřejmě dodávat vlastní. Detaily o .NET části implementace bohužel neznám.

Co se technické stránky týká, POS klient má vlastní databázi a některé informace si udržuje lokálně a s Dynamics AX si je vyměňuje dávkově (změna dat na straně AX, přenos informací o transakcích do AX na konci pracovní doby), jiná data si POS vyžaduje z AX v reálném čase.

Verze, která vyjde 1. srpna, bude podporovat 16 zemí (např. USA, UK, Kanada, Austrálie), dalších 22 zemí (včetně České republiky) má být podporováno od prosince.

Zajímavou prezentaci (cca 1 hod.) je možné najít na stránkách Convergence 2010. Asi nejpodrobnější dostupné informace jsou obsaženy ve dvousetstránkovém tréninkovém materálu (CustomerSource).

čtvrtek 15. července 2010

dynamicsaxtraining.com

Na stránce www.dynamicsaxtraining.com můžete najít popisy některých nastavení a procesů v oblastech Obchod & logistika a výroba. Není toho příliš mnoho, ale i tak se to může hodit.
Pochopitelně opět nepotěším nikoho, kdo neovládá angličtinu.

úterý 13. července 2010

Microsoft Days 2010

Vyhraďte si 14. a 15. září, protože v pražském Kongresovém centru se bude pořádat konference Microsoft Days 2010. Podstatná informace je také ta, že se v dalším roce nebudou pořádat menší akce jako Developer Days, Partnerská konference apod., vše má být koncentrováno do Microsoft Days. Bližší (i když stále skromné) informace naleznete na MSDN blogu.

pátek 2. července 2010

Platy v Dynamics

Možná jste byli také před časem (~ říjen 2009) osloveni ohledně účasti v anketě Dynamics Salary Survey 2009, zabývající se platy v oblasti Microsoft Dynamics. Já jsem se této ankety nezúčastnil a možná je to škoda - mohl jsem totiž dostat závěrečnou zprávu. Anketu jsem dávno pustil z hlavy, ale před pár dny zveřejnil Dilip na svém blogu shrnutí některých výsledků (odkaz) a je to poměrně zajímavé - víte třeba, zda (průměrně) platí programátory lépe MS partneři nebo zákazníci?

Jaké security klíče musím zapnout?

Jedním z důležitých úkolů při nasazování AX je správné nastavení přístupových práv. Pro porozumění tomu, jaké security klíče je třeba nastavit, vytvořil Microsoft nástroj nazvaný Security Profiler.

Security Profiler je implementován v X++ a jeho použití je velmi jednoduché - administrátor spustí formulář Security Profiler a a klikne na Start Profiling. Od této chvíle se zaznamenávají potřebné security klíče, administrátor tedy provede nějaké akce (spuštění formuláře, tisk sestavy) a ukončí sledování tlačítkem Stop Profiling. Výsledkem je seznam security klíčů, které byly pro akci nějakým způsobem vyžadovány - a které je třeba vzít v potaz při nastavování uživatelských účtu s omezenými právy.

Security Profiler je zatím bohužel ve vývoji a není normální cestou k dispozici, lze si ho ale vyžádat přes support. Nicméně je pravděpodobné, že v budoucnu bude standardní součástí Dynamics AX.

O něco více informací (včetně obrázků) lze najít zde.

úterý 15. června 2010

Kompilace

Čas od času se setkávám s představou, že AX aplikaci není třeba kompilovat jako celek a že kompilace změněných objektů je dostačující. Na takových projektech pak dochází k záhadnému chování aplikace, na chyby se přichází až v průběhu nasazování a podobně. Jak je to možné?

Je to proto, že změněné objekty mají další závislosti. Například:

  1. Programátor přidá nový parametr metody, ale opomene změnit některá její volání.
  2. Programátor přidá nový parametr metody, ale neví, že třída má potomka překrývajícího danou metodu.
  3. Programátor přidá instanční proměnnou třídy, ale nezkompiluje předky a potomky (kompilace dopředu mnohdy nestačí!). V tomto případě je kód v pořádku, ale aplikace se nechová správně, což je právě to záhadné chování.
  4. Dva programátoři vytvoří samostatně funkční, ale konfliktní modifikace apod.

Nejjednodušší způsob, jak tyto problémy odhalit (a některé i vyřešit), je pravidelně kompilovat celou aplikaci (a kontrolovat výsledky!). Ačkoli lze kompilaci spouštět manuálně, pro pravidelný běh je daleko výhodnější použít plánovanou úlohu, například takto:

Ax32.exe konfigurace.axc -logdir=C:\log -startupCmd=CompileAll_+

Následovat může synchronizace databáze, odeslání výsledků kompilace e-mailem a podobně. Kompilační log lze naimportovat zpět do AX, na druhou stranu s ním občas trochu bojují webové prohlížeče (je to totiž XML s transformací do HTML).

Podíváme-li se ještě jednou na příklady 1. a 2., vidíme, že jde o chyby vývojáře. Aby bylo možné tyto chyby minimalizovat, je nezbytně nutné udržovat aktuální křížové reference. Bylo by ale naivní předpokládat, že na projektech, kde nepovažují za nutné aplikaci ani kompilovat, pravidelně aktualizují křížové reference. Osobně považuji prostředí bez aktuálních referencí za nezpůsobilé k vývoji.

Zrovna dnes mi na jednom projektu zakázal jakýsi tamní Project Engineer zkompilovat aplikaci s tím, že jde o velmi neobvyklý krok. Pokud je pro ně neobvyklý, není to dobré znamení. Na posledním projektu, kde mi tvrdili, že kompilace je zbytečná, selhalo hned první nasazení právě kvůli nezkompilované rodičovské třídě…

úterý 8. června 2010

AX6: Editor kódu

Následující sedmiminutové video ukazuje nové vlastnosti editoru kódu v Dynamics AX 2011. Je velmi názorné, takže doporučuji zhlédnout, i pokud angličtnou nevládnete.

Rychlé shrnutí novinek
  • Více barev pro zvýrazňování syntaxe. Nic revolučního, ale určitě pomůže pro orientaci v kódu.
  • IntelliSense s nápovědným oknem (zobrazují se zde také informace z XML dokumentace, což by mohl být silný impulz pro její intenzivnější vytváření).
  • Automatické vytváření šablony pro XML dokumentaci (pro metodu doplní konkrétní názvy proměnných).
  • Číslování řádků. Ale že jsem se načekali…
  • Barevný okraj označující změněný kód (stejně jako ve Visual Studiu).
  • Lupa.
  • Sloupcová editace - umožňuje mazat nebo psát kód na více řádcích, ale stejném sloupci.
  • Zobrazní popisu kompilační chyby v tooltipu nad patřičnou řádkou kódu.
  • Text label v tooltipu nad ID labelu.