Jak omezit doklady bez přílohy
Při práci v systému ABRA Gen můžete narazit na to, že budete potřebovat omezit doklady za ty, které nemají připojenou přílohu na záložce Přílohy. Na záložce Omezení přitom není taková volba dostupná. Lze to však vyřešit pomocí volby Výraz a přidáním jednoduchého výrazu. Ukážeme si vytvoření takového omezení v agendě Faktury přijaté, kde dohledáme doklady bez přílohy. S malou obměnou lze tento příklad použít i pro ostatní (nejen dokladové) agendy. Vytvořené omezení si můžete uložit stejně jako jakékoliv jiné a poté jej mít k dispozici pokaždé, když ho budete potřebovat. Na závěr si ukážeme ještě opačnou možnost, tedy omezením získat doklady, které přílohu již obsahují.
Příklad si budeme ukazovat nad databází Firebird, pro ostatní databáze (MSSQL, Oracle) se může výraz lišit a je třeba si jej patřičně upravit.
Vytvoření výrazu pro doklady bez přílohy
1. V agendě Faktury přijaté se přepneme na záložku Omezení a zde můžeme buď napsat slovo "Výraz" do pole Filtrovat, nebo najdeme omezovací položku Výraz, která je úplně dole v seznamu položek.
V našem případě jsme se na položku "Výraz" dostali tak, že jsme posuvníkem zarolovali až dolů, kde se položka nachází.
2. Klikneme na tři tečky, aby se otevřel Editor výrazů.
Editor je nutné otevřít přes tři tečky označené na obrázku.
3. Po otevření editoru do něj vložíme následující výraz:
not exists
(select 1 from relations RE where RE.REL_DEF = 601 and Leftside_ID=A.ID)
Pro jistotu si ověříme, že je výraz funkční, a to tlačítkem Test.
Kromě tlačítka Test lze použít i tlačítko Test (chybné SQL do clipboradu). Jediný rozdíl je v tom, že pokud by výraz obsahoval chybu, uložil by se do schránky Windows.
4. Po uložení výrazu a zavření editoru zobrazíme doklady Faktury přijaté, které k sobě nemají navázanou žádnou přílohu, tlačítkem Získat záznamy. Nyní můžeme také omezení uložit pro další použití.
Vytvoření omezení dalších dokladů bez přílohy
Obdobně, jako jsme vytvořili omezení pro faktury přijaté, můžeme vytvářet stejná omezení pro další dokladové agendy. Ve výrazu se bude měnit pouze číslo relace (vazby). V následujícím postupu si ukážeme, kde číslo relace najít a kde se ve výrazu nachází.
1. Budeme potřebovat technickou dokumentaci GenDoc.chm. která se nachází v instalačním adresáři s ABRA Gen.
Pokud používáte naše cloudové služby, nebudete mít tento soubor přístupný. Obraťte se prosím na podporu cloudových služeb, kde vám rádi technickou dokumentaci dají k dispozici.
2. Po otevření technické dokumentace klikneme v levém stromě na Seznam relací a následně uprostřed okna na Dokumenty.
3. Nyní vidíme seznam vše relací vztahující se k dokumentům.
Seznam nemusí být kompletní, a naopak se některé relace mohou opakovat. Kompletní seznam získáte na předchozí obrazovce, kde je možná vypsat všechny existující relace.
3. Nyní si vybereme relaci (vazbu), která nás zajímá. Například nás bude zajímat vazba dokumentů na Pokladní příjem. Na obrázku níže jsme dali do samostatného rámečku Typ vazby, tedy v tomto případě číslo 607. To pro nás bude důležité v dalším kroku.
4. Nyní si otevřeme agendu Pokladní příjmy a do záložky Omezení do pole Výraz vložíme opět výraz, který jsme použili pro Faktury přijaté.
not exists
(select 1 from relations RE where RE.REL_DEF = 601 and Leftside_ID=A.ID)
5. Ve výrazu si najdeme číselnou hodnotu, která je v tomto případě 601, viz obrázek.
Hodnotu 601 zaměníme za hodnotu 607, což je vazba Dokumentů na Pokladní příjmy. Výraz tedy bude vypadat následovně:
not exists
(select 1 from relations RE where RE.REL_DEF = 607 and Leftside_ID=A.ID)
Klikneme na tlačítko Získat záznamy a výsledkem budou záznamy dokladů Pokladní příjmy, které na sobě nemají přílohu.
Omezení za doklady, které obsahují přílohu
Pokud naopak potřebujeme získat pouze doklady, které přílohu mají, postupujeme obdobně jako v příkladech výše, jen ve výrazu vynecháme slovo "Not". Výraz poté bude vypadat následovně:
exists
(select 1 from relations RE where RE.REL_DEF = 607 and Leftside_ID=A.ID)
Tímto výrazem získáme seznam dokladů, které mají připojenou přílohu. Omezení si opět můžeme uložit pro další použití.