Функция ВывестиСписок(Книга) Экспорт
Текст = "";
Для Каждого Элемент Из Книга Цикл
Текст = Текст + Формат(Элемент.Значение, "ЧГ=0") + " - " + Элемент.Представление + Символы.ПС;
КонецЦикла;
Текст = Текст + "======================================" + Символы.ПС;
Текст = Текст + "[1] - ввести новое событие" + Символы.ПС;
Текст = Текст + "[2] - очистить список событий" + Символы.ПС;
Текст = Текст + "[3] - сортировать события по году" + Символы.ПС;
Текст = Текст + "[4] - вывести все события на определенную дату" + Символы.ПС;
Текст = Текст + "Введите номер команды или нажмите ""Отмена"" для выхода из книги." + Символы.ПС;
Текст = Текст + "=======================================";
Возврат Вопрос(Текст, РежимДиалогаВопрос.ОКОтмена);
КонецФункции
Процедура ВвестиНовоеСобытие(Книга) Экспорт
Название = "";
Год = 0;
Если ВвестиСтроку(Название, "Введите название события") Тогда
Если ВвестиЧисло(Год, "Введите год", 4, 0) Тогда
Книга.Добавить(Год, Название);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ОчиститьСписок(Книга) Экспорт
Если Вопрос("Уверены ли вы в своих действиях?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
Книга.Очистить();
КонецЕсли;
КонецПроцедуры
Процедура СортироватьСобытия(Книга) Экспорт
Книга.СортироватьПоЗначению();
КонецПроцедуры
Процедура НайтиСобытия(Книга) Экспорт
Год = 0;
Если ВвестиЧисло(Год, "Введите год", 4, 0) Тогда
Элемент = Книга.НайтиПоЗначению(Год);
Если Элемент = Неопределено Тогда
Предупреждение("Извините, в этот год ничего не произошло");
Иначе
Предупреждение(Формат(Элемент.Значение, "ЧГ=0") + " - " + Элемент.Представление);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Яяччяч
Процедура ПриНачалеРаботыСистемы()
Книга = Новый СписокЗначений;
Книга.Добавить(1961, "Первый полёт в космос");
Книга.Добавить(988, "Крещение Руси");
Пока Истина Цикл
Если Уроки.ВывестиСписок(Книга) = КодВозвратаДиалога.Отмена Тогда
Прервать;
КонецЕсли;
Команда = 0;
Если Не ВвестиЧисло(Команда, "Введите номер команды", 1, 0) Тогда
Прервать;
КонецЕсли;
Если Команда = 1 Тогда
Уроки.ВвестиНовоеСобытие(Книга);
ИначеЕсли Команда = 2 Тогда
Уроки.ОчиститьСписок(Книга);
ИначеЕсли Команда = 3 Тогда
Уроки.СортироватьСобытия(Книга);
ИначеЕсли Команда = 4 Тогда
Уроки.НайтиСобытия(Книга);
КонецЕсли;
КонецЦикла;
КонецПроцедуры