Trieda DataObject
Objekty tejto triedy sú určené na manipuláciu s dátami v systéme (inými slovami výkonné objekty určené na manipuláciu s business objektmi danej triedy). Takže každá inštancia objektu triedy DataObject dokáže manipulovať s business objektmi svojej triedy. Vytvorený DataObject je vždy vytvorený pre objekty určitých business objektov (napr. pre skl. karty musíme mať jednu inštanciu, pre faktúry inú inštanciu atď.). Trieda poskytuje základné prostriedky pre vytváranie nových objektov, ich opravu a ich mazanie. Objekty DataObject sa vytvárajú vyvolaním metódy Application.CreateObject().
Metódy a vlastnosti:

function CreateNewFromValues(const Values: ObjectData): WideString;
- Popis:
- Metóda uloží nový objekt tejto triedy. Najskôr je nutné naplniť všetky potrebné hodnoty do objektu triedy ObjectData (rovnakej triedy) a odovzdať ho tejto funkcii. Systém sa potom pokúsi objekt uložiť. Pokiaľ počas ukladania nastane problém (chybné dáta, validácia, atď.), je vyvolaná výnimka. Pokiaľ bol objekt úspešne uložený, metóda vráti OID uloženého objektu.
- Súvisiace metódy:
- Delete, GetValues, UpdateValues

procedure Delete(const OBJID: WideString);
- Popis:
- Metóda skúsi zmazať objekt. Parameter OBJID je OID objektu tejto triedy. Pokiaľ objekt neexistuje alebo ho nie je možné zmazať, je vyvolaná výnimka.
- Súvisiace metódy:
- CreateNewFromValues, GetValues, UpdateValues

function GetValues(const OBJID: WideString): ObjectData;
- Popis:
- Metóda skúsi z databázy ABRA Gen načítať objekt s identifikátorom OBJID. Pokiaľ objekt existuje, metóda vráti novú inštanciu objektu ObjectData (tento objekt drží len dáta). Pokiaľ objekt neexistuje, je vyvolaná výnimka.
- Súvisiace metódy:
- CreateNewFromValues, UpdateValues, Delete

function GetValuesByDate(const OBJID: WideString; const Date: DATE): ObjectData;
- Popis:
- Metoda zkusí načíst z databáze ABRA Gen objekt s identifikátorem OBJID platný k datu Date. Pokiaľ objekt existuje, metóda vráti novú inštanciu objektu ObjectData (tento objekt drží len dáta). Pokiaľ objekt neexistuje, je vyvolaná výnimka.
Metóda je vhodná pre získavanie hodnôt z objektov podporujúcich históriou.
- Súvisiace metódy:
- GetValues

procedure UpdateValues(const OBJID: WideString; const Values: ObjectData);
- Popis:
- Metóda slúži k oprave business objektov. Parametrom OBJID určujeme, aký objekt chceme opraviť, a parameter Values zase hovorí, akými dátami. Objekt musí existovať, pokiaľ objekt neexistuje alebo ho nie je možné z rôznych dôvodov uložiť, je vyvolaná výnimka.
- Súvisiace metódy:
- CreateNewFromValues, GetValues, Delete

function ValidateValues(const OBJID: WideString; const Values: ObjectData): WideString;
- Popis:
- Metóda vykoná validáciu dát. Parametrom OBJID určujeme, ktorý objekt chceme opraviť a parameter Values zase hovorí, aké dáta chceme overiť. Každý business objekt definuje, čo sa má pred jeho uložením skontrolovať. Výsledkom kontrol je typicky správa, prečo nie je možné práve tento business objekt uložiť. Pokiaľ je vrátený reťazec prázdny, znamená to, že dáta sú overené a správne. Kladné overenie dát nezaručuje, že sa podarí tento objekt uložiť. Každý objekt tesne pred uložením je vhodné takto overiť (platí aj pre nové objekty).

procedure PrefillValues(const Values: ObjectData);
- Popis:
- Metóda sa používa pri zakladaní nových business objektov. Metóda neurobí nič iné, ako že predvyplní všetky údaje, ktoré je možné predvyplniť. Typicky objekt vytvoríme, predvyplníme jeho hodnoty, vyplníme niektoré položky objektu (ktoré zadal užívateľ alebo my), objekt ovalidujeme a uložíme.

function GetReadyDataAuthority(const OBJID: WideString): WordBool;
- Popis:
- Replikácie boli zrušené, použitie metódy nemá naďalej zmysel.

function HasDataAuthority(const OBJID: WideString): WordBool;
- Popis:
- Replikácie boli zrušené, použitie metódy nemá naďalej zmysel.

function GetDataAuthorityStatus(const OBJID: WideString): Integer;
- Popis:
- Replikácie boli zrušené, použitie metódy nemá naďalej zmysel.

function GetDataAuthoritySite(const OBJID: WideString): WideString;
- Popis:
- Replikácie boli zrušené, použitie metódy nemá naďalej zmysel.

function CreateNewDataAuthorityRequest(const OBJID: WideString; const Site: WideString; WithChildren: WordBool): WordBool;
- Popis:
- Replikácie boli zrušené, použitie metódy nemá naďalej zmysel.

procedure MarkForDeleteDataAuthority(const OBJID: WideString; const Site: WideString; WithChildren: WordBool);
- Popis:
- Replikácie boli zrušené, použitie metódy nemá naďalej zmysel.

procedure UnMarkForDeleteDataAuthority(const OBJID: WideString; const Site: WideString; WithChildren: WordBool);
- Popis:
- Replikácie boli zrušené, použitie metódy nemá naďalej zmysel.

function IsProtected(const FieldName: WideString): WordBool;
- Popis:
- Metóda vracia informáciu, či je položka s názvom FieldName chránená. Hodnoty sa získavajú z rovnomennej metódy na BO.
- Súvisiace metódy:
- Accessible

function Accessible(const FieldName: WideString): WordBool;
- Popis:
- Metóda vracia informáciu, či je položka s názvom FieldName prístupná pre prihláseného užívateľa (pre čítanie a zápis). Hodnoty sa získavajú z rovnomennej metódy na BO.
- Súvisiace metódy:
- IsProtected

function Evaluate(const OBJID: WideString; Expression: WideString): WideString;
- Popis:
- Funkcia vyhodnotí výraz Expression pomocou objektového evaluátora, funkcia je závislá od konkrétneho objektu, ktorého ID je odovzdané v parametri OBJID.

property AllowWritesToReadOnlyFields: WordBool
- Popis:
- Vlastnosť umožňuje v metódach CreateNewFromValues a UpdateValues zapisovať dáta aj do položiek určených len na čítanie. To sa využíva len v odôvodnených špeciálnych prípadoch často v súvislosti s položkou Dirty (zákaz prepočítania dokladu) napr. pre import dokladov zo systémov s odlišným výpočtom DPH.
- Súvisiace metódy:
- CreateNewFromValues, UpdateValues