комментария 2 на “Базовый курс. Занятие №4”

  1. Процедура ПередНачаломРаботыСистемы(Отказ)
         
         Если  (ВремяНачалаРаботы >= ТекущаяДата()) или  (ТекущаяДата() >= ВремяКонцаРаботы) Тогда
             //Почему нельзя выводить модальгые окна
             Предупреждение("Сейчас заходить в конфигурацию нельзя!",5);
             Отказ = Истина;
             Возврат;

    Пытался сделать это на 8.3. Платформа против. хотя на 8.2 все четко отрабатывает. (Это домашнее задание №4. Баз.курс)

  2. Перем НачалоРаботы,КонецРаботы;

    Процедура ПередНачаломРаботыСистемы(Отказ)
        Дата = ТекущаяДата();
        НачалоРаботы = Дата(Год(Дата),Месяц(Дата),День(Дата),9,5,38);
        КонецРаботы = Дата(Год(Дата),Месяц(Дата),День(Дата),18,11,42);
        Если Дата < НачалоРаботы Или Дата > КонецРаботы Тогда
             Сообщить("Во внерабочее время запуск невозможен!");
             Отказ = Истина;
             Возврат;
        КонецЕсли;
        Список = Новый СписокЗначений();
        Список.Добавить("Курица");
        Список.Добавить("Мясо");
        Список.Добавить("Рыба");
        глОбед = Новый Массив;
      ~Повтор:   
        Список.ОтметитьЭлементы("Выберите обед");
        Для каждого Строка Из Список Цикл
            Если Строка.Пометка Тогда
                 глОбед.Добавить(Строка.Значение);
            КонецЕсли;
        КонецЦикла;
        Если глОбед.Количество() = 0 Тогда
             Предупреждение("Необходимо отметить хотябы один из вариантов обеда!");
             Перейти ~Повтор;
        КонецЕсли;
         
    КонецПроцедуры

    Процедура ПередЗавершениемРаботыСистемы(Отказ)
        Если ТекущаяДата() < КонецРаботы Тогда
             Если Вопрос("Хотите выйти из программы до завершения рабочего дня?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет  Тогда
                  Отказ = Истина;
             КонецЕсли;
        КонецЕсли;
    КонецПроцедуры

    Функция ЭтоПростое(Число)
        Результат = Истина;
        Для й = 2 По Число-1 Цикл
            Если Число%й = 0 Тогда
                 Результат = Ложь;
                 Прервать;
            КонецЕсли;
        КонецЦикла;

    Возврат (Результат);
    КонецФункции

    Простые = Новый Структура;
    Для й = 1 По 1000 Цикл
        Простые.Вставить("Число"+?(й=1000,"1000",Строка(й)),ЭтоПростое(й));
    КонецЦикла;
    Сообщить("Число591 - простое?: "+Простые.Число591);
    П="Число332";
    Сообщить(П + " - простое?: "+Простые [П]);
    П="Число3";
    Сообщить(П+" - простое?: "+Простые [П]);

    Комментарии. В задаче про простые числа верхняя граница четырехзначная специально выбрана? Если да, то предлагалось пользователю самостоятельно изучить функцию Формат? (Я-то с преобразованием в строку таких значений уже сталкивался и заранее знал о проблеме).