anchor.diff:      aActualValue:= null;
   end;
   
  +procedure TmEditingPanel.CheckYear(const aOldStringValue: string; const aDataType: TmEditorLineDataType; const aDistanceInMonths : integer; var aNewStringValue: string; var aActualValue: variant);
  +var
  +  tmp : integer;
  +begin
  +  if aNewStringValue <> '' then
  +  begin
  +    if not IsNumeric(aNewStringValue, false) then
  +    begin
  +      aNewStringValue := aOldStringValue;
  +      TmToast.ShowText(SErrorNotANumber);
  +    end
  +    else
  +    begin
  +      tmp := StrToInt(aNewStringValue);
  +      if (aDataType = dtCurrentYearOrInTheFuture) and (tmp < YearOf(Date)) then
  +      begin
  +        aNewStringValue:= aOldStringValue;
  +        TmToast.ShowText(SErrorYearInThePast);
  +      end
  +      else if (aDataType = dtCurrentYearOrInThePast) and (tmp > YearOf(Date)) then
  +      begin
  +        aNewStringValue:= aOldStringValue;
  +        TmToast.ShowText(SErrorYearInTheFuture);
  +      end
  +      else if (aDistanceInMonths > 0) and (abs(YearOf(Date) - tmp) > (aDistanceInMonths div 12)) then
  +      begin
  +        aNewStringValue:= aOldStringValue;
  +        TmToast.ShowText(SErrorYearTooFaraway);;
  +      end
  +      else
  +        aActualValue := tmp;
  +    end;
  +  end
  +  else
  +    aActualValue:= null;
  +end;
  +
   procedure TmEditingPanel.CheckFloat(const aOldStringValue: string; var aNewStringValue: string; var aActualValue: variant; const aLineConfiguration : TmEditorLineConfiguration);
   var
     tmpDouble : double;
  
positive.code: 
      property EditorKind : TmEditorLineKind read FEditorKind write FEditorKind;
      property DataType : TmEditorLineDataType read FDataType write FDataType;
      property DataProvider : IVDDataProvider read FDataProvider write FDataProvider;
  
      property Caption: String read FCaption write FCaption;
  
negative.code:     procedure CheckDate (const aOldStringValue : string; var aNewStringValue : string; var aActualValue : variant);
      procedure CheckTime (const aOldStringValue : string; var aNewStringValue : string; var aActualValue : variant);
      procedure CheckInteger (const aOldStringValue : string; var aNewStringValue : string; var aActualValue : variant);
      procedure CheckYear(const aOldStringValue : string; const aDataType: TmEditorLineDataType; const aDistanceInMonths : integer; var aNewStringValue : string; var aActualValue : variant);
      procedure CheckFloat (const aOldStringValue : string; var aNewStringValue : string; var aActualValue : variant; const aLineConfiguration : TmEditorLineConfiguration);
    private
      function CheckMandatoryLines(var aMissingValues: string): boolean;
  