Skupiny záznamů v číselnících
Funkcionalita skupinování záznamů byla v minulosti využívána k zefektivnění práce s některými číselníky (například Adresář firem). V současné době se již nevyužívá. Všechny číselníky byly postupně převedeny na novou technologii (stránkování), která skupinování záznamů nepodporuje. Nová technologie načítá záznamy automaticky dle potřeby po tzv. stránkách (malé množiny záznamů).
Obecný princip původní technologie spočíval v tom, že při prvním požadavku na záznamy z číselníku (otevření agendy, vyvolání z číselníkové položky...) standardně docházelo k načtení celého číselníku z databáze do paměti a následná práce se záznamy z daného číselníku byla rychlejší (ve srovnání s průběžným načítáním z disku). U číselníků, kde se předpokládal velký počet záznamů, bylo možné číselník pomyslně rozdělit (pomocí definovaných podmínek) na několik skupin a následně z číselníku načítat vždy pouze část (skupinu) záznamů.
Při update na verzi ABRA Gen, která obsahovala novou verzi určitého číselníku, došlo k automatickému převodu nadefinovaných skupin záznamů na uložená omezení. Více informací naleznete v kapitole Nová technologie číselníků (stránkování), v části Odlišnosti nové technologie.
Skupiny záznamů byly nicméně kromě zvýšení výkonu v praxi využívány také k několika dalším účelům.
V minulosti zde byl uváděn konkrétní příklad využití na číselníku šarží, který bylo možné pomocí skupin záznamů omezit na aktuálně používané šarže. V současné době již číselník Šarže/sériová čísla stejně jako všechny ostatní převeden na novou technologii a skupiny záznamů nepodporuje. Obdobné funkcionality (která kromě zvýšení přehlednosti přináší i zrychlení práce se systémem) je však možné stále dosáhnout prostřednictvím Skriptování. Viz související FAQ Jak zrychlit práci s číselníkem šarží?
Mějme firmu s jednou pobočkou, kde pobočka pracuje se zcela jiným sortimentem než centrála a nijak se nepřekrývají. Pro centrálu i pobočku je možné určit množiny karet, se kterou, se kterou budou uživatelé pracovat.
V číselníku skladových karet si nadefinujeme extra položku X_Branch pro rozlišení pobočky a centrály. Chceme, aby se uživateli Martinovi Nejedlému (ID 4300000101) zobrazovaly pouze skladové karty z jeho pobočky (pro které platí X_Branch = 1).
V agendě Balíčky skriptů si vytvoříme následující háček nad číselníkem Číselník skladových karet:
procedure OnSelectSQL_Hook(Self: TNxBusinessRoll; AParams: TNxParameters; ADSQL: TRollDynamicSQL; AKind: TRollOnSelectSQLKind);
begin
if NxGetActualUserID(Self.ObjectSpace) = '4300000101' then
ADSQL.Where.Add('A.X_Branch = 1');
end;
Následně se uživateli budou v seznamu skladových karet i v našeptávači zobrazovat pouze záznamy s patřičně nastaveným příznakem X_Branch.
Příklad použití háčku OnSelectSQL_Hook viz také FAQ Jak zrychlit práci s číselníkem šarží?