====== Midregister.xml ====== Popisuje strukturu tabulek a jejich vztahu v rámci tzv. Middle. Middle je základní datový objekt se kterým lze pracovat pomocí OBIS API, lze jej zobrazit ve Formě atd. Middle se skládá z tzv. DataSetItem, což jsou jednotlivé tabulky databáze. Popis Middle se skládá ze dvou kompoment: * - umožňuje tabulky pro potřeby middle modifikovat (změny Caption, Visible, ReadOnly, LookupKeyFields apod.) * - popisuje použité tabulky, jejich návaznost a vlastnosti Ukázka:
Pohyby
MERPROT:IDProt
Vyrobky.Pocit SN=SN;IDPrijemka 1 SN=SN 1
===== Popis elementů MiddleStructure ===== MiddleStructure se může skládát z následujících elementů. Jejich zanoření popisu vzájemnou strukturu. * - do middle zařazuje tabulku * - do middle zařazuje SQL dotaz * - do middle zařazuje memory table TableItem může obsahovat následující elementy: * - vazba mezi nadřazenou a podřazenou tabulkou ve formě MasterFields=DetailFields. Pro složené klíče se fieldy oddělují středníkem. Navíc DetailFields může následovat další seznam fieldů podle kterých je pak provedeno implicitní řazení detail tabulky. * - automatické počítadlo pro detail tabulky je ve tvaru +10:IDField * - příznak změny ID v detail tabulkách při změně ID v master (0=On, 1=Off, 2=IgnoreNull, 4=IgnoreOnlyForView) * - příznak mazání v detail tabulkách při smazání v master (0=On, 1=Off, 2=IgnoreNull, 4=IgnoreOnlyForView) * - příznak pro detail tabulku. Tabulka je pak ReadOnly. Typicky jedná o filtrovaný náhled do jiné master tabulky a nikoliv o podřazená data. * - název optionu pomocí kterého se zamykají data * - datumový field, který rozhoduje o zamknutí záznamu. Je možno použít i více fieldů oddělených středníkem. Pro MasterChange a CascadeDelete platí: - příznaky lze sčítat (např. IgnoreNull and IgnoreOnlyForView = 6) - pokud je v detail tabulce nastaven příznak OnlyForView mazaní a změna ID se implicitně neprovádí - IgnoreOnlyView ignoruje implicitní chování dle bodu 2 - IgnoreNull ignoruje nastavenou akci pokud je ID null nebo '' ===== Zamknutí změn k datu ===== Pomocí elementů a lze v tabulce zamezit editaci resp. přidání záznamu s datem menším než zadaná mez. Jde tedy o uzávěrku záznamů v tabulce k zadanému datu. Příklad: FakturyDM.LockRecords Datum FakturyDM.LockRecords Datum Uvedený příklad zamezí změnu v tabulce výkonů resp. nákladů pro datum starší než je zadaný datum v uživatelském optionu FakturyDM.LockRecords.