Hello Phan Hoàng Anh,
this is such a feature of the current version of the 1C language that in a procedure with one line the symbol ";" not needed. There will be no error in this case.
Also, there will be no error if you don't put the ";" at the end of a multi-line procedure:
Procedure SaveStory(SystemAnswer, Command, MessageID)
RecordManager = InformationRegisters.MessageHistory.CreateRecordManager();
RecordManager.Period = CurrentDate();
RecordManager.Message = SystemAnswer;
RecordManager.Command = Command;
RecordManager.KindMessage = Enums.KindsMessage.Outcoming;
RecordManager.ID_Message = MessageID;
My advice: always use the ";" no matter how many lines there're in your procedures. This will allow you to maintain the compatibility of your applications in the future if this feature is removed in new versions of the language.