Záložka X-Vazby - obecně

Záložka zobrazuje "křížové vazby" mezi záznamy různých agend ("x" v názvu záložky symbolizuje vazby navzájem, křížem). Zobrazují se zde vzájemné vazby mezi záznamy do neomezeného počtu úrovní. Tj. nejen vazby z pohledu aktuálního záznamu otevřené agendy, ale i vazby z pohledu záznamů souvisejících s aktuálním záznamem (po rozkliknutí jednotlivých uzlů).

Dříve byla k dispozici pouze ve vybraných dokladových agendách a zobrazovala pouze vybrané typy vazeb na svázané doklady vytvořené v rámci procesní tvorby dokladů. Od verze 23.1 je záložka k dispozici ve všech dokladových i číselníkových agendách a je tedy možno přidávat vazby i na číselníkové objekty, a to jak jednorázově ručně, tak automaticky pomocí skriptování. Pro účely zákaznických úprav lze skriptováním zajistit, aby se uživatelské vazby chovaly jako systémové (a uživatel je nemohl mazat). Rovněž lze pomocí skriptování rozšířit obsah záložky X-vazby o zobrazení již existujících zakázkových vazeb mezi objekty (vytvořených dříve např. pomocí X položky s odkazem). Také lze od v. 23.1 ovlivnit obsah poznámky zobrazované u X-vazby, a to pomocí skriptování i u systémových vazeb dodávaných výrobcem. Viz příklady použití v kap. Příklady pokročilého skriptování.

Připravili jsme pro vás přehledný návod, jak si přidat vlastní X-vazby a jak si je upravit.

Pomocí záložky je mj. obecně možno:

  • prohlížet záznamy nějak svázané s aktuálním záznamem ze záložky Seznam dané agendy. Tj. např. doklady, podle kterých byl aktuální doklad vystaven, nebo naopak které byly vystaveny podle něj či k němu byly nějak dodatečně připojeny.
  • přidávat vlastní X-vazby ručně (pomocí funkce Přidat) nebo pomocí skriptování.
  • rovnou odtud otevírat agendy daných záznamů, prohlížet je, opravovat apod. Příp. i přidávat nové návazné doklady pomocí funkce Nový (k dispozici jen v některých agendách).

Vazby se zobrazují ve formě hierarchického stromu. Na první úrovni jsou zobrazeny navázané záznamy (doklady či záznamy z číselníků), které přímo souvisí s aktuálním záznamem ze záložky Seznam dané agendy. Na dalších úrovních se pak zobrazují další záznamy související se záznamem z dané větve stromu. Strom vazeb se zobrazuje v první úrovni standardně rozbalený.

Příklad zobrazení vazeb vytvořených v rámci procesní tvorby dokladů v agendě Objednávky přijaté.

Zde je vidět, že objednávka OP-1/2020 je svázaná s nabídkou vydanou NV-1/2017 (byla vytvořena podle dokladu dané nabídky vydané). Objednávka je dále svázaná s dodacím listem a fakturou, protože tyto byly vytvořeny vyfakturováním dané objednávky (např. naimportováním objednávky do vystavované faktury).

Typy X-vazeb zobrazovaných na záložce

  • Systémové X-vazby dodávané výrobcem. Jedná se typicky o vazby mezi doklady vytvořenými v rámci procesní tvorby dokladů. Jsou popsány dále.

  • Uživatelské X-vazby. Uživatelské X-vazby jsou barevně odlišeny.
    • Uživatelské X-vazby přidané ručně pomocí funkce Přidat. Zapisují se do tabulky UserXLinks. Lze jim upravit poznámku či je odebrat pomocí funkcí Opravit, Odebrat.

      Jsou barevně odlišeny modrou barvou:

      Mezi X-vazbami objednávky přijaté přibyla ručně přidaná uživatelská X-vazba na vybraný doklad pošty, kterým byla objednávka doručena

      ClosedPopis tabulky UserXLinks...Tabulka obsahuje zdrojový a cílový objekt pomocí dvojice ID a třídy objektu. Validnost vazby se nijak v databázi nekontroluje. Nejsou použity databázové cizí klíče, tzn. řádky v tabulce mohou odkazovat na již neexistující objekty a třídy. Řešení by bylo muselo být provedeno prostřednictvím triggerů napříč celým systémem, což by bylo komplikované. Kontrola existence objektů je zajištěna na úrovni aplikace. Tzn. pokud při načítání záložky X-vazby systém narazí na uživatelskou X-vazbu, která odkazuje na již neexistující objekt (zdrojový nebo cílový), tak danou vazbu vymaže. Pokud je odstraněn objekt, na který existují uživatelské vazby, neprovádí se odstranění možných existujících X-vazeb (kontroly u všech DELETE operací by vedly ke zbytečnému zpomalení systému) . Tudíž v tabulce UserXLinks mohou zůstat záznamy na neexistující objekty, což by ale nemělo být na závadu.

    • Uživatelské X-vazby přidané skriptováním do tabulky UserXLinks. Lze u nich skriptováním nastavit, aby se chovaly jako systémové. Pokud nejsou nastaveny jako systémové, jsou stejně jako v předchozím případě, odlišeny modrou barvou a lze je opravit, odebrat. Jsou-li nastaveny jako systémové, jsou odlišeny světlejší černou barvou a opravovat a odebrat je nelze:

      Uživatelská X-vazba na dokumenty, v případě dokumentu SPEC-3/2020 byla nastavena jako systémová

    • Uživatelské X-vazby přidané skriptováním rozšiřující obsah záložky X-vazby o zobrazení již existujících zakázkových vazeb mezi objekty např. přes uživatelskou X položku (jde jen o zobrazení takových vazeb, nevytváří se záznamy do tabulky UserXLinks). K tomu slouží háček AddLinks (Balíčky skriptů, Typ skriptu Business objekt).

      ClosedPopis háčku AddLinks...Umožňuje rozšířit seznam objektů na záložce X-vazby, a to jak přidáním objektů, tak i celých nových skupin objektů. Doporučujeme přidávat objekty na obě strany, tedy jak na zdrojový, tak na cílový objekt, poté uživatel uvidí např. na objektu typu A objekty typu B a také naopak z B uvidí A. Přidání na obě strany je plná X-vazba. Přidání jen na jednu stranu vytváří jednosměrnou vazbu a může být zavádějící, když se zobrazuje na záložce s názvem X-vazby. Viz dále příznak Jednosměrná vazba.

      Zobrazení vazeb na jiné objekty přidané pomocí háčku AddLinks

       

Popis vzhledu záložky a ovládání

V horní části záložky X-vazby je k dispozici položka:

Název Popis
K záznamu Identifikace záznamu (např. číslo dokladu), ke kterému je zobrazen strom vazeb na jiné doklady.

Dále záložka obsahuje strom záznamů navázaných na aktuální záznam ze záložky Seznam. Záznamy jsou pro přehlednost spojeny do skupin dle svého typu. Skupiny dokladů jsou řazeny podle abecedy. Řazení uživatelsky měnit nelze.

Větve stromu zobrazující skupiny systémových X-vazeb jsou ve stromu zobrazeny i v případě, že žádná X-vazba na nějaký konkrétní záznam/doklad zatím neexistuje.

Případ, kdy k dané nabídce vydané zatím neexistuje žádný svázaný doklad. Zobrazují se jen větve pro skupiny systémových X-vazeb, které pro danou agendu výrobce dodává, viz též dále

Podřízené větve stromu, které zobrazující už konkrétní navázané záznamy/doklady, se do stromu přidají automaticky po vzniku dané vazby (tj. např. po vystavení daného dokladu s importem jiného dokladu).

Větve stromu zobrazující uživatelské X-vazby se zobrazí po vytvoření dané vazby uživatelem. Obdobně jsou větve ze stromu odstraňovány, pokud došlo k zániku dané X-vazby. Tj. u systémových vazeb došlo ke smazání daného dokladu či záznamu a vazba již není platná (viz též korekce neplatných volných vazeb), u uživatelských X-vazeb došlo k jejímu zrušení pomocí funkce Odebrat.

Hierarchickým stromovým zobrazením se jinde vyjadřuje spíše vzájemná podřízenost a nadřízenost záznamů. Zde nejde o vyjádření "vzájemné podřízenosti", ale o vyjádření vzájemných vazeb. Důležité je, z pohledu jakého dokladu se na strom vazeb díváme. Z toho plyne, jestli související doklady jsou vzhledem k výchozímu dokladu zdrojovými (podle kterých byl aktuální doklad vystaven), nebo naopak následnými (které byly vystaveny podle něj).

Pro každou větev stromu jsou k dispozici položky:

Název Popis
Záznam

Zde je uvedeno:

  • V kořenu stromu je zde uvedena identifikace aktuálního záznamu, k němuž záložka patří.

    Příklad zobrazení kořene stromu. V tomto případě tedy prohlížíme X-vazby k dokladu FV.

  • Na první úrovni pro každou skupinu dokladů je název skupiny (název třídy Business objektu), které jsou či mohou být svázány s aktuálním záznamem. U agend, kde výrobce dodává systémové vazby, se tato větev stromu zobrazuje i v případě, že zatím žádný související záznam daného typu neexistuje:

    Případ, kdy k faktuře vydané výrobce dodává systémovou vazbu na Daňové zálohové listy, ale zatím k aktuálnímu dokladu žádný neexistuje. Zobrazuje se tedy pouze název typu dokladů, které zde vazbu mohou tvořit

  • Pokud již nějaké související záznamy daného typu existují, pak větev s názvem typu záznamů tvoří uzel stromu, po jehož rozbalení (viz dále Ovládání stromu) jsou zde pak uvedena čísla konkrétních souvisejících dokladů daného typu.

    Případ, kdy k dané faktuře vydané existuje svázaný dobropis.

Poznámka

V položce Poznámka jsou ke každému záznamu uvedeny vybrané důležité informace o něm. U systémových X-vazeb je dáno výrobcem, jaké informace to jsou, a nelze to uživatelsky ovlivňovat. Význam informací je zřejmý z jejich názvu nebo z popisu stejnojmenných položek v jednotlivých agendách. U uživatelských vazeb obsah poznámky zadává uživatel v rámci přidání vazby. Může ji opravit pomocí funkce Opravit.

Zobrazování skladové ceny je podmíněno právem Vidět nákupní ceny.

Pohybovat se po záznamech ve stromu můžete následovně:

  • Kliknutím myší na příslušný záznam.
  • Klávesnicí kurzorovými šipkami nahoru/dolů.
  • Klávesnicí kurzorovými šipkami vpravo/vlevo - platí pro pohyb mezi nadřízenými/podřízenými záznamy, přičemž platí, že stojí-li kurzor na uzlu stromu, který je zabalený, první stisk šipky vpravo tento uzel stromu nejprve rozbalí, další stisk šipky vpravo posune kurzor na první podřízený záznam. Obdobně pro pohyb v opačném směru.
  • Klávesnicí klávesami PageDn/PageUp, Home/End.

Uzly stromu:

Zobrazuje-li větev stromu skupinu záznamů, v níž je alespoň jeden konkrétní navázaný záznam (doklad), nebo zobrazuje-li větev již konkrétní navázaný záznam (doklad), který sám má vazby na jiné související záznamy, pak se vlevo od dané větve zobrazují symbol nebo . Takovým místům stromu pak říkáme uzly stromu, přičemž každý uzel lze dále rozbalit (rozkliknout):

  • - uzel stromu je zabalený, jemu podřízené záznamy nejsou viditelné.
  • - uzel stromu pro danou větev je rozbalený a ve stromu jsou viditelné i všechny záznamy v dané větvi.

Rozbalit/zabalit uzel stromu můžete následovně:

Každý svázaný záznam ve stromu (tedy kromě aktuálního, k němuž patří záložka X-vazby) lze rozbalit. Rozbalovat záznamy stromu můžete teoreticky do libovolné úrovně. Pod rozkliknutou větví s daným záznamem jsou opět uvedeny návazné záznamy související s ním.

Jelikož záložka zobrazuje vzájemné vazby, je zřejmé, že mezi doklady uvedenými jako souvisejícími s rozkliknutým návazným dokladem, musí být uveden i aktuální doklad ze záložky Seznam, k němuž daná záložka patří (tj. lze vidět takový doklad ve stromu vícekrát, podle toho, vazby jakého dokladu si zobrazujeme). Jinými slovy: zobrazená vazba mezi záznamy je vidět nejen z pohledu dokladu, který byl vytvořen ze zdrojového, ale samozřejmě i z pohledu dokladu, podle kterého byl vytvořen doklad následný.

Pokud se některý doklad ve stromu objevuje již na jiném místě o úroveň výše, nejde již podruhé rozkliknout a nezobrazuje žádné jiné informace než svou identifikaci:

Doklad OP-1/2020 je jednak zobrazen jako kořen stromu a jednak jako návazný doklad ve druhé úrovni pod DL-10/2020. Po rozkliknutí DL-10/2020, se v další úrovni zobrazují všechny související doklady s daným DL. Mezi nimi samozřejmě i objednávka OP-1/2020. Tuto OP ale nelze v této další úrovni rozkliknout, jelikož se vyskytuje na jiných místech stromu. Druhou OP-1/2020 samozřejmě rozkliknout lze.

Nastavení uživatelské X-vazby jako systémové: 

Pomocí skriptování nastavením vlastnosti DisplayAsSystem na True. Pokud je nastaven, nemůže jí uživatel opravit či odstranit pomocí funkce Odebrat.

Úprava poznámky zobrazované na záložce X-vazby

U uživatelských X-vazeb, nenastavených jako systémové pomocí funkce Opravit.

U systémových X-vazeb a uživatelských X-vazeb nastavených jako systémové pomocí skriptování pomocí bussines objektu háček pro daný typ objektu. Balíček skriptů - Business objekt, Název skriptu: GetLinkDescription_Hook nebo GetLinkDescription_Hook2.

Viz příklady použití v kap. Příklady pokročilého skriptování.

Zobrazení seznamu v této záložce

V některé části této záložky může být zobrazen Seznam (Panel pro zobrazení seznamu na jiných záložkách), tedy záznamy ze záložky seznam (podrobněji viz Společné prvky v dokladových agendách - záložka Detail).

Zobrazení seznamu závisí na aktuálním nastavení v menu Nastavení pro danou agendu a přihlášeného uživatele.

Funkce k této záložce:

Funkce, které jsou zde k dispozici:

Název Kl. Doplňující popis
Nový

F2 nebo shift+F2

Funkce vytvoří k aktuálnímu dokladu příp. k označeným dokladům nový doklad, jehož typ je dán v dané agendě možností nebo může být i určen typem dokladu, na němž bude umístěn fokus ve stromu vazeb (podle možností dané agendy).

Podle možností dané agendy se může jednat o funkční tlačítko s volbou:

  • Nový
  • Nový s menu - v případě, že je v dané agendě možno vytvářet více typů návazných dokladů. Pak se nejdříve zobrazí dialogové okno pro výběr typu dokladu, ze kterého vyberete, jaký doklad si přejete vytvářet.

Systém dále pokračuje tvorbou nového dokladu příslušného typu. Konkrétní podoba této funkce v agendách, kde je k dispozici, viz popis systémových vazeb dodávaných výrobcem.

Otevřít

F6 nebo shift+F6

Otevře agendu souvisejícího záznamu dokladu resp. dokladů s daným dokladem resp. doklady.

Jedná se o funkční tlačítko s volbou:

  • otevřít zde - otevře agendu příslušných záznamů "přes" agendu záznamu, jehož záložku X-vazby si prohlížíme
  • otevřít samostatně.

Podle této volby funkce vyvolá agendu aktuálního záznamu a otevře ji buď "přes" agendu záznamu, jehož záložku X-vazby si prohlížíme (tj. záznamu uvedeného v kořeni stromu vazeb), anebo samostatně. Zde jsou k dispozici všechny funkce dané agendy. Takto odtud vyvolaná agenda se otevře rovnou s přednastaveným omezením, tzv. červeným omezením, a to podle toho, k jaké větvi stromu vazeb byla funkce vyvolána:

  • pokud je fokus na větvi s konkrétním záznamem, otevře se agenda tohoto záznamu. Pokud se jedná o doklad, otevře se daná dokladová agenda s přednastaveným červeným omezením jen za ten jeden aktuální doklad. Toto červené omezení však můžete v záložce Omezení vyvolané agendy standardně zrušit (vyčistit) a získat záznamy podle libovolného jiného omezení, nebo zcela bez omezení (a mít pak k dispozici seznam všech existujících záznamů (dokladů) daného typu apod.). Pokud se jedná o číselníkový záznam, otevře se daný číselník a kurzor se postaví na daný záznam.
  • pokud je fokus nad větvi označující skupinu záznamů, kde je více záznamů, otevře se agenda s těmito záznamy. Tedy pokud se jedná o doklady, otevře se s červeným omezením za tyto doklady. Pokud se jedná o číselníkové záznamy, otevře se číselník a zafiltruje se za záznamy, které jsou ve skupině. Pokud je skupina prázdná otevře se číselník bez preference záznamu.

Toto červené omezení však můžete v záložce Omezení vyvolané agendy standardně zrušit (vyčistit) a získat záznamy podle libovolného jiného omezení, nebo zcela bez omezení (a mít pak k dispozici seznam všech existujících záznamů (dokladů) daného typu apod.). Objasníme na příkladu:

Příklad: V záložce X-vazby pro objednávku přijatou OP-4/2020 nechť jsou zobrazeny vazby:

Pokud kurzor bude stát na větvi "Dodací listy" dle obrázku výše, funkce otevře agendu Dodací listy omezenou za DL-1/2023 a DL-2/2023 . Tedy v záložce Seznam uvidíme oba dva návazné doklady DL. Pokud by kurzor stál přímo na jednom z dokladu Dodací list, např. na DL-2/2023, otevřela by se agenda Dodací listy omezená jen za tento doklad.

Občerstvit

F11

Umožňuje provést standardně občerstvení seznamu dokladů v této záložce.
Firma

ctrl+F

Funkce otevře agendu Adresář firem a v její záložce Seznam postaví fokus na firmu uvedenou v hlavičce dokladu, na kterém stál fokus v záložce X-vazby (tj. dokladu uvedeného v kořeni stromu vazeb).

Funkce není k dispozici:

  • pokud stojí fokus na větvi s typem dokladů a ne na konkrétním dokladu
  • pokud stojí fokus na záznamu, kde se firma nezadává, tj. buď na dokladu, na němž se firma nezadává (např. doklady Pořízení majetku apod.) nebo na většině číselníkových záznamů. Pokud se ale firma u daného číselníkového záznamu zadává (např. Obchodní případy) a je zadána, pak je funkce Firma k dispozici.

Jedná se o funkční tlačítko s volbou:

  • otevřít zde - otevře agendu Adresář firem "přes" agendu záznamu, jehož záložku X-vazby si prohlížíme
  • otevřít samostatně.

Podle této volby funkce vyvolá agendu Adresář firem a otevře ji buď "přes" agendu záznamu, jehož záložku X-vazby si prohlížíme (tj. dokladu uvedeného v kořeni stromu vazeb), anebo samostatně. Zde jsou k dispozici všechny funkce agendy Adresář firem.

Funkce umožňuje např. komfortnější a rychlejší zadání potřebných údajů o novém zákazníkovi. Objasníme na příkladu:

Mějme firmu, které zaplatil nový zákazník zálohový list. Na základě zálohového listu vystaví pracovník firmy fakturu vydanou na zaplacené zboží a ze záložky X-vazby v agendě Faktur vydaných může rovnou vyvolat Adresář firem a doplnit údaje o zákazníkovi související s prodaným zbožím - čísla licencí produktů, které si zákazník koupil, kontaktní osoby, ...

Přidat

F2

Slouží pro přidání uživatelské X-vazby ručně. Po jeho stisku se otevře dialogové okno Přidání uživatelské vazby,

Příklad dialogového okna, kde vyberete třídu objektu

 

Zde lze vybrat libovolný objekt, který má vizuální agendu a zadat další údaje:

Název Popis
Třída

Třída Business objektu (BO), na jejíž záznam chcete vytvořit vazbu. Třídu vyberete ze skrytého seznamu. Předvyplňuje podle toho, na jakém typu skupiny/objektu stojí aktuálně kurzor ve stromu na záložce x-vazby (pro kořenový záznam se použije naposledy použitá třída).

Nabízí se jen ty třídy BO, které danou funkcionalitu podporují (dáno výrobcem).

Řetězec, pod kterým se jednotlivé třídy v seznamu nabízejí, odpovídá položce "Popis" daného Business objektu a můžete podle ní i daný Business objekt dohledat v popisu Struktur a definic GenDoc.chm.

Poznámka

Pokud je vyplněna poznámka, je tento text zobrazován jako součást textu ve sloupci poznámka, kde se zobrazuje zadaná poznámka + systémová poznámka pro daný typ objektu.

Jednosměrná vazba

Příznak jednosměrná vazba slouží k možnosti založení jen jednosměrnné vazby (tzn. vybraný objekt bude vidět jen na zdrojovém objektu, ale na vybraném objektu nikoli).

Doporučujeme přidávat obousměrné vazby. Poté uživatel uvidí např. na objektu typu A objekty typu B a také naopak z B uvidí A. Přidání na obě strany je plnohodnotná X-vazba. Přidání jen na jednu stranu vytváří jednosměrnou vazbu a, i když je možné, je třeba si uvědomit, že může být zavádějící, pokus se zobrazuje na záložce s názvem X-vazby (křížové vazby).

Po stisku tlačítka Dokončit se otevře daná agenda, kde vyberete záznam, na který chcete vytvořit vazbu. Lze vybrat i více označených záznamů. Pokud je vybráno více jak 10 záznamů najednou, zobrazí se upozornění, že to je neobvyklé a musí akci potvrdit tlačítkem Ano.

Přidané uživatelské X-vazby budou od systémových barevně rozlišeny, viz výše.

Pokud vybraný objekt nemá název, tak je automaticky zobrazen text “Bez názvu (identifikace ID)".

Pokud je objekt typu řádkový (podporuje rozhraní INxNotPositionedDataRow), tak se místo pouhého zobrazení názvu “Řádek 1“ název rozšíří i o název jeho hlavičky. Případná rekurze je zamezena omezení volání po dosažení délky textu 1000 znaků.

Příklad zobrazení vazby na řádkový objekt

Opravit

F4

Slouží pro opravu poznámky a jednosměrovosti vazby u uživatelské X-vazby. Není k dispozici pro uživatelské X-vazby nastavené jako systémové a pro systémové X-vazby. Poznámku u systémových vazeb lze upravit pomocí skriptování. Viz výše Úprava poznámky zobrazované na záložce X-vazby.

 

Odebrat

F8

Slouží pro odebrání uživatelské X-vazby ručně. Odebere aktuální záznam nebo všechny ve skupině, pokud fokus stojí na větvi dané skupiny. Není k dispozici pro uživatelské X-vazby nastavené jako systémové a pro systémové X-vazby.

Systémové X-vazby vybraných agend

Na závěr zde popíšeme vazby některých vybraných agend, u nichž výrobce dodává systémové X-vazby. U některých z nich totiž nemusí být zcela zřejmé, z jakých okolností daná X-vazba vznikne.

Ačkoliv je na záložce teoreticky možné zobrazovat libovolné vazby automaticky vznikající mezi doklady, některé druhy vazeb mezi doklady v ní záměrně zobrazovány nejsou (např. platby, zaúčtování). Důvodem je to, že na zobrazení těchto informací existují již jiné samostatné záložky a vedlo by to ke zbytečné nepřehlednosti.