Používateľské tlačidlo

Ako prispôsobiť ABRA Flexi pomocou používateľských tlačidiel?

Petr Pech avatar
Written by Petr Pech
Updated over a week ago

Možnosti použitia

Používateľské tlačidlo slúži na prispôsobenie systému ABRA Flexi tým, že vývojárom a používateľom poskytuje možnosť definovať vlastnú akciu vo forme tlačidla. Po aktivácii tlačidla sa zobrazí panel v systéme ABRA Flexi alebo sa otvorí webový prehliadač, v oboch prípadoch s ľubovoľnou webovou stránkou.

Pomocou používateľského tlačidla možno zobraziť príslušnú časť intranetového informačného systému, vyhľadať tovar v porovnávači cien, otvoriť príslušnú časť webového rozhrania ABRA Flexi alebo spustiť akciu prostredníctvom nášho REST-API. Do adresy webovej stránky je možné dynamicky vkladať parametre, ako napríklad IČO práve upravovanej firmy alebo EAN zobrazovaného tovaru.

Spôsob použitia

Parametre užívateľského tlačidla, ako je jeho text, cieľová URL adresa alebo umiestnenie v ABRA Flexi, sa zapisujú do definície tlačidla, súboru XML. Vytvorená definícia užívateľského tlačidla sa importuje do ABRA Flexi zo súboru XML a po opätovnom pripojení k firme bude tlačidlo súčasťou užívateľského rozhrania (buď klientskej aplikácie, alebo webového rozhrania).

Definícia používateľského tlačidla

Niektoré prvky sú povinné (nepovinný prvok je prehliadač), každý prvok môže byť v rámci definície tlačidla uvedený najviac raz (výnimkou je prvok id). Súbor môže obsahovať definíciu viacerých používateľských tlačidiel, ak je zadaných viac definícií tlačidla, každá definícia sa považuje za aktualizáciu tlačidla a účinne sa zohľadňuje posledná aktualizácia jeho vlastnosti. Nevyhovujúca definícia užívateľského tlačidla bude zamietnutá už počas importu do ABRA Flexi.

id

  • Identifikátory záznamov sa používajú na pridelenie kódu/skratkového kódu pri vytváraní a na presné určenie používateľského tlačidla pri jeho neskoršej aktualizácii alebo vymazaní.

  • Na identifikáciu používateľského tlačidla sa môžu použiť nasledujúce údaje:

    • Kód/skrátený kód - označenie používateľa (prefix code:)

    • Externý identifikátor - identifikátor z externej aplikácie (prefix ext:)

    • Identifikátor ABRA Flexi - číselný nemenný identifikátor pridelený aplikáciou (bez prefixu)

  • Povinný prvok, pri vytváraní používateľského tlačidla musí byť tento prvok uvedený s kódom (skratkou).

  • Podrobnejšie informácie o používaní prvku nájdete v časti Identifikátory záznamov.

url

  • Určuje adresu URL webovej stránky alebo sieťového zdroja, ktorá sa otvorí po stlačení tlačidla.

  • Adresa URL musí byť uvedená v úplnom, absolútnom tvare, t. j. musí obsahovať schému a doménovú adresu servera (napr. https://www.flexibee.eu/).

  • Odporúča sa uvádzať adresu URL v tvare <![CDATA[ ]]> , aby prítomnosť znaku "&" nespôsobila neplatnosť XML.

  • Schéma URI súboru používaná na prístup k lokálne uloženým súborom nie je podporovaná v hodnote URL. Definície používateľských tlačidiel obsahujúce adresy URL s file:// budú pri importe odmietnuté ako nepovolené.

  • Pri zostavovaní adries URL je možné zadať premenné, ktoré bude FreeMarker vyhodnocovať pri spustení aplikácie, a zabezpečiť, aby boli hodnoty odovzdané z aplikácie. Napríklad položka ${object.ic} sa používa na získanie ID partnera v adresári. V názve premennej je povinný objekt string, ktorý sa používa na odkaz na aktuálny záznam zobrazovaného záznamu. Zoznam dostupných atribútov každého záznamu je možné zobraziť vo webovom rozhraní (adresy akohttps://localhost:5434/c/mojefirma/adresar/properties).

  • Podporované premenné:

    • objekt - aktuálny záznam (pozri predchádzajúci bod).

    • objectIds - zoznam ID vybraných záznamov oddelených čiarkou.

    • user - aktuálne prihlásený používateľ (pozri https://localhost:5434/c/mojefirma/uzivatel/properties).

    • url - úplná adresa URL objektu, na ktorom bolo tlačidlo vyvolané (napr. https://instance.flexibee.eu/c/demo/adresar/1).

    • companyUrl - adresa API spoločnosti, na ktorej sa tlačidlo nachádza (napr. https://instance.flexibee.eu/c/demo).

    • record - názov záznamu, na ktorom je tlačidlo umiestnené.

    • authSessionId - autentifikačný token pre aktuálnu reláciu používateľa. Môže sa použiť na overovanie dotazov počas platnosti relácie. Používanie autentifikačného tokenu nájdete v časti Popis autentifikácie.

    • customerNo - číslo zákazníka zodpovedajúce licencii.

    • licenseId - identifikátor licencie.

  • Poznámka: Premenné object a objectIds sa navzájom vylučujú!

Dôkazy

  • Určuje záznam alebo konkrétnu väzbu (reláciu) záznamu ABRA Flexi, pre ktorý sa má tlačidlo zobraziť.

  • Napr. adresár na evidenciu obchodných partnerov, faktúra vydaná na evidenciu vydaných faktúr atď. Vo variante pre väzbu konkrétneho záznamu, napr. faktúra-vydaná-položka pre položky faktúry-vydanej alebo majetok-pôžička pre pôžičky v evidencii majetku atď.

  • Pre záznamy vo všeobecnosti použite reťazec zobrazený v adrese URL webového rozhrania v časti záznamy(https://localhost:5434/c/mojefirma/cenik).

  • Zoznam všetkých záznamov je k dispozícii na adrese https://localhost:5434/c/mojefirma/evidence-list.

  • Pre odkazy na záznamy vo všeobecnosti použite reťazec záznamu (pozri vyššie), za ktorým nasleduje pomlčka a reťazec odkazu, ktorý sa nachádza v prehľade odkazov na záznamy(https://localhost:5434/c/mojefirma/cenik/relations).

umiestnenie

  • Určuje zobrazenie tlačidla v prehľade záznamov alebo na karte konkrétneho záznamu.

  • Povolené hodnoty:

    • zoznam - pre prehľad záznamov

    • detail - pre konkrétny záznam

  • Ak má byť tlačidlo k dispozícii na paneli nástrojov v prehľade záznamov a na karte konkrétneho záznamu, je potrebné pripraviť dve definície používateľského tlačidla, ktoré sa budú líšiť hodnotou prvku umiestnenia.

názov

  • Text zobrazený na tlačidle.

popis

  • Podrobný popis tlačidla zobrazeného v bubline.

prehliadač

  • Určuje prehliadač, v ktorom sa otvorí adresa URL. Interný prehliadač sa zobrazí rýchlejšie, ale nesmie obsahovať prispôsobenia a údaje používateľa (heslá, súbory cookie, údaje z formulára, navštívené odkazy). Externý prehliadač je prostredie, na ktoré je používateľ zvyknutý.

  • Nepovinný prvok, predvolená hodnota je automatická.

  • Vzhľadom na povahu webového rozhrania sa nastavenia prvkov prehliadača ignorujú.

  • Povolené hodnoty:

    • desktop - externý prehliadač

    • automatický - interný prehliadač; ak nie je k dispozícii, otvorí sa externý prehliadač

Príklad vytvorenia

<?xml version="1.0"?>
<winstrom version="1.0">
  <custom-button>
    <id>kód:JUSTICECZ</id>
    <url><![CDATA[https://or.justice.cz/ias/ui/rejstrik-$firma?ico=${object.ic}&jenPlatne=VSECHNY]]></url>
    <title>Obvodný register&#x159;&#xED;k</title>
    <description>Obrázok spoločnosti v obchodnom registri justice.cz</description>
    <evidence>adresár</evidence>
    <location>detail</location>
    <prehliadač>desktop</browser>
  </custom-button>
</winstrom>

Príklad aktualizácie tlačidla

Ak v definícii uvediete jednoznačnú identifikáciu existujúceho tlačidla, môžete ho aktualizovať. ABRA Flexi umožňuje čiastočné aktualizácie záznamov, takže pri zmene adresy obchodného registra vo vyššie uvedenom príklade stačí identifikovať tlačidlo používateľa a zadať novú hodnotu URL:

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

Príklad odstránenia tlačidla

Ak chcete odstrániť existujúce tlačidlo, musíte použiť atribút akcie (viac informácií o jeho použití nájdete v časti Vykonávanie akcií). Používateľské tlačidlo z vyššie uvedeného príkladu možno odstrániť pomocou:

<?xml version="1.0"?>
<winstrom version="1.0">
  <custom-button action="delete">
    <id>kód:JUSTICECZ</id>
  </custom-button>
</winstrom>
Did this answer your question?