Získání ID "hlavičky" v akci spouštěné v prázdném přehledu

PříspěvekNapsal: 07.02.2010 13:35
od jiri.dolezal
V externí akci typu Procedura, bývá problém se zjištěním potřebných proměnných pro chod procedury, je-li přehled nad kterým je akce spouštěna prázdný (ID označeného řádku vrací prázdnou hodnotu). V případě, že přehled ze kterého je akce spouštěna má nějakého předka - např. hlavičku dokladu (typicky záložka 3-Položky otevřeného editoru dokladu OZ) nebo přehled spouštěný z označeného řádku (např. F9 - Přehled položek) lze tuto situaci řešit.

Definici externí akce v tabulce TabExtKom je nutno skriptem nadefinovat hodnotu sloupce SelectoTvurceVlastnikId = 1

Kód: Vybrat vše
UPDATE TabExtKom SET SelectoTvurceVlastnikId = 1 WHERE ID = @IDExterniAkce

Samotná hodnota ID hlavičky (neboli SelectoTvurceVlastnikId) je plněna okamžiku před spuštěním procedury definované v externí akci do tabulky #TabExtKomPar do sloupce Cislo v řádku s hodnotou ve sloupci Popis = 'STVlastID'

Kód: Vybrat vše
DECLARE @IDHlavicka INT
SELECT TOP 1 @IDHlavicka = CAST(Cislo as INT) FROM #TabExtKomPar WHERE Popis='STVlastID'


Fungování pro více označených řádků:
V případě více označených řádků v mateřském přehledu se hodnota STVlastID bere z Aktivního, resp. Označeného řádku.