Uživatelské nástroje

Nástroje pro tento web


techdoc:broverview

Přehled obchodních pravidel

Obchodními pravidly se rozumí programové objekty, které zajišťují požadované chování formulářů v aplikacích ESO9 a jejichž voláním aplikační server zajišťuje konzistenci dat v aplikační databázi. Příkladem může být dotažení názvu a ceny zboží na složku dokladu po přenosu kódu zboží z číselníku.

Tento dokument popisuje všechna obchodní pravidla dostupná v aplikačním serveru a pořadí jejich volání. Přehled je rozdělen podle akcí ve formuláři ESO9, které obchodní pravidla spouští. Většina uvedených obchodních pravidel může být tabulková (tj.do jejich parametrů vstupují pouze hodnoty aktuální tabulky) nebo pohledová (jejich parametry lze brát z celého datového řádku napříč všemi tabulkami v pohledu). Není-li řečeno jinak, volají se tabulková obchodní pravidla postupně nad všemi editačními tabulkami v pohledu. Obchodní pravidla jsou uváděna v pořadí, v jakém jsou aplikačním serverem volána, tzn.že datová pole, která má první obchodní pravidlo na výstupu a která změní hodnoty v datové větě, jsou použita v následujícím obchodním pravidle jako vstupní parametry atd. Navíc všechna obchodní pravidla volaná v rámci jedné akce běží v transakci, tzn.že např.pokud volání pohledového ValRecu při uložení nové věty skončí aplikační chybou, je celá transakce odrolována a to vč.uložení nové věty.

Typy obchodních pravidel

Každé obchodní pravidlo může být realizováno dvěma základními způsoby:

  • Jako stored procedura uložená v aplikační databázi na SQL Serveru - databázové obchodní pravidlo. Tento způsob je vhodný pro takové akce nad relačními daty, jejichž implementace je snazší v deklarativně orientovaném programovacím jazyce (T-SQL), než v imperativním (např.VB.NET, C#).
  • Jako DLL knihovna implementující definované rozhraní (interface) - programové obchodní pravidlo. Tento způsob je vhodný pro akce, jejichž řešení vyžaduje použití strukturovaných příkazů (podmínky, cykly), které se snáze implementují v některém z jazyků, jejichž kompilery podporují prostředí .NET Frameworku (VB.NET, C#).

Z prostředí aplikačního serveru se nejprve volají obchodní pravidla realizovaná v SQL, potom pravidla realizovaná jako DLL knihovny. Následující popis je shodný pro oba způsoby, pouze konkrétní implementace programového obchodního pravidla jde za rámec tohoto dokumentu.

Další možností automatické změny dat během jejich pořizování jsou uživatelské přepočty na typu dokladu. Ty jsou však, díky své jednoduchosti, vhodné pouze pro opravdu jednoduché úpravy.

Vložení nové věty (INSERT)

Tabulkový NewRec
  • Syntaxe názvu: spJmenoTabulky_NewRec
  • Vstupní parametry: hodnoty datového řádku tabulky <i>JmenoTabulky</i>, hodnoty z Where podmínky SQL dotazu, hodnoty z uživatelských parametrů (UP)
  • Výstupní recordset: sloupce tabulky JmenoTabulky
Pohledový NewRec
  • Syntaxe názvu: spJmenoPohledu_NewRec
  • Vstupní parametry: hodnoty datového řádku pohledu JmenoPohledu, hodnoty z Where podmínky SQL dotazu, hodnoty z UP
  • Výstupní recordset: sloupce pohledu JmenoPohledu
Tabulkový CalRec
  • Syntaxe názvu: spJmenoTabulky_CalRec
  • Vstupní a výstupní parametry: analogicky s předchozím obchodním pravidlem
Pohledový CalRec
  • Syntaxe názvu: spJmenoPohledu_CalRec
  • Vstupní a výstupní parametry: analogicky s předchozím obchodním pravidlem

Editace existující nebo nové věty (EDIT)

Tabulkový FChange
  • Syntaxe názvu: lze volit uživatelsky, obchodní pravidlo se vyhledává v tabulce FChange, klíčem pro nalezení je kombinace názvu tabulky, nad níž se FChange volá, názvu sloupce, jehož editaci vyvolání obchodního pravidla způsobila, a hodnoty parametru LookUp (viz níže)
  • Pokud je tabulka, nad níž se FChange volá, editační, bude hodnota parametru LookUp 0, jinak 1
  • Vstupní parametry: hodnoty datového řádku tabulky JmenoTabulky
  • Výstupní recordset: sloupce tabulky JmenoTabulky
Pohledový FChange
  • Syntaxe názvu: lze volit uživatelsky, obchodní pravidlo se vyhledává v tabulce FChange, klíčem pro nalezení je kombinace názvu pohledu, nad nímž se FChange volá, názvu sloupce, jehož editaci vyvolání obchodního pravidla způsobila, a hodnoty parametru LookUp (viz níže)
  • Pro pohledové FChange je hodnota parametru LookUp 1
  • Vstupní parametry: hodnoty datového řádku pohledu JmenoPohledu
  • Výstupní recordset: sloupce pohledu JmenoPohledu
Tabulkový CalRec
Pohledový CalRec

Editace existující nebo nové věty (EDIT) - editace MF a MARK položek

Pohledový FChange
Uživatelská RelationAction
  • Syntaxe názvu: lze uživatelsky definovat parametrem RELATIONACTION ve formě nebo na hyperlinku
  • Volá se pouze v případě, že je cílová forma, ve které byla akce vyvolána, se zdrojovou formou ve vazbě MasterSlave nebo Parameters
  • Vstupní parametry: hodnoty položek ve zdrojové i cílové formě
  • Výstupní recordset: pouze hodnoty MF položek ve zdrojové formě

Uložení existující nebo nové věty (UPDATE)

Pohledový BeforeInsert/BeforeUpdate
  • Obě pravidla se od sebe liší pouze použitím při uložení nově pořízené datové věty nebo při uložení (po editaci) existující věty
  • Syntaxe názvu: spJmenoPohledu_BeforeInsert, resp.spJmenoPohledu_BeforeUpdate
  • Vstupní parametry: hodnoty datového řádku pohledu JmenoPohledu, hodnoty z Where podmínky SQL dotazu, hodnoty z uživatelských parametrů (UP)
  • Výstupní recordset: sloupce tabulky JmenoPohledu
Tabulkový BeforeInsert/BeforeUpdate
  • Obě pravidla se od sebe liší pouze použitím při uložení nově pořízené datové věty nebo při uložení (po editaci) existující věty
  • Syntaxe názvu: spJmenoTabulky_BeforeInsert, resp.spJmenoTabulky_BeforeUpdate
  • Vstupní parametry: hodnoty datového řádku tabulky JmenoTabulky, hodnoty z Where podmínky SQL dotazu, hodnoty z uživatelských parametrů (UP)
  • Výstupní recordset: sloupce tabulky JmenoTabulky
Tabulkový ValRec
  • Syntaxe názvu: spJmenoTabulky_ValRec
  • Vstupní parametry: hodnoty datového řádku tabulky JmenoTabulky, hodnoty z Where podmínky SQL dotazu, hodnoty z uživatelských parametrů (UP)
  • Výstupní a výstupní parametry: viz.předchozí tabulková obchodní pravidla
Tabulkový AfterInsert/AfterUpdate
  • Obě pravidla se od sebe liší pouze použitím při uložení nově pořízené datové věty nebo při uložení (po editaci) existující věty
  • Syntaxe názvu: spJmenoTabulky_AfterInsert, resp.spJmenoTabulky_AfterUpdate
  • Výstupní a výstupní parametry: viz.předchozí tabulková obchodní pravidla. V případě pravidla AfterInsert již vstupuje do parametrů ID nově pořízené věty.
Pohledový AfterInsert/AfterUpdate
  • Obě pravidla se od sebe liší pouze použitím při uložení nově pořízené datové věty nebo při uložení (po editaci) existující věty
  • Syntaxe názvu: spJmenoPohledu_AfterInsert, resp.spJmenoPohledu_AfterUpdate
  • Výstupní a výstupní parametry: viz.předchozí pohledová obchodní pravidla. V případě pravidla AfterInsert již vstupuje do parametrů ID nově pořízené věty.
Pohledový ValRec
  • Syntaxe názvu: spJmenoPohledu_ValRec
  • Vstupní parametry: hodnoty datového řádku pohledu JmenoPohledu, hodnoty z Where podmínky SQL dotazu, hodnoty z uživatelských parametrů (UP)
  • Výstupní a výstupní parametry: viz.předchozí tabulková obchodní pravidla. Do parametrů obchodního pravidla již vstupuje ID nově pořízené věty.

Kopie existující věty (COPY)

Tabulkový CopyRec
  • Syntaxe názvu: spJmenoTabulky_CopyRec
  • Vstupní parametry: hodnoty datového řádku pohledu JmenoTabulky, hodnoty z uživatelských parametrů (UP)
Pohledový CopyRec
  • Syntaxe názvu: spJmenoPohledu_CopyRec
  • Vstupní parametry: hodnoty datového řádku pohledu JmenoPohledu, hodnoty z uživatelských parametrů (UP)

Smazání existující věty (DELETE)

Pohledový DelRec
  • Syntaxe názvu: spJmenoPohledu_DelRec
  • Vstupní a výstupní parametry: viz.předchozí pohledová obchodní pravidla
Tabulkový DelRec
  • Syntaxe názvu: spJmenoTabulky_DelRec
  • Vstupní a výstupní parametry: viz.předchozí tabulková obchodní pravidla
Tabulkový AfterDelete
  • Syntaxe názvu: spJmenoTabulky_AfterDelete
  • Vstupní a výstupní parametry: viz.předchozí tabulková obchodní pravidla
Pohledový AfterDelete
  • Syntaxe názvu: spJmenoPohledu_AfterDelete
  • Vstupní a výstupní parametry: viz.předchozí pohledová obchodní pravidla
techdoc/broverview.txt · Poslední úprava: 08.02.2025 13:00 autor: 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki
DokuWiki Appliance - Powered by TurnKey Linux