úterý 9. června 2009

Tabax

Prostředí Dynamics AX má k dokonalosti v mnoha ohledech daleko a některé úkoly jsou tak zbytečně komplikované. V tu chvíli přichází ke slovu programátor, jehož základní vlastností je lenost :), a pro zjednodušení práce si napíše utilitku. Vývojáři Dynamics AX nejsou výjimkou a mnozí si své nápady nenechávají pro sebe - díky tomu lze na internetu nalézt řadu zajímavých nástrojů. Třeba Tabax. Největším přínosem Tabaxu je umisťování oken na panel záložek, takže nemusíte složitě hledat schovaná okna. V AX2009 se sice některé formuláře otevírají mimo hlavní okno, ale přesto záložky Tabaxu rozhodně využijete. Dále Tabax nabízí nástrojovou lištu, kde sice nenajdete mnoho nového, ale např. možnost jednou kliknout pro otevření aktivního formuláře v AOT ušetří spoustu neproduktivního času. Pro názornost screenshoty z AX3 a AX2009: Stručný popis funkce tlačítek (AX2009):
  • Slouží k rozmisťování oken.
Edit current form
  • Otevře aktivní formulář v AOT (jinak řečeno, přejdu z uživatelského pohledu na formulář do jeho editace).
Edit current field
  • Otevře aktivní formulářový prvek v AOT. Funkce je sice určeno pro pole, ale s úspěchem lze aplikovat i třeba na MenuItemButton.
  • Ctrl+Click - Vypíše do infologu podrobné informace o aktivním poli - např. jméno prvku, jméno pole (popř. metody), použitý datový typ, jeho rozsah atd.
  • Ctrl+Shift+Click - Otevře v AOT použitý datový typ a zobrazí jeho vlastnosti (Properties).
Table browser
  • Otevře tabulku v prohlížeči tabulek (form SysTableBrowser). Funkci můžete použít přímo z formuláře (otevře se tabulka, do níž patří aktivní pole), ale také v podstatě kdekoli v AOT, kde narazíte na tabulku (např. v definici query na tiskové sestavě).
  • Shift+Click - Zobrazí seznam tabulek, které jsou na formuláři použity. Zvolenou tabulku pak zobrazí v prohlížeči tabulek. Pokud je k dispozici pouze jediná tabulka, je zobrazena rovnou.
  • Ctrl+Click - Funguje obdobně jako Shift, ale zvolenou tabulku otevře v AOT.
  • Ctrl+Shift+Click - Zobrazí SQL dotaz použitý k vygenerování aktivního datového zdroje formuláře. Úžasně užitečná funkce pro ladění složitých filtrů, dynamicky připopojovaných datových zdrojů apod.
Refresh AOD
  • Vymaže nacachované informace o aplikačních objektech (na klientu).
xReferences - usedBy
  • Zobrazí křížové reference, tedy informaci, kde všude je zvolený objekt používán. Samozřejmě to vyžaduje aktuální křížové reference…
Application Hierarchy Tree
  • Zobrazí Strom aplikační hierarchie pro aktivní datový typ nebo třídu. Funguje to i pro systémové objekty, takže se můžete třeba podívat, jaké potomky má třída TreeNode.
Copy
  • Zkopíruje do schránky název vybraného objektu (objektů), nebo, v případě formuláře, AxPath odkaz na aktivní záznam.
  • Ctrl+Click - Zkopíruje AOT cestu (např. \Classes\RunBase\run).
  • Ctrl+Shift+Click - Zkopíruje AxPath odkaz. AxPath vydá na samostatný příspěvěk, ale v zásadě jde o protokol pro odkazování do AX (např. na konkrétní záznam v konkrétním formuláři), takže je pak možné jednoduše kliknout na odkaz třeba z e-mailu a v AX se otevře cíl odkazu. Více v angličtině zde.
Open Application Object
  • Otevře aplikační objekt v novém okně. Je to užitečné, jsem-li na nějaké části aplikačního objektu (např. na metodě v editoru) a chci otevřít celý objekt v AOT.
  • V případě otevřeného formuláře otevře v novém okně objekt, který daný formulář vyvolal (caller). To je většinou jiný formulář nebo třída.
Add-ins
  • Otevře menu Add-ins. Víc od toho nečekejte. :-)
Compare
  • Porovná dvě verze objektu (verze z různých vrstev nebo ve smyslu verzí v repository), případně dva objekty mezi sebou. Bohužel na mé instalaci na AX2009 to nefunguje a zatím nevím proč. :-(
Import
  • Zobrazí dialog pro import .xpo.
Následuje prostor pro plug-iny, ve verzi pro AX2009 tam již dva standardně jsou: Search
  • Zobrazí dialog pro vyhledávání v AOT pro vybrané objekty.
Label Search
  • Zobrazí Editor popisků.
V pravé části se nachází: Search (input box) - lze do něj zadat řadu věcí:
  • AOT cestu (třeba \Classes\Info) - otevře objekt v AOT; metodu přímo v editoru.
  • Výraz začínající otazníkem (např. ?74 MOD 17 nebo ?tableId2Name(177)) - vyhodnotí výraz a výsledek vypíše do infologu.
  • Příkaz začínající vykřičníkem (např. !beep();) - provede příkaz.
  • Ostatní - vyhledá text na Googlu. Je tam nastavené hledání AxSearch, které mi ale nepřijde příliš užitečné.
About
  • Verze, odkaz na domovskou stránku, text licence.
Pause
  • Pozastaví úlohy Tabaxu běžící na pozadí. Nevím, co přesně dělají, ale ve výpisu profileru opravdu nehezky překáží. Toto tlačítko problém řeší.
Preferences
  • Obsahuje několik nastavení, např. maximální velikost záložky.
Close
  • Ukončí Tabax.
Automatické spouštění Tabaxu Chcete-li automaticky spouštět Tabax při startu AX, můžete použít postup popsaný na stránce Tabaxu, tzn. umístit následující kód do metody startupPost() (AX3) nebo workspaceWindowCreated() (AX4 a 5) ve třídě Info:

// if shift is pressed skip running tabax
if(!WinAPI::isShiftButtonDown())
{
// check for user ID 
if(curUserId()=='bmi') // <- change to your loginname
{
 // actually run tabax
 TreeNode::findNode(@'\Forms\'+formStr(Tabax)).AOTrun();
    }
} 
Nebo, pokud chcete nastavovat spouštění pro různé uživatele či skupiny uživatelů, můžete zkusit <reklama>můj StartupTool</reklama>. Odkazy: Axaptapedia: Tabax Axaptapedia: Tabax Plugin API Axaptapedia: AxPath Max Belugin: New AxPath plugin

Žádné komentáře:

Okomentovat