Abonenti

Všeobecný popis formulářů aplikace, jejich základních možností a způsobu ovládání najdete na stránkách


Rozšíření struktury databáze Gx

Veškerá data aplikace "Abonenti" jsou uložena v databázi Gx. Je tedy nutné strukturu této databáze odpovídajícím způsobem rozšířit o specifické entity aplikace. Způsob tohoto rozšíření závisí na verzi systému Gx. Do verze 10.01.08 včetně byla podporována úprava databáze pomocí definičního souboru NXD, u verzí novějších byl tento mechanismus bez náhrady zrušen a úpravu je nutno provést standardní utilitou databázového serveru.

Verze Gx 10.01.08 a starší.

Datové struktury jsou definovány v souboru TWAxxx.NXD (xxx=číslo verze TWA, k verzi programů TWA 1.24.x.x je tedy jméno nxd souboru "TWA124.nxd", k verzi 1.25.x.x "TWA125.nxd" atd). Tento soubor je součástí instalace (podadresář "\install"). Pro spuštění aplikace tedy:

Pro další zálohování a obnovy databáze již není nutno nastavení definičního NXD souboru měnit, program Gx použije vždy vlastní NXD soubor jehož jméno vygeneruje podle vlastních konvencí pro tvorbu jmen souborů zálohy.

Kromě této úpravy je nutno v databázi Gx dodefinovat položky do standardních tabulek databáze.

Verze Gx 10.02.08 a novější.

Upozornění: Nový způsob zálohování a obnovy dat v systému Gx (soubory ABF) má ještě určité nedostatky a zdá se, že se na něj nelze dost dobře spolehnout. Pomineme-li drobné formální nedostatky a překlepy (například vzhledem k neexistenci tlačítka "Dále" je poněkud zmatečná výzva "Pokud si přejete pokračovat, klikněte na tlačítko Dále" při nastavování parametrů obnovy v nové verzi programu DBAdmin), podstatné je, že často nelze obnovit data ani ze zálohy právě vytvořené a pokus o přenos dat ve formě zálohy ABF mezi instalacemi je odsouzen k nezdaru s pravděpodobností blízkou jedné. Přitom chyby které program při obnově hlásí zdaleka nemusí souviset jen s rozšířením databáze ale můžete se dočkat i při pokusu o obnovu  dat ze zálohy právě vytvořené v "čisté" nové instalaci Gx třeba hlášení:

Chyba při vykonávání SQL příkazu:
Dynamic SQL Error
SQL error code = -842
Positive value expected
Komentář:
DECLARE EXTERNAL FUNCTION IB_CONVCHARTOINT Cstring(0) RETURNS Integer BY VALUE ENTRY_POINT 'ib_convchartoint' MODULE_NAME 'nxudf'
Zkontrolujte, zda máte spuštěn databázový server.

A aby bylo ještě hůř, pokusíte-li se provést obnovu z téhož souboru znovu (systém vám ani jinou možnost nedává), chybové hlášení kterým opakovaný pokus skončí může ale nemusí být stejné.
Za současného stavu nelze tedy přechod na novější verzi systému Gx doporučit. Pokud se přesto pro novou verzi rozhodnete, zálohujte si raději databázi standardní utilitou gbak. Vytvořený záložní soubor bude sice větší než ABF záloha, podstatné ale je, že získáte spolehlivou zálohu ze které databázi kdykoliv bez problémů obnovíte, navíc proces obnovy utilitou gbak je podstatně rychlejší než obnova ze souboru ABF.


Definované položky

Všechny položky podle následující tabulky musí být definovány s atributem extra a nesmí mít nastaven příznak pouze čtení! Musí být definovány s názvem (velká písmena!) a typem zde uvedeným. Dodefinované položky u kterých je to v tabulce uvedeno by měly mít nastaven příznak "jen ke čtení" na formulářích na kterých jsou případně zpřístupněny uživateli. Zápis hodnot těchto položek musí být totiž umožněn programu, uživatel by je ale přepisovat za normálních okolností neměl.
Vlastnosti "Používat pro omezení výběru dat" a "Umožnit podle této položky řadit seznam" v definici položek můžete nastavit libovolně podle vlastního uvážení a máte-li verzi systému Gx alespoň 8.04.03, můžete navíc pro každou dodefinovanou položku zaškrtnout volbu "Vytvořit index". Zbytečně definované indexy ovšem zatěžují SQL server údržbou datových struktur indexu bez pozorovatelného efektu, naopak vhodně definovaný index může výrazně zrychlit práci programů s daty. Obecně nemá smysl definovat index pro sloupce s malou selektivitou (např.položky typu Ano/Ne nebo položky typu "výčet" s několika málo možnými hodnotami) a naopak je vhodné definovat index pro položky které jsou "odkazem" na asociovaný záznam v databázi. Ve sloupci "Index" v následujících tabulkách je orientačně uveden znak "A" je-li definování indexu doporučeno a znak "N" nemá-li index valný smysl. Je-li údaj ve sloupci "Index" nevyplněný, rozhodnutí zda vytvořití index je ponecháno plně na uživateli. Chcete-li například podle položky X_FIXVS v záznamu firmy řadit seznam a používat její obsah pro omezení výběru dat, pak je definování indexu na místě (efekt ovšem bude mít jen při vzestupném žazení podle X_FIXVS), v opačném případě jen zbytečně přidělává práci SQL serveru a zvětšuje objem databáze.

Třída objektu Název položky Typ Pouze čtení Index Obsah
Firma X_FIXVS Text(10) A   Sloupec pro uložení pevné identifikační části variabilního symbolu přiděleného firmě (abonentovi) pro úhrady opakujících se plateb. Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
  X_ODBERATEL Ano/Ne N N Příznak odběratele (reálného nebo potenciálního).
  X_DODAVATEL Ano/Ne N N Příznak dodavatele(reálného nebo potenciálního).
Zálohový list vydaný - řádek X_DATSPLAT Datum N   Datum splatnosti v řádku zálohového listu který reprezentuje platební kalendář.
  X_OBDOBI Text(10) N   "Účetní období" v řádku platebního kalendáře. Textová identifikace měsíce, čtvrtletí nebo pololetí.
  X_ROZDIL Číslo(13,2) A   Rozdíl mez předpisem a platbou (+ přeplatek, - nedoplatek). Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
  X_PREVOD Číslo(13,2) A   Částka přeplatku převedená jako platba do platebního kalendáře na následující rok. Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
  X_PREVEDENO Číslo(13,2) A   Částka přeplatku převedená jako platba do platebního kalendáře z předcházejícího roku.
  X_DZL Text(1) A N Příznak vygenerovaného daňového ZL k řádku.
Daňový zálohový list vydaný - řádek (kromě G1) X_ISSUEDDINVOICE2_ID Text(10) A A ID řádku zálohového listu (platebního kalendáře) který je řádkem DZL zúčtován. Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
  X_BANKSTATEMENTS2_ID Text(10) A A ID řádku bankovního výpisu, na jehož základě byl řádek DZL vygenerován. Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
  X_CASHRECEIVED2_ID Text(10) A A ID řádku pokladního příjmu, na jehož základě byl řádek DZL vygenerován. Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
Pokladní příjmy - řádek X_ISSUEDDINVOICE2_ID Text(10) A A ID řádku zálohového listu (platebního kalendáře) který byl platbou uhrazen. Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
Pokladní příjmy X_VARSYMBOL Text(10) N   Variabilní symbol platby. Umožňuje přiřadit platbu v hotovosti k položce platebního kalendáře, opakované fakturaci ap. Definování této položky není nutné, pokud v databázi neexistuje (a na dokladech pokladních příjmů se tedy variabilní symbol nezadává), v agendě "Abonenti" budou pro zpracování pokladních příjmů nabízeny pouze příjmové doklady které byly "spárovány" s vydaným zálohovým listem (platebním kalendářem).

 

Kromě toho lze nepovinně definovat další extra položky:

Třída objektu Název položky Typ Pouze čtení Index Obsah
Firma X_RC * Text(15) N   Rodné číslo. Uvedení má samozřejmě smysl pouze je-li klientem fyzická osoba.
  X_DATNAR* Datum N   Datum narození. Uvedení má samozřejmě smysl pouze je-li klientem fyzická osoba.
  X_DOKID * Text(20) N   Číslo identifikačního dokladu (občanský průkaz, cestovní pas). Uvedení má samozřejmě smysl pouze je-li klientem fyzická osoba.
  X_IDREF * Text(10) N   Odkaz na osobu (referenta, obchodníka) který je za zákazníka odpovědný.
  X_SMLOUVA** Text(20) N   Číslo smlouvy.
  X_SMLDATOD** Datum N   Datum uzavření smlouvy.
  X_SMLDATDO** Datum N   Datum ukončení smlouvy.
  X_IP Text(20) N   IP adresa asociovaná s poskytovanými službami. Je-li tato položka na objektu Firma definována (a zároveň je v nastavení parametrů agendy "Abonenti" zvolena "Evidence parametrů komunikační služby"), pak na formuláři hlavičky záznamu abonenta bude viditelná a přístupná položka "IP" a její obsah bude automaticky přenášen jako "Veřejná IP adresa" do záznamů všech nově zakládaných služeb pro tohoto klienta.
  X_ILIMIT Číslo(13,2) N   Limit (maximální částka) pro vystavení příkazu k inkasu. Při generování řádků požadavků na inkaso k platebním kalendářům v agendách "Abonenti" a "Platební kalendáře" se nastavená hodnota uplatní jako maximální částka kterou lze pro klienta inkasovat jedním příkazem.
Faktura vydaná X_FDIST Celé číslo N N Příznak "způsobu distribuce" faktury vygenerované z aplikace "Abonenti". Je-li v záznamu faktury tato položka definována, program do ní přenese číselnou hodnotu podle definice produktu:
1 - způsob distribuce není definován
2 - fakturu odeslat poštou
3 - fakturu odeslat e-mailem
4 - fakturu neodesílat (například úhrada inkasem).
  X_IDSERV*** Celé číslo A N Odkaz na záznam služby, ke které byla faktura vygenerována. Definice této položky není sice nutná, s ohledem na efekt pokud jde o přesnost a úplnost zveřejňovaných informací (dlužné částky, seznam faktur vystavených k dané službě) je však dobře ji definovat a to pokud možno již při první instalaci programu. Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
Poznámka: index podle této položky vytváří program automaticky, jeho duplicitní požadování v definici položky nemá smysl.
  X_ORIGVS Text(10) N N Pole pro uložení původního variabilního symbolu při "maskování" faktury jeho změnou.
Zálohový list vydaný X_IDSERV*** Celé číslo A N Odkaz na záznam zálohově fakturované služby, ke které byl ZL vygenerován jako zálohová faktura. Definice položky zpřístupňuje možnost definovat "zálohově fakturované služby". Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
Poznámka: index podle této položky vytváří program automaticky, jeho duplicitní požadování v definici položky nemá smysl.
  X_FDIST Celé číslo N N Příznak "způsobu distribuce" vygenerované zálohové faktury (zálohového listu) z aplikace "Abonenti". Je-li v záznamu zálohových listů vydaných tato položka definována, program do ní přenese číselnou hodnotu podle definice produktu:
1 - způsob distribuce není definován
2 - fakturu odeslat poštou
3 - fakturu odeslat e-mailem
4 - fakturu neodesílat (například úhrada inkasem).
  X_ORIGVS Text(10) N N Pole pro uložení původního variabilního symbolu při "maskování" zálohového listu jeho změnou.
Daňový zálohový list vydaný X_IDSERV*** Celé číslo A N Odkaz na záznam zálohově fakturované služby, ke které byl ZL vygenerován jako konečná faktura. Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
Poznámka: index podle této položky vytváří program automaticky, jeho duplicitní požadování v definici položky nemá smysl.
  X_FDIST Celé číslo N N Příznak "způsobu distribuce" vygenerované konečné faktury (daňového zálohového listu) z aplikace "Abonenti". Je-li v záznamu daňových zálohových listů vydaných tato položka definována, program do ní přenese číselnou hodnotu podle definice produktu:
1 - způsob distribuce není definován
2 - fakturu odeslat poštou
3 - fakturu odeslat e-mailem
4 - fakturu neodesílat (například úhrada inkasem).
Bankovní výpis - řádek X_HIDEABO Ano/Ne N N Dodefinování této položky zpřístupní možnost "trvalého vyřazení" položky (řádku) bankovního výpisu ze zpracování programem "Abonenti" při zpracování bankovních výpisů a je nutná pro funkci odloženého generování daňového dokladu.
Pokladní příjem - řádek X_HIDEABO Ano/Ne N N Dodefinování této položky zpřístupní možnost "trvalého vyřazení" položky (řádku) pokladního příjmu ze zpracování programem "Abonenti" při zpracování plateb přes pokladnu a je nutná pro funkci odloženého generování daňového dokladu.
Zálohový list vydaný - řádek X_BEZDPH Číslo(13,2) N   Položka pro uložení základu DPH vypočteného pro tisk platebního kalendáře podle metodiky nastavené v systému Gx. Použití je popsáno v samostatném odstavci dokumentace k agendě "Abonenti"
  X_INKASO Celé číslo A A Odkaz na řádek příkazu k inkasu. Definováním položky se aktivují funkce generování příkazů k inkasu v agendách "Abonenti" a "Platební kalendáře". Hodnota "A" ve sloupci "Pouze čtení" znamená, že položka by měla mít nastaven příznak "pouze čtení" na definovaném formuláři na kterém je případně "zviditelněna" pro koncového uživatele, nikoliv v definici! Zápis hodnoty musí být totiž umožněn programu, uživatel by ji ale přepisovat neměl. Viz úvod odstavce "Definované položky".
  X_DATPL Datum N   Datum první platby spárované s řádkem platebního kalendáře. Definice položky je nutná pro aktivaci funkce odloženého generování daňového zálohového listu k platbám s nedoplatkem.

* Není-li některá položka z této tabulky v databázi definována, odpovídající pole na formulářích agend aplikace budou nepřístupná.

** Definování těchto položek má smysl pouze jsou-li definovány všechny (X_SMLOUVA, X_SMLDATOD a X_SMLDATDO). V tom případě existence všech těchto tří sloupců aktivuje zpracování smluv stylem "globální smlouva", to znamená že smlouvy nejsou na jednotlivé služby ale pro každou firmu (zákazníka) existuje jediná globální smlouva ke které se služby přidávají, ruší ap. Jsou-li tyto položky v databázi definovány, pak bez ohledu na nastavení parametrů agendy "Abonenti" budou pole "datum podpisu smlouvy", "číslo smlouvy" a "variabilní symbol" na formuláři definice služby vždy nepřístupná!

*** Je-li položka definována, program automaticky vytvoří index na příslušné tabulce. Pokud se později rozhodnete položku zrušit, proveďte nejprve odinstalování doplňků Gx!


Agendy aplikace


Demo verze

Omezení DEMO verze.

  • Funkčnost DEMO verze je časově omezena.
  • Není implementována agenda "Správa uživatelů" a volby "Údržba databáze" v menu aplikací.
  • K DEMO verzi je nutno se vždy přihlásit jako "Supervisor". Program sice zná jména uživatelů převzatá ze systému Gx, tito uživatelé však nemají přístup k žádné agendě a jelikož v DEMO verzi nelze spustit agendu "Správa uživatelů", nemáme možnost jim přístupová práva přidělit. Naopak uživatel "Supervisor" má automaticky neomezený přístup ke všem implementovaným agendám.