1. Skript pro čtení parametrů z URL

    Článek: AN0001916Aktualizováno:: 21.01.2020

    Mezi stránkami lze předávat hodnoty pomocí URL parametrů. URL může obsahovat více parametrů, které jsou odděleny znakem &.

    Přes URL si nemusíte přímo předat hodnotu, ale jen ID existujícího záznamu, který si v pravidle načtete z databáze a z něj získáte požadované hodnoty.

    Příklad URL požadavku se třemi parametry:

    https://www.objectgears.cz/DataDetail.aspx?id=16-100&name=og&number=39

    Pro čtení hodnot a převod na správný datový typ použijte následujíce funkce.

    Místo použití skriptu: Pravidla typu Skript, Skripty v detailu třídy, Skript v detailu stránky, Webpart Skript, Volání skriptu...

    var s = OG.QueryString.GetString('name');
    var i = OG.QueryString.GetInt('number');
    var d = OG.QueryString.GetDateTime('name');
    var g = OG.QueryString.GetGuid('name');
    var b = OG.QueryString.Exist('name');

    Nastavení hodnot do DataRow před zobrazením nového záznamu v detailu

    Příklady skriptů do pravidla Před zobrazením nového záznamu v detailu, které zpracuje URL parametry a vyplní jimi příslušný ovládací prvek (pole záznamu). V příkladech jsou použity různé názvy URL parametrů (varFrom, varCenter atd.) a různé kódy sloupců (datetimefrom, center). V určitých případech skripty pracují i s kódem odkazované třídy (center...).

    Typ sloupce Typ zobrazení Skript
    Text   OGActualDataRow['name'] = OG.QueryString.GetString('varName');
    Pravda/Nepravda  

    OGActualDataRow['active'] = OG.QueryString.GetString('varActive') == 'A';

    OGActualDataRow['active'] = OG.QueryString.GetInt('varActive') == 1;

    Celé číslo   OGActualDataRow['count'] = OG.QueryString.GetInt('varCount');
    Desetinné číslo   OGActualDataRow['price'] = OG.QueryString.GetInt('varPrice');
    Soubory   Není podporováno.
    Datum a čas   OGActualDataRow['datetimefrom'] = OG.QueryString.GetDateTime('varFrom', 'dd/MM/yyyy');
    Guid   GActualDataRow['gid'] = OG.QueryString.GetGuid('varId');
    Číselníková hodnota (odkaz na třídu) - jednoduchý odkaz Combobox *) OGActualDataRow['center'] = OG.QueryString.GetInt('varCenter');
    Číselníková hodnota (odkaz na třídu) - jednoduchý odkaz Vyhledávací formulář *) var clCenter = OGDataParent.Model.ClassDefs['center'];
    var id = OG.QueryString.GetInt('varCenter');
    OGActualDataRow['center'] = OG.DataRow.GetDataById(clCenter.Id, id);
    Číselníková hodnota (odkaz na uživatele) - jednoduchý odkaz Vyhledávací formulář *)

    var pId = OG.QueryString.GetInt('varPerson');

    var p = OG.Person.GetById(pId);

    OGActualDataRow['person'] = p.ToPersonInfo();

    Číselníková hodnota (odkaz na třídu) - násobný odkaz  

    var clCenter = OGDataParent.Model.ClassDefs['center'];
    var id = OG.QueryString.GetInt('varCenter');

    var dr = OG.DataRow.GetDataById(clCenter.Id, id);
    OGActualDataRow['center'].Add(dr.ToEntityInfo());

    Číselníková hodnota (odkaz na uživatele) - násobný odkaz  

    var pId = OG.QueryString.GetInt('varPerson);

    var p = OG.Person.GetById(pId);

    OGActualDataRow['person'].Add( p.ToPersonInfo());

    Odkaz na třídu   OGActualDataRow['class'] = OG.QueryString.GetInt('varClass);
    Číselníková hodnota (na různé třídy)  

    var clCenter = OGDataParent.Model.ClassDefs['center'];
    var id = OG.QueryString.GetInt('varCenter');

    var dr = OG.DataRow.GetDataById(clCenter.Id, id);
    OGActualDataRow['center'].Add(dr.ToEntityInfo());

    Barva   OGActualDataRow['color'] = OG.QueryString.GetInt('varColor);
    Obrázek   OGActualDataRow['image'] = OG.QueryString.GetString('varImage');

    *) Pro zobrazení sloupce pomocí comboboxu stačí do DataRow uložit pouze ID odkazovaného záznamu. Při zobrazení pomocí vyhledávacího formuláře samotné ID nestačí. Je třeba do DataRow vložit instanci DataRow nebo Person.

×