Príklady použitia vybraných funkcií a výrazov
V tejto kapitole nájdete zopár príkladov, na ktorých je demonštrované použitie niekoľkých vybraných funkcií. Funkcií, ktoré sú k dispozícii je však niekoľkonásobne viac a účelom tejto kapitoly nie je popisovať ich význam a syntax. Popis a syntax každej dostupnej funkcie je k dispozícii priamo v editore výrazov.

NxAccountID(<Value>)
Použitie hlavne v definícii predkontácií. Vo výrazových položkách účtu musí byť výraz, ktorého hodnotou je interný identifikátor účtu z účtovnej osnovy. Na to slúži práve táto funkcia. Vráti identifikátor prvého nájdeného účtu v osnove, ktorý začína reťazcom zadaným ako Value.
Potrebujeme predkontovať účet MD pre faktúry vydané. Majme v osnove účty 31100, 31110, 31115 a 31120. Ak zapíšeme NxAccountID('311'), predkontuje účet 31100 ), ak NxAccountID('3111'), predkontuje účet 31110. Ak by sme chceli predkontovať 31115, musíme zapísať NxAccountID('31115').
NxConditions
Použitie v tlač. zostavách, zvyčajne v záhlaví celej zostavy. Ak je použitá, vypíše zadané obmedzujúce podmienky pre zostavu.
Vypisujeme knihu faktúr obmedzenú za obdobie a menu. Výraz NxConditions vložený do záhlavia zostavy potom vpíše do jednotlivých riadkov zoznam obmedzujúcich podmienok, napr.:
Obdobie:1999,2000
Mena:EUR
Pozor, v tomto prípade dopredu nevieme, koľko obmedzujúcich podmienok bude začiarknutých, preto by pre správnu funkciu malo byť pri danom pruhu nastavené Automatické rozťahovanie (viď Vlastnosti daného pruhu (bandu) v definícii tlačovej zostavy).
Funkcia NxConditions vracia obmedzujúce podmienky tak, ako boli zadané v záložke Obmedzenie danej agendy jedine v prípade, že používate funkciu Tlač s voľbou Všetko podľa definície obmedzenia (s občerstvením). Pokiaľ používate inú voľbu, potom funkcia nevypisuje výpočet obmedzujúcich podmienok, ale len stručnú informáciu o počte vybraných záznamov.
NxInputDialog(<Str1>, <Str2>, <Str3>)
Funkcia umožní do tlačenej zostavy vložiť textový reťazec zadaný užívateľom v dialógovom okne, ktorý sa mu po voľbe príslušnej tlač. zostavy ponúkne. Dialógové okno má nadpis podľa parametra Str1 a menovku editačného poľa podľa parametra Str2. Funkcia vytlačí buď hodnotu zadanú užívateľom v dialógovom okne, alebo vytlačí hodnotu zadanú v premennej Str3. Využijete v prípadoch, kedy potrebujete do tlačí vkladať premenné texty, pri ktorých nie je praktické mať ich natvrdo nadefinované priamo v definícii zostavy (napr. práve z dôvodu variability).
Do tlačovej zostavy napr. objednávky vydanej pridáme napr. do päty funkciu NxInputDialog('Zadajte text, ktorý chcete vytlačiť', 'Požadovaný text',''). Potom po vybratí tejto zostavy k tlači sa ponúkne okno:
Príklad vyvolaného dialógu
V tomto prípade sa na koniec tlačového výstupu vytlačí zadaný text (na zvýraznenie môžete nastaviť napr. iný font apod.). Pokiaľ by text nebol zadaný, nebude sa tlačiť nič, nakoľko hodnotou parametra <Str3> je prázdny reťazec.
NxFormatDate(<Str1>,<Var1>)
Sformátuje dátum do požadovaného tvaru podľa reťazca v parametri Str1.
Majme položku MAIN.FileInDate$DATE, ktorá sama o sebe bude dátum tlačiť napr. 5.7.2001. Ak použijeme funkciu NxFormatDate('MM/DD/YYYY', MAIN.FileInDate$DATE), tak obdržíme 07.05.2001.
NxGetCompany
Sada funkcií na získanie údajov o vedenej firme (jedná sa o údaje spracovávanej firmy, ako je vlastná adresa, IČO a pod. (takže nejedná sa o údaje firiem z adresára).
NxGetDocumentNumber(<DocQueues>,<DocumentNumber>,<Period>)
V databáze sa nepamätajú priamo čísla jednotlivých dokladov, ale len poradové číslo a odkazy na daný zdrojový rad dokladov a obdobie. Pokiaľ teda chceme na doklad vytlačiť číslo dokladu:
Do hlavičky formulára dokladu vložíme výraz NxGetDocumentNumber(MAIN.DocQueue_Code,MAIN.OrdNumber,MAIN.Period_Code). Funkcia vráti číslo dokladu zložené zo skratky (napr. FV), poradového čísla v rade (napr. 112) a kódu obdobia (napr. 2001). Teda výsledkom bude FV112/2001.
Existuje aj iné riešenie tejto požiadavky, podrobnejšie viď kap. Príklady riešenia tlače vybraných úloh.
NxGetUserName(<ID>)
Vracia meno užívateľa, ktorého interný identifikátor (ID) je uvedený ako parameter danej funkcie. Využíva sa najmä v tlačových zostavách, kde sa pamätá vždy len odkaz na ID užívateľa, ktorý doklad vystavil resp. opravil a nie jeho meno. V tlačových zostavách je ale samozrejme požadované meno užívateľa.
Tlač. zostava formulára dokladu, napr. faktúry vydanej. Odkaz na užívateľa, ktorý ju vystavil, je uvedený v hlavičke faktúry v položke CreateBy_ID. Riešenie: Takže napr. do zostavy vložíme výraz NxGetUserName(MAIN.CreateBy_ID), ktorý vytlačí na doklad faktúry vydanej užívateľa, ktorý ju vystavil.
Existuje aj iné riešenie tejto požiadavky, podrobnejšie viď kap. Príklady riešenia tlače vybraných úloh.
NxPad(<S>,<Count>,<Char>), NxPadL, NxPadr
Sada funkcií, ktoré reťazec S doplní z oboch strán, resp. zľava, resp. sprava znaky Char na počet Count.
Premennú A, ktorá obsahuje reťazec 99, chceme vytlačiť v tvare '0099'. Riešenie: NxPadL(A,4,'0').
NxSQLSelect(<SQL Select statement>)
Pomocou tejto funkcie je možné získať informácie z akéhokoľvek SQL selectu, ktorý je priamo parametrom funkcie. Příklad volání: NxSQLSelect('SELECT sum(LocalAmount) from ReceivedInvoices'). Funkce kontroluje, zda je zadaný výraz skutečně typu Select - pokud ne, nic neprovede. Kromě vlastního dotazu je možné funkci předat ještě několik dalších volitelných parametrů, aktuální popis je k dispozici přímo v editoru výrazů.
Použití funkce je možné omezit na určité databázové tabulky.

Výraz na zistenie počtu záznamov v kolekcii
Na položke, ktorá je typu kolekcia použiť tento zápis: MAIN.ID.Rows#Count
Vráti to počet záznamov v kolekcii.
Použité napr. v definícii tlačového formulára pokladničného príjmu, kde sa týmto overuje, či má doklad len jeden riadok a súčasne sa tým sleduje, či je to platba a pokiaľ áno, tak sa tlač vykoná inak, ako pri bežnej pokladničnej príjemke, ktorá nie je len platbou predpisu.