1. Skript pro sloupec pouze ke čtení

    Článek: AN0001915Aktualizováno::

    Zda má být sloupec pouze ke čtení se primárně nastavuje v detailu sloupec. Pokud však nastavení chceme provést v závislosti na dalších skutečnostech, v detailu sloupec povolíme editaci a read-only vlastnost nastavíme až za běhu.

    Níže uvedený skript nastaví 'date' jako pouze ke čtení (read-only).

    Místo použití skriptu: Detail třídy: Skript pro detail záznamu

    function OnAfterLoadColumns()
    {
     OGColumns['date'].ReadOnly = true;

    Níže uvedený skript nastaví pro existující záznam (ne nově vytvářený záznam a ne archívní záznam) všechny sloupce kromě sloupce 'comment' jako pouze ke čtení (read-only), pokud uživatel není ve sloupci 'solver' nebo nemá jednu z rolí 'it-architect', 'system-administrator', 'it-helpdesk'.

    Místo použití skriptu: Detail třídy: Skript pro detail záznamu

    function OnAfterLoadColumns()
    {
      var isRow = OGDataRowId != null;

      if ( isRow && !OGIsArchiveMode)
      {
        var isRight = false;

        if (
            OG.Person.IsUserInRoleByCode('it-helpdesk') ||
            OG.Person.IsUserInRoleByCode('it-architect') ||
            OG.Person.IsUserInRoleByCode('system-administrator')
            )
        {
          isRight = true;
        }

        if ( !isRight)
        {
          var dr = OG.DataRow.GetDataById(OGClassDef.Id, OGDataRowId);
          if ( dr != null && dr['solver'] != null && dr['solver'].Id == OG.Person.GetLoginPerson().Id)
          {
            isRight = true;
          }
        }
        //pokud nema roli ani neni resitelem, tak vse zakazat krome sloupce comment
        if( !isRight)
        {
          var colIds = OGColumns.GetColumnIds();
          for( var i = 0; i < colIds.Count; ++i)
          {
            var cc = OGColumns.GetById(colIds[i]);
            if ( cc.Entity.Code != 'comment')
            {
              cc.ReadOnly = true;
            }
          }
        }
      }
    }

×