Jak vytvořit panel definovatelných údajů zobrazující stav skladu

V následujícím článku si ukážeme, jak si můžeme snadno v panelu definovatelných údajů pomocí funkce zobrazovat stav skladových karet na skladech, aniž bychom museli otevírat agendu Dílčí skl. karty. Panel si ukážeme nad agendou Skladové karty, ale použít jej můžeme například i v dokladových agendách nad záložkou Obsah.

Vytvářet či editovat panely definovatelných údajů mohou jen ti uživatelé, kteří mají oprávnění tuto činnost provádět. Pokud vás systém ABRA Gen informuje, že nemáte oprávnění, požádejte svého administrátora systému k udělení práv.

1. Zobrazení editoru panelu definovatelných údajů a jeho nastavení

Panel definovatelných údajů není standardně zobrazen a je potřeba jej zapnout. Nad agendou Skladové karty stiskneme Menu a v něm vybereme volbu Ostatní nastavení. Zde pak volbu Panel definovatelných údajů seznamu a zde volbu Editor definic.

Po otevření agendy Skladové karty klikneme na ikonu Menu a postupujeme dle popisu nad obrázkem.

Zobrazí se prázdný Editor zobrazovaných údajů, ve kterém budeme provádět úpravy.

Pokud provedeme postup popsaný výše, zobrazí se Editor zobrazovaných údajů, který bude na počátku prázdný.

Abychom nepřišli o nic z toho, co vytvoříme, nejprve si definici uložíme. V editoru klikneme na tlačítko Uložit jako. Následně se zobrazí okno pro uložení definice, kam si napíšeme její název. V našem případě jsme ji pojmenovali Sklady. Pokud má být definice globální, tzn. viditelná pro všechny uživatele, zatrhneme i tuto možnost. V našem případě ponecháme možnost Globální prázdnou.

Nejprve si definici uložíme. Tlačítkem Uložit jako vyvoláme okno, kam napíšeme název, pod kterým budeme mít definici uloženou. V našem případě jsme ji pojmenovali Sklady.

Nyní budeme potřebovat upravit počet řádků a sloupců panelu, aby odpovídal počtu našich skladů. To provedeme tlačítkem Nastavení.

Abychom mohli upravit počet sloupců a řádků v panelu, stiskneme tlačítko Nastavení.

V nastavení zvolíme požadovaný počet řádků a sloupců. V našem případě jsme nastavili 3 řádky a 2 sloupce. Poté stiskneme OK.

Nastavíme požadovaný počet řádků a sloupců, a to tak, jak je vidět na obrázku. Poté stiskneme tlačítko OK.

2. Přidání textu do panelu

V předchozím bodu jsme si zobrazili panel definovatelných údajů a nastavili, aby zobrazoval 3 řádky a 2 sloupce. Tedy bude vypadat jako na obrázku níže.

Po nastavení panel zobrazuje 3 řádky a 2 sloupce, jak vidíme na obrázku.

Dvojklikem myši klikneme do prvního řádku a levého sloupce. Tím se otevře okno Obsah buňky.

Dvojitým poklepáním myši do první buňky prvního řádku se otevře okno obsahu buňky.

Do této buňky do pole Text napíšeme název skladu, který budeme chtít zobrazovat. V našem případě Sklad 01.

Do pole s nadpisem Text vepíšeme název skladu, jak jej budeme chtít zobrazovat. V našem případě Sklad 01.

Tento krok není povinný a je zde jen proto, abychom si ukázali možnosti formátování textu.

Ve stejném okně přepneme se na záložku Formát, kde zatrhme volbu Tučné písmo. Můžeme dle libosti zatrhnout i volby Vlastní barva písma a Vlastní barva podkladu a zvolit různé barvy pro písmo i podklad. My jsme v příkladu využili pouze volbu tučného písma.

Na záložce Formát si zatrhneme volbu tučné písmo. Libovolně si ale můžeme nastavit také barvu nebo pozadí textu.

Výsledek bude vypadat jako na obrázku níže.

Na obrázku vidíme již vytvořený tučný text pro Sklad 01.

Stejný postup, jakým jsme přidali text pro Sklad 01, použijeme i pro přidání názvu Sklad 02 a 03 do druhého a třetího řádku. Výsledek bude ten, že budeme mít 3 řádky a na každém bude jeden název skladu. Bohužel nelze použít kopírování buňky, je tedy nutné postup pro každou buňku opakovat.

Zopakováním postupu z předchozích bodů jsme přidali další dva sklady, celkem máme tedy 3 sklady, u kterých budeme chtít zobrazovat jejich aktuální skladovou zásobu.

3. Přidání funkce pro získání stavu na skladu

Nyní do vedlejšího sloupce vedle názvu skladu vložíme funkci, která nám bude zobrazovat aktuální množství na skladě. Dvojklikem otevřeme buňku a v položce Typ vybereme z nabídky volbu Objekt.

Dvojitým klikem myši otevřeme editaci buňky a jako Typ zvolíme Objekt.

Následně klikneme na šipku vpravo v poli Objekt, abychom otevřeli okno pro editaci výrazů.

Pro otevření okna pro zadání výrazu klikneme na šipku vpravo, viz vyznačení na obrázku.

Nyní se nám otevřelo okno pro editaci výrazů.

Po kliknutí na šipku, viz předchozí obrázek, se otevře okno pro editaci výrazu.

Pro získání informace o dostupném množství využijeme funkci s názvem NxGetAvailableQuantity. Název této funkce buď celý, nebo jeho část zadáme do pole s vyhledáváním funkcí dle obrázku.

Do pole pro hledaní zadáme buď celý název, nebo jen část názvu funkce, jak to vidíme na obrázku, kde jsme zadali pro hledání pouze "ava" a funkce se dohledala.

Dvakrát na funkci klikneme, čímž se funkce vloží do pole pro vytvoření výrazu. Za funkci rovnou doplníme závorky, do kterých budeme v dalším kroku doplňovat parametry funkce.

Dvojitým poklepáním na funkci ji vložíme do pole pro výraz a za funkci doplníme kulaté závorky.

Funkce vyžaduje dva parametry. Tím prvním je ID skladové karty. Druhým parametrem pak je ID skladu, u kterého nás zajímá množství na skladě. Abychom nemuseli ID skladu složitě hledat, použijeme funkci NxStoreID, která umí vrátit ID skladu a jako vstupní parametr potřebuje pouze kód skladu. Zápis bude vypadat následovně:

NxGetAvailableQuantity(ID, NxStoreID('01'))

Do funkce NxGetAvailableQuantity jsme přidali ještě funkci NxStoreID, abychom nemuseli dohledávat ID pro sklad. Zelené číslo '01' značí kód skladu.

Celý výraz si můžeme zkopírovat a vložit jej do zbývajících dvou buněk pro sklady 02 a 03. Jediná změna bude v kódu skladu, kde pro sklad 02 a 03 vyměníme jeho kód, aby se množství zobrazovalo pro správný sklad. Následně bude panel vypadat podobně jako ten na obrázku.

Výraz, který je uveden výše, vložíme i do zbývajících dvou buněk a zaměníme kód původního skladu za kód požadovaného skladu. Výsledkem je zobrazení množství na třech skladech.

Tímto bychom mohli celý návod uzavřít. Ať máme fokus na kterékoliv skladové kartě, vždy vidíme dostupné množství pro 3 sklady, které jsme nadefinovali. My si však náš příklad v dalším bodě ještě o něco vylepšíme.

4. Vylepšení o barevné podmínkování řádků podle stavu na skladu

Předchozí příklad si vylepšíme o to, že pokud bude množství na skladě rovno nule, bude číslovka červeně, a takový řádek se zobrazí jen v případě, kdy bude množství nula. V ostatních případech se bude zobrazovat řádek jiný, kde ponecháme černou barvu jako v ostatních případech.

Úpravy budeme dělat pro Sklad 03. Nejprve si otevřeme editaci buňky, kde máme výraz, a na záložce Formát si vybereme barevnou kombinaci pro případ, kdy na skladě bude nulové množství.

Ve vlastnostech buňky na záložce Formát si vybereme vlastní barevnou kombinaci pro případ, že množství na skladě bude nulové.

Následně se přepneme na záložku Data a zkopírujeme si Výraz z pole Objekt přes zkratku ctrl+C do schránky. Poté se přepneme do záložky Podmínky a zde přes šipku otevřeme pole Podmínka řádku.

Na záložce Podmínky si otevřeme přes šipku pole Podmínka řádku.

Do otevřeného okna nakopírujeme náš výraz ze schránky přes zkratku ctrl+V a doplníme za něj "=0". Tím zajistíme, že se řádek zobrazí jen v případě splnění podmínky, kdy množství na skladě bude 0.

NxGetAvailableQuantity(ID, NxStoreID('01')) = 0

Ke zkopírovanému výrazu doplníme "= 0", čímž vytvoříme podmínku, kdy se bude řádek zobrazovat.

Nyní by se však zobrazovalo množství pro Sklad 03 jen v případě, kdy bude nulové, jinak by se řádek pro tento sklad nezobrazoval. Protože však potřebujeme vidět i kladné množství, musíme přidat ještě jeden řádek s jednou další podmínkou.

Klikneme libovolně do panelu definovatelných údajů pravým tlačítkem a vybereme volbu Vložit a zde Řádek.

Pravým tlačítkem myši vyvoláme nabídku vložení nového řádku.

Po vložení bude řádek přidán na konec pod existující tři řádky.

Na obrázku vidíme, že k existujícím třem řádkům byl přidán nový řádek.

Do tohoto řádku do první buňky napíšeme stejný text jako na třetím řádku, tzn. v našem případě Sklad 03. Do vedlejší buňky nakopírujeme výraz z předchozího řádku. Nyní budeme mít dva velmi podobné řádky, kdy oba budou zobrazovat stejnou hodnotu na skladu, tak, jak to vidíme na obrázku.

Přidaný čtvrtý řádek je na první pohled totožný s třetím řádkem.

Nyní do čtvrtého řádku přidáme podmínku, aby se řádek zobrazoval jen v případě, že bude množství na skladě vyšší než nula. Můžeme si zkopírovat opět přes klávesovou zkratku ctrl+C podmínku ze třetího řádku, záložky Podmínky.

Ze záložky Podmínky ve třetím řádku si zkopírujeme podmínku.

Zkopírovanou podmínku následně vložíme do čtvrtého řádku do Podmínky řádku. Konec podmínky však lehce upravíme a místo rovnítka použijeme znak ">", bude tedy vypadat následovně:

NxGetAvailableQuantity(ID, NxStoreID('01')) > 0

Podmínku ze třetího řádku jsme vložili i pro čtvrtý řádek a provedli pouze změnu znaménka.

Následně po potvrzení změn bude panel definovatelných údajů u karet, které mají nulové množství, vypadat jako na obrázku. Nula bude barevně zvýrazněna.

Panel definovatelných údajů pro skladové karty, kde je nulové množství, na Skladu 03 zobrazuje množství jinou barvou s odlišným barevným podkladem.

Naopak pro skladové karty, kde je na Skladu 03 zásoba vyšší než 0, se zobrazuje množství černou barvou jako na ostatních skladech.

Panel definovatelných údajů pro skladové karty, kde je vyšší než nulové množství.

Samozřejmě podmínek bychom mohli vymyslet celou řadu. Například bude-li na skladě množství vyšší než 10 kusů, může být číslovka zelená apod. Toto byl pouze jeden z příkladů, jak je možné využít podmínky v rámci panelu definovatelných údajů ve spojení s funkcí, která zobrazuje stav určeného skladu.