


1C программирование. Сообщение приветствия в зависимости от времени суток
Где ошибка? Выходит всегда сообщение Доброе утро:
Если Час (ТекущаяДата ()) > 6 или Час (ТекущаяДата ()) < 11 Тогда
Сообщить ("Доброе утро! Сейчас " + ТекущаяДата ());
ИначеЕсли Час (ТекущаяДата ()) > 22 Тогда
Сообщить ("Доброй ночи! Сейчас " + ТекущаяДата ());
КонецЕсли;
Простая логика:
час — это значения от 0 до 23
час > 6 — это любое значение от 7 до 23
час < 11 — это любое значение от 0 до 10
(час > 6) или (час < 11) — это или от 7 до 23 или от 0 до 10, т. е. от 0 до 23
А вот если поставить И, то как раз и получится интервал от 7 до 10

Процедура ПриНачалеРаботыСистемы ()
час = Час (ТекущаяДата ());
Если час > 6 И час < 11 Тогда
Сообщить ("Доброе утро!");
ИначеЕсли час > 12 И час < 17 Тогда
Сообщить ("Доброго дня!");
ИначеЕсли час > 18 И час < 23 Тогда
Сообщить ("Добрый вечер");
Иначе
Сообщить ("Доброго времени суток!");
КонецЕсли;
КонецПроцедуры
Процедура ПриНачалеРаботыСистемы()
ВремяЧас = Час(ТекущаяДата());
Если ВремяЧас >= 6 И ВремяЧас < 12 Тогда
Сообщить("Доброе утро!");
ИначеЕсли ВремяЧас >= 12 И ВремяЧас < 18 Тогда
Сообщить("Добрый день!");
ИначеЕсли ВремяЧас >= 18 И ВремяЧас < 23 Тогда
Сообщить("Добрый вечер!");
// ИначеЕсли ВремяЧас = 0 И ВремяЧас < 6 Тогда
//Сообщить("Доброго времени суток");
КонецЕсли;
Если ВремяЧас = 0 И ВремяЧас < 6 Тогда
Сообщить("Доброго времени суток!");
КонецЕсли;
КонецПроцедуры
Бро лучше изучай java этот язык скоро вымрет
В логике условия