anchor.diff:        bariery.Add(Self.JCBariera(_JCB_TRAT_ZAVER, blk, Self.fproperties.Trat));
       if ((blk as TBlkTrat).Zadost) then
         bariery.Add(Self.JCBariera(_JCB_TRAT_ZADOST, blk, Self.fproperties.Trat));
  +    if (((TBlkTrat(blk).Zaver) or (TBlkTrat(blk).nouzZaver)) and (Self.fproperties.TratSmer <> TBlkTrat(blk).Smer)) then
  +      bariery.Add(Self.JCBariera(_JCB_TRAT_NESOUHLAS, blk, Self.fproperties.Trat));
   
       if ((not TBlkTrat(blk).SameUserControlsBothUvazka()) or ((blk as TBlkTrat).nouzZaver)) then
         if ((((blk as TBlkTrat).GetSettings().zabzar = TTratZZ.souhlas) or ((blk as TBlkTrat).GetSettings().zabzar = TTratZZ.nabidka) or
  
positive.code:       if (Self.fstaveni.from_stack <> nil) then
          (Self.fstaveni.from_stack as TORStack).firstEnabled := true;
  
        // jeste jednou zkontrolujeme, jeslti jsou vyybky ve spravnych polohach,
        // protoze se teoreticky behem staveni mohly nejak podhodit...
  
        for i := 0 to Self.fproperties.Vyhybky.Count-1 do
         begin
          Blky.GetBlkByID(Self.fproperties.Vyhybky[i].Blok, Blk);
          if ((Blk as TBlkVyhybka).Poloha <> Self.fproperties.Vyhybky[i].Poloha) then
           begin
            if (Self.fstaveni.SenderPnl <> nil) and (Self.fstaveni.SenderOR <> nil) then
              ORTCPServer.BottomError(Self.fstaveni.SenderPnl, 'Nepoloha '+Blk.name,
                (Self.fstaveni.SenderOR as TOR).ShortName, 'TECHNOLOGIE');
            writelog('Krok 14 : Vyhybka '+Blk.name+' nema spravnou polohu !', WR_VC);
            Exit;
           end;
         end;//for cyklus
  
        for i := 0 to Self.fproperties.Odvraty.Count-1 do
         begin
          Blky.GetBlkByID(Self.fproperties.Odvraty[i].Blok, Blk);
          if ((Blk as TBlkVyhybka).Poloha <> Self.fproperties.Odvraty[i].Poloha) then
           begin
            if (Self.fstaveni.SenderPnl <> nil) and (Self.fstaveni.SenderOR <> nil) then
              ORTCPServer.BottomError(Self.fstaveni.SenderPnl, 'Nepoloha '+Blk.name,
                (Self.fstaveni.SenderOR as TOR).ShortName, 'TECHNOLOGIE');
            writelog('Krok 14 : Vyhybka '+Blk.name+' nema spravnou polohu !', WR_VC);
            Exit;
           end;
         end;//for cyklus
  
        // trat
        // zruseni redukce posledniho bloku jizdni cesty je navazano na zruseni zaveru trati
  
negative.code:        begin
          Blky.GetBlkByID(Self.fproperties.Trat, Blk);
          Blky.GetBlkByID(Self.fproperties.Useky[Self.fproperties.Useky.Count-1], Blk2);
  
          if (Self.fproperties.TypCesty = TJCType.vlak) then (Blk as TBlkTrat).Zaver := true;
  
  