anchor.diff:              writelog('Krok 101: trat: nastaven smer', WR_VC);
               (Blk as TBlkTrat).Smer := Self.fproperties.TratSmer;
              end;
  +
  +        // pokud v trati neni zavedena blokova podminka, zavedeme ji
  +        if (((Blk as TBlkTrat).Smer = Self.data.TratSmer) and (not (Blk as TBlkTrat).BP)) then
  +          (Blk as TBlkTrat).BP := true;
          end;
        end;
   
  
positive.code:             if (((Blk as TBlkTrat).uvazkaB as TBlkUvazka).OblsRizeni.ORs[0] = (Navestidlo as TBlkSCom).OblsRizeni.ORs[i]) then
                 ((Blk as TBlkTrat).uvazkaB as TBlkUvazka).nouzZaver := true;
           end;
  
          // pokud v trati neni zavedena blokova podminka, zavedeme ji
          if (((Blk as TBlkTrat).Smer = Self.data.TratSmer) and (not (Blk as TBlkTrat).BP)) then
            (Blk as TBlkTrat).BP := true;
         end;
  
        // nastavit vyhybky do pozadovanych poloh:
  
negative.code:            (((Blk2 as TBlkUsek).InTrat = -1) and ((Blk2 as TBlkUsek).Stav.stanicni_kolej) or
             (((Blk2 as TBlkUsek).InTrat = Self.data.Trat) and ((Trat as TBlkTrat).Smer = Self.data.TratSmer) and ((Trat as TBlkTrat).BP)))) then
         begin
          if (Trat <> nil) then
           begin
            (Trat as TBlkTrat).AddSpr((Blk as TBlkUsek).Souprava);
            (Blk2 as TBlkUsek).Zaver := TJCType.nouz;
            (Trat as TBlkTrat).Change();
           end;
          if ((Blk as TBlkUsek).InTrat > -1) then
           begin
            Blky.GetBlkByID((Blk as TBlkUsek).InTrat, Trat);
            (Trat as TBlkTrat).RemoveSpr((Blk as TBlkUsek).Souprava);
           end;
  
          (Blk2 as TBlkUsek).Souprava := (Blk as TBlkUsek).Souprava;
  