Přeskočit na hlavní obsah
Uživatelské tlačítko

Jak si přizpůsobit ABRA Flexi pomocí uživatelských tlačítek?

Petr Pech avatar
Autor: Petr Pech
Aktualizováno před více než 2 lety

Možnosti použití

Uživatelské tlačítko slouží k přizpůsobení ABRA Flexi, když dává vývojářům a uživatelům možnost definovat vlastní akci ve formě tlačítka. Po aktivaci tlačítka dojde k zobrazení panelu v ABRA Flexi či otevření webového prohlížeče, v obou případech s libovolnou webovou stránkou.

Pomocí uživatelského tlačítka může být zobrazena relevantní část intranetového informační systému, vyhledáno zboží ve srovnávači cen, otevřena příslušná část webového rozhraní ABRA Flexi či vyvolána akce prostřednictvím našeho REST-API. Do adresy webové stránky je možné dynamicky vkládat parametry jako např. IČO právě upravované firmy či EAN zobrazeného zboží.

Způsob použití

Parametry uživatelského tlačítka jako např. jeho text, cílové URL či umístění v ABRA Flexi se zapíší do definice tlačítka, souboru ve formátu XML. Vytvořená definice uživatelského tlačítka se načte do ABRA Flexi importem z XML souboru a při opětovném připojení k firmě bude tlačítko součástí uživatelského rozhraní (ať již klientské aplikace či webového rozhraní).

Definice uživatelského tlačítka

Uvedení některých prvků je povinné (nepovinný prvek je browser), každý prvek může být v rámci definice jednoho tlačítka uveden nanejvýše jednou (výjimkou je prvek id). Soubor může obsahovat definici více uživatelských tlačítek, při vícenásobném uvedení definice tlačítka se jednotlivé definice považují za jeho aktualizaci a fakticky se projeví poslední aktualizace jeho vlastnosti. Nevyhovující definice uživatelského tlačítka bude odmítnuta již při importu do ABRA Flexi.

id

  • Identifikátory záznamu slouží pro přidělení kódu/zkratky při vytváření a pro přesné určení uživatelského tlačítka při jeho pozdější aktualizaci či mazání.

  • Pro identifikaci uživatelského tlačítka je možné použít:

    • Kód/zkratku – uživatelské označení (prefix code:)

    • Externí identifikátor – identifikátor z externí aplikace (prefix ext:)

    • Identifikátor ABRA Flexi – číselný neměnný identifikátor přidělovaný aplikací (bez prefixu)

  • Povinný prvek, při vytváření uživatelského tlačítka musí být prvek uveden s kódem (zkratkou).

  • Podrobnější informace o použití prvku naleznete v části Identifikátory záznamů.

url

  • Určuje URL webové stránky či síťového zdroje, které bude po stisku tlačítka otevíráno.

  • URL musí být uvedeno v plném, absolutním tvaru, tj. musí obsahovat schéma a doménovou adresu serveru (např. https://www.flexibee.eu/).

  • URL doporučujeme zadávat v <![CDATA[ ]]>, aby přítomnost znaku '&' nezpůsobila nevalidní XML.

  • V hodnotě URL není podporováno URI schéma file používané pro přístup k lokálně uloženým souborům. Definice uživatelských tlačítek obsahující URL s file:// budou při importu odmítnuty jako nepovolené.

  • Při konstrukci URL je možné uvést proměnné, které budou vyhodnoceny FreeMarkerem při běhu aplikace a zajistí předání hodnot z aplikace. Např. zápis ${object.ic} slouží pro získání IČO partnera v adresáři. Řetězec object je v názvu proměnných povinný, pomocí něj je odkazováno na aktuální záznam zobrazené evidence. Seznam dostupných atributů jednotlivých evidencí lze zobrazit ve webovém rozhraní (adresy jako https://localhost:5434/c/mojefirma/adresar/properties).

  • Podporované proměnné:

    • object – aktuální záznam (viz předchozí bod).

    • objectIds – seznam ID vybraných záznamů oddělených čárkou.

    • user – aktuálně přihlášený uživatel (viz https://localhost:5434/c/mojefirma/uzivatel/properties).

    • url – úplná URL adresa objektu, na kterém bylo tlačítko vyvoláno (např. https://instance.flexibee.eu/c/demo/adresar/1).

    • companyUrl – adresa API rozhraní firmy, ve které je tlačítko umístěno (např. https://instance.flexibee.eu/c/demo/).

    • evidence – jméno evidence, na které je tlačítko umístěno.

    • authSessionId – autentizační token k aktuálnímu sezení uživatele. Po dobu platnosti sezení lze využít k autentizace dotazů. Viz využití autentizačního tokenu v popisu Autentizace.

    • customerNo – číslo zákazníka odpovídající licenci.

    • licenseId – identifikátor licence.

  • Pozor: Proměnné object a objectIds se vzájemně vylučují!

evidence

  • Určuje evidenci, popř. konkrétní vazbu (relaci) evidence ABRA Flexi, pro kterou má být tlačítko zobrazováno.

  • Např. adresar pro evidenci obchodních partnerů, faktura-vydana pro evidenci faktur vydaných, atd. Ve variantě pro vazby určité evidence pak např. faktura-vydana-polozka pro položky faktury vydané či majetek-zapujcka pro zápůjčky v evidenci majetku atd.

  • Pro evidence obecně použijte řetězec zobrazovaný v URL webového rozhraní v sekci evidence (https://localhost:5434/c/mojefirma/cenik).

  • Seznam všech evidencí je k dispozici na adrese https://localhost:5434/c/mojefirma/evidence-list

  • Pro vazby evidencí obecně použijte řetězec evidence (viz výše) doplněný o spojovník (pomlčku) a řetězec vazby zjištěný na přehledu vazeb evidence (https://localhost:5434/c/mojefirma/cenik/relations).

location

  • Určuje zobrazení tlačítka na přehledu záznamů nebo na kartě konkrétního záznamu.

  • Přípustné hodnoty:

    • list – pro přehled záznamů

    • detail – pro konkrétní záznam

  • Má-li být tlačítko dostupné v nástrojové liště na přehledu záznamů a zároveň na kartě konkrétního záznamu, je nezbytné připravit dvě definice uživatelského tlačítka, které se budou lišit hodnotou prvku location.

title

  • Text zobrazený na tlačítku.

description

  • Detailní popis tlačítka zobrazovaný v bublině.

browser

  • Určuje prohlížeč, ve kterém se URL otevře. Interní prohlížeč se zobrazí rychleji, ale nemusí obsahovat uživatelské přizpůsobení a data (hesla, cookies, data formulářů, navštívené odkazy). Externí prohlížeč je prostředím, na které je uživatel zvyklý.

  • Nepovinný prvek, výchozí hodnotou je automatic.

  • Z podstaty webového rozhraní je v něm nastavení prvku browser ignorováno.

  • Přípustné hodnoty:

    • desktop – externí prohlížeč

    • automatic – interní prohlížeč; není-li dostupný, otevře se externí prohlížeč

Příklad vytvoření

<?xml version="1.0"?>
<winstrom version="1.0">
  <custom-button>
    <id>code:JUSTICECZ</id>
    <url><![CDATA[https://or.justice.cz/ias/ui/rejstrik-$firma?ico=${object.ic}&jenPlatne=VSECHNY]]></url>
    <title>Obch. rejst&#x159;&#xED;k</title>
    <description>Zobraz z&#xE1;znam firmy v obchodn&#xED;m rejst&#x159;&#xED;ku justice.cz</description>
    <evidence>adresar</evidence>
    <location>detail</location>
    <browser>desktop</browser>
  </custom-button>
</winstrom>

Příklad aktualizace tlačítka

Uvedete-li v definici jednoznačnou identifikaci existujícího tlačítka, můžete jej aktualizovat. ABRA Flexi umožňuje částečné aktualizace záznamů, takže při změně adresy obchodního rejstříku ve výše uvedeném příkladu stačí uživatelské tlačítko identifikovat a uvést novou hodnotu URL:

<?xml version="1.0"?>
<winstrom version="1.0">
  <custom-button>
    <id>code:JUSTICECZ</id>
    <url><![CDATA[https://or.justice.cz/ias/ui/rejstrik-$firma?ico=${object.ic}&jenPlatne=VSECHNY&polozek=500]]></url>
  </custom-button>
</winstrom>

Příklad smazání tlačítka

Pro smazání existujícího tlačítka je potřeba použít atribut action (více o jeho použití naleznete v části Provádění akcí). Uživatelské tlačítko z výše uvedeného příkladu lze smazat pomocí:

<?xml version="1.0"?>
<winstrom version="1.0">
  <custom-button action="delete">
    <id>code:JUSTICECZ</id>
  </custom-button>
</winstrom>
Dostali jste odpověď na svou otázku?