Transformácie

Prepis videa

Takže transformácie slúžia na vystavovanie záznamu v inej dátovej štruktúre, než aké aktuálne som. Napríklad, keď si chcem zo zálohovej faktúry vystaviť faktúru alebo vystaviť daňový doklad. Dobre, teraz som si klikol na vystaviť faktúru, tak sa mi automaticky v dátovej štruktúre faktúry vystavila nová faktúra, kde sa mi preniesli údaje z tej zálohovej faktúry, tak, ak som si ich nastavil.

A nastavil som si ich tu na vlastne transformáciách. Tu mám napríklad, že vystaviť faktúru, to sme vlastne spravili teraz. A pozrieme sa na to, čo sa vlastne udialo.

A udiala sa transformácia s tým, že z tých výstupných atribútov, ktoré sú v zálohovej faktúre, teda nebo v zálohovej faktúre, ale to sú už v tej faktúre, tak do týchto atribútov sa mi namapovali atribúty zo zálohovej faktúry, tak, ak som si ich tu zvolil. Prípadne nie len tie, ale môžem si tu zvoliť aj atribúty používateľa, alebo atribúty firmy. Atribúty používateľa sú vlastne všetky atribúty, ktoré mám v systémovej dátovej štruktúre používateľia nastavené, tak toto znamená tieto, a atribúty firmy mám vlastne v nastaveniach firmy tietoto.

Tieto vlastne atribúty sa dajú tiež nastavovať v rámci transformácií. Potom ešte okrem takéhoto vystavovania záznamu z iného záznamu, tu máme uložené aj transformácie na vytvorenie nového záznamu, a teda na predvyplnenie toho nového záznamu. A takisto si tu viem nastaviť transformáciu copy, čo vlastne mi spraví kópiu toho záznamu.

Keď si tu dám takto copy, doteraz som tu nemal tlačidlo duplikovať, teraz keď to uložím, tak mi tu zrazu pribudne tlačidlo duplikovať. A viem si tu vlastne v rámci tej transformácie nastaviť, čo všetko chcem, aby sa mi z toho záznamu duplikovalo, a čo nechcem, aby sa mi duplikovalo. Napríklad nechcem, aby sa mi duplikoval sumár celkom, tak si to nastavím na predvolenú hodnotu a tým pádom sumár celkom sa mi nebude duplikovať z toho záznamu.

Popis

Transformácie predstavujú akcie, ktorými je možné prenášať dáta, či už medzi rovnakou dátovou štruktúrou (NEW, COPY), alebo medzi rozdielnymi dátovými štruktúrami (TRANSFORM, BULK_TRANSFORM, MERGE_ITEMS).

Na nasledujúcom obrázku môžeme vidieť ukážku transformácie.

Všetky typy transformácii obsahujú nasledujúce atribúty:


Názov – názov transformácie, ktorý sa bude zobrazovať používateľom, dôležitý je hlavne pri transformáciach na iný dokument, aby sme v prípade keď máme viaceré transformácie rozlíšiť rozlíšiť cieľové dokumenty.
Výstupný záznam – Dátová štruktúra, ktorá bude výstupom transformácie
Typ transformácie – Možnosti na výber sa menia v závislosti od výstupného dokumentu, ak je výstupný záznam rovnakého typu ako aktuálny dokument, máme na výber typ NEW a COPY, ak ide o odlišný dokument máme na výber TRANSFORM, BULK_TRANSFORM, MERGE_ITEMS. Rozdiely medzi jednotlivými typmi transformácii budú popísané neskôr.

Mapovanie záznamov

Po výbere výstupného záznamu a typu transformácie sa nám zobrazí mapovanie atribútov. Na ľavej strane v stĺpci ‚Výstupné atribúty‘ môžeme vidieť názvy stĺpcov v cieľovom dokumente, a na pravo v stĺpci ‚Mapovanie‘ môžeme vidieť príslušné hodnoty, ktoré chceme použiť ako hodnotu daného atribútu po vykonaní transformácie.

Na výber máme viacero možností:

  • Predvolená hodnota
  • Premenné firmy
  • Premenné používateľa
  • Premenné dokumentu

Predvolená hodnota:
pri výbere tohto mapovania sa v cieľovom dokumente po transformácii použije predvolená hodnota, ktorá je nastavená pre daný atribút…

Premenné firmy:
Ako výstupnú hodnotu pre atribút vieme v mapovaní vybrať aj premenné firmy, tieto majú predponu Firma -> a následne nasleduje názov atribútu…

Premenné používateľa:
Podobne ako pri premenných firmy, premenné používateľa slúžia na dotiahnutie dát do dokumentu od používateľa, ktorý je aktuálne prihlásený…

Premenné dokumentu:
Medzi týmito premennými sa nachádzajú atribúty z aktuálneho dokumentu, ktoré môžme pri transformácii preniesť…


Typy transformácií

NEW:

Tento typ transformácie slúži na vytváranie nových dokumentov. Ako jediný typ transformácia je vytvorený defaultne, už pri vytvorení dátovej štruktúry. Táto transformácia určuje, aké dáta sa budú nachádzať v novo vytvorenom dokumente. Väčšinou pri ňom budú zvolené všetky mapovania ako predvolená hodnota, keďže pri tejto transformácii vytvárame nový dokument a teda ešte nemáme existujúce dáta ktoré by sme tam namapovali. Môžeme však použiť premenné firmy a používateľa, napr. ak chceme aby vytvorený dokument vždy obsahoval údaje z firmy, prípadne email používateľa ktorý dokument vytvoril.

Existencia tejto transformácie zároveň znamená, že v prehľade dokumentov budem mať zobrazené tlačidlo na vytvorenie dokumentu (modré + tlačidlo vľavo hore), ak by som túto predvolenú transformáciu odstránil a nebudem mať existujúcu transformáciu typu NEW, nebudem vedieť vytvoriť nový dokument.

COPY:

Transformácia typu COPY slúži na kopírovanie (duplikovanie) dokumentov. Ak má dokument tento typ transformácie, tak v prehľade dokumentov pribudne po výbere dokumentu tlačidlo „Duplikovať“, ktoré slúži na duplikovanie dokumentu, podľa tejto transformácie.

V prípade že nastavujete transformáciu typu COPY, budú defaultne všetky atribúty po výbere tohto typu namapované na seba. Pre ID dokumentu je to však potrebné zmeniť na predvolenú hodnotu, keďže ide o unikátný atribút. Ak by sme to nezmenili, budeme sa snažiť vytvoriť dokument s rovnakým id ako už máme, čo bude viesť k validačnej chybe.

TRANSFORM:

Tento typ transformácie slúži na prenesenie dát a vytvorenie nového dokumentu s iným typom ako je pôvodný dokument. Pri nastavovaní transformácie, môžeme nastaviť mapovanie, ktoré atribúty z aktuálneho dokumentu by sa mali preniesť na ktoré atribúty v novom dokumente.

Túto transformáciu vieme použiť napr. pri vytváraní faktúry z prijatej objednávky, prípadne iných dokumentov, ktoré majú veľa rovnakých dát.

Jeden dokument môže mať ľubovoľný počet transformácii. Môžeme mať napr. aj viacej transformácii pre jeden cieľový dokument, ktoré sa budú líšiť v prenášaných dátach. V takom prípade je dôležité správne pomenovanie, keďže tieto pomenovania sa budú zobrazovať používateľovi a malo by byť jasné o akú transformáciu ide. Väčšinou úplne postačuje názov cieľového dokumentu.

Transformácia s vybranými dátami

Pri vykonávaní transformácie, sa prenesú všetky položky v tabuľkách, kde máme nastavené mapovanie. Niekedy však môžeme chcieť preniesť do dokumentu iba niektoré záznamy z

opakovateľnej skupiny a z nich vytvoriť nový dokument. Typický príklad je keď chcem vytvoriť dodací list z faktúry, ale len s niektorými položkami, keďže ostatné ešte nie sú dodané a tie budem chcieť vystaviť neskôr. V takom prípade si môžem označiť v tabuľke dáta, ktoré chcem preniesť a len tieto dáta budú prenesené (ostatné tabuľky sa prenesú celé, za predpokladu že tam tiež neoznačím nejaké dáta).

Pre označenie dát musím mať k dispozícii vizuál dokumentu, v ktorom bude aj tabuľka (označenie dát je možné len pre dáta v tabuľke). V takom prípade budem mať naľavo od záznamov checkbox na označenie dát, a pri vykonaní transformácie sa z danej tabuľky prenesú len označené dáta.

 

BULK_TRANSFORM:

Tento typ transformácie slúži na vytvorenie jedného cieľového dokumentu, z viacerých vstupných dokumentov. Slúži primárne na spájanie záznamov v tabuľkách, do jedného dokumentu. Môžeme v ňom však vybrať na mapovanie aj iné atribúty ako atribúty v tabuľkách, avšak tieto nebudú spojené ale použijú sa z prvého nájdeného dokumentu vo výbere.

Príklad: používateľ si vyberie 3 prijaté objednávky a chce z nich spraviť jednu faktúru. Všetky tabuľky (opakovateľná skupina) ktoré boli v transformácii namapované sa spoja do jednej tabuľky vo výstupnom dokumente, ostatné atribúty ktoré boli v transformácii namapované sa prenesú z prvého dokumentu (napr. odberateľ, dodávateľ a pod.).

Pri tomto type transformácie je potrebné vybrať viacero vstupných dokumentov, preto vykonanie tejto transformácie nájdeme v hromadných akciách v tabuľkovom zobrazení, namiesto detailu záznamu ako to bolo pri type TRANSFORM.

MERGE_ITEMS:

Táto transformácia slúži na prenos zvolených položiek do už existujúceho dokumentu. Narozdiel od klasickej transformácie (TRANSFORM), nevytvorí nový dokument, ale len skopíruje zvolené položky.

Ak vyberieme v mapovaniach predvolenú hodnotu, tak sa v cieľovom dokumente zachovajú pôvodné hodnoty. Ak vyberieme mapovanie (iné ako predvolená hodnota) aj pre iné atribúty ako pre tabuľku, tak sa tieto dáta pri prenose v cieľovom dokumente prepíšu. Toto môže byť užitočné napr. ak si chceme uložiť id dokumentu, z ktorého sme vykonali poslednú transformáciu prenosu.

Táto transformácia obsahuje aj dodatočné nastavenia, týkajúce sa vyhľadávania cieľového dokumentu, podobne ako nastavenia pri automatickom dopĺňaní údajov v skupine.

Hlavný atribút – zobrazí sa po výbere cieľového dokumentu.
Atribúty použité ako vyhľadávanie – Nad všetkými atribútmi ktoré budú zaškrtnuté prebehne vyhľadávanie pri hľadaní výstupného dokumentu.
Vizuál vyhľadávacieho poľa – atribúty ktoré budem chcieť zobraziť vo vyhľadávacom poli počas vyhľadávania

{
  "type": "container",
  "props": {
    "className": "flex flex-col",
    "children": [
      {
        "type": "container",
        "props": {
          "className": "flex flex-row justify-between",
          "children": [
            {
              "type": "text",
              "props": {
                "className": "text-sm",

                "field": "_name"
              }
            },
            {
              "type": "text",
              "props": {
                "className": "text-xs",

                "field": "_id"
              }
            }
          ]
        }
      }
    ]
  }
}

Po vytvorení tejto transformácie pribudne v detaile dokumentu tlačidlo na prenos položiek. Toto tlačidlo je neaktívne, až kým neoznačím niektoré položky z tabuľky na prenos. Označovanie je možné

len nad vizuálmi. Pri prenose budú vždy prenesené len označené položky. (Ak chceme napr. preniesť len položky z objednávky, aby sa počas toho nepreniesli iné záznamy z tabuliek v dokumente o ktorých ani nemusíme vedieť že v dokumente sú.)

Pre aktiváciu buttonu je potrebné označenie niektorých položiek vo vizuáli v detaile dokumentu.

Pri prenose je potrebné vybrať cieľový dokument, do ktorého budú prenesené dáta. Vyhľadávanie prebieha nad atribútmi ktoré sme označili v konfigurácii, možnosti na výber sa zobrazujú podľa vizuálu vyhľadávacieho poľa.

Obsah