1. Datový typ JSDataDetailForm

    Článek: AN0001712Aktualizováno::

    Objekt slouží pro práci s detailním formulářem na stránce s detailem záznamu (např. DataDetail.aspx). Můžete tak ze skriptu formulář uložit, znova načíst, zkontrolovat, zda uživatel může provést uložení atd.

    Vlastnosti objektu

    Název Popis
    bool CanSave() Funkce zjistí, zda uživatel má právo záznam uložit.
    bool CanDelete() Funkce zjistí, zda uživatel má právo záznam smazat.
    void CreateNew() Metoda vytvoří novou entitu a zobrazí ji ve formuláři.
    void Delete() Metoda smaže záznam zobrazený ve formuláři.
    bool LoadById(int id) Funkce načte podle zadaného ID záznam. Pokud záznam existuje, je vráceno True. Jinak False.
    EntityFormMode Mode Vlastnost vrátí mód formuláře.
    bool ReadOnly Příznak, zda je formulář ve stavu ReadOnly.
    void RecreateColumns() Metoda znovu vytvoří sloupce na formuláři.
    void Reload() Metoda znova načte záznam.
    void Save() Metoda uloží zobrazený záznam.
    void Save(bool afterCallRedirect)

    Metoda uloží zobrazený záznam.

    Při afterCallRedirect = true dojde po zpracování uložení k přesměrování, ke kterému dochází po kliknutí na tlačítko Uložit na toolbaru.

    void Save(bool afterCallRedirect, Hashtable dataRowProperty)

    Metoda uloží zobrazený záznam. Ve vlastnosti dataRowProperty můžete předat hodnoty, které budou nastaveny do ukládaného záznamu.

    Při afterCallRedirect = true dojde po zpracování uložení k přesměrování, ke kterému dochází po kliknutí na tlačítko Uložit na toolbaru.

    void SaveTask() Metoda uloží záznam jako ukončení úkolu workflow.
    void SaveTask(Hashtable dataRowProperty) Metoda uloží záznam jako ukončení úkolu workflow. Ve vlastnosti dataRowProperty můžete předat hodnoty, které budou nastaveny do ukládaného záznamu.
    bool ShowApproveTaskPanel Příznak, zda se má na formuláři zobrazit panel pro uložení workflow úkolu.
    EntityFormMode EntityFormMode_Normal Normální režim detailního formuláře.
    EntityFormMode EntityFormMode_MultiChange Režim násobné změny detailního formuláře.
    EntityFormMode EntityFormMode_Archive Archivní režim detailního formuláře.

    Uložení úkolu

    Metoda SaveTask provede uložení záznamu z formuláře jako ukončení úkolu workflow. Pokud záznam není úkol nebo je úkol již ukončený, pak se nic neprovede. Metodu využijete spolu s příznakem ShowApproveTaskPanel pro obsluhu vlastního ukončení úkolu.

    V případě, kdy chcete provést vlastní obsluhu uložení, pak zakažte zobrazení standardního panelu pro ukončení úkolu, na toolbar vložte tlačítko a z něj proveďte ukončení workflow úkolu včetně spuštění dalšího Vašeho kódu.

    Uložení s nastavením parametů záznamu

    V případě, že na formuláři není zobrazen sloupec, jehož hodnotu chcete skriptem nastavit (např. na tlačítku), pak použijte metodu Save nebo SaveTask s parametrem dataRowProperty. Do tohoto parametru nastavte hodnoty, které se překopírují do ukládaného záznamu.

    Příklady

    Uložení záznamu

    OGDataDetailForm.Save();

    Uložení záznamu s nastavením hodnot

    Příklad nastaví do sloupce approval hodnotu 1.

    var ht = OG.CreateHashtable();
    ht['approval'] = 1;
    OGDataDetailForm.Save( ht);

    Příklad nastavení hodnot do polí formuláře a jeho uložení

    var colStatus = OG.Column.GetByCode( OGActualDataRowParentId, 'status');
    var colAssignto = OG.Column.GetByCode( OGActualDataRowParentId, 'assignto');

    //nastavit stav k nasazeni (id = 18)
    OGForm.GetControl(colStatus.Id).SetData( 18);

    //priradit uživateli (id = 24)
    var pi = OG.Person.CreatePersonInfo( 24);
    OGForm.GetControl(colAssignto.Id).SetData( pi);

    OGDataDetailForm.Save();

     Skrytí panelu pro dokončení úkolu

    Pro skrytí panelu pro standardní ukončení workflow úkolu zavolejte následující skript v události OnLoad na stránce DataDetail.aspx:

    OGDataDetailForm.ShowApproveTaskPanel = false;

     

×