Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 июл 2021, 16:16

Подскажите

Автор ElenaFisher, 07 окт 2020, 12:24

0 Пользователей и 1 гость просматривают эту тему.

ElenaFisher

Прошу извинить, но не знала где правильно расположить тему. Буду признательна, если админы распределят тему куда надо.
Начинаю изучать азы программирования и вот поставила себе задачу. И как-то дело не пошло....
Хочу, что-бы программа выводила наименование дня недели текущей даты на ближайшие 10 лет.
Ниже вариант кода на котором остановилась :^454^: ... Туговатенько. Подскажите, пжлст!

ДеньНедели = ДеньНедели(ТекущаяДата());
Сообщить(ДеньНедели);

Для Индекс = 1 По 10 Цикл
   
   Если ДеньНедели = 3 Тогда
      Сообщить("Среда");
   ИначеЕсли ДеньНедели = 4 Тогда
      Сообщить("Четверг");
   ИначеЕсли ДеньНедели = 5 Тогда
      Сообщить("Пятница");
   ИначеЕсли ДеньНедели = 6 Тогда
      Сообщить("Суббота");
   ИначеЕсли ДеньНедели = 7 Тогда
      Сообщить("Воскресенье");
   ИначеЕсли ДеньНедели = 1 Тогда
      Сообщить("Понедельник");
   Иначе
      Сообщить("Вторник");
   КонецЕсли;
   
   ДеньНедели = (ДобавитьМесяц(ТекущаяДата(), 12));

КонецЦикла;



alexandr_ll

Цитата: ElenaFisher от 07 окт 2020, 12:24
Прошу извинить, но не знала где правильно расположить тему. Буду признательна, если админы распределят тему куда надо.
Начинаю изучать азы программирования и вот поставила себе задачу. И как-то дело не пошло....
Хочу, что-бы программа выводила наименование дня недели текущей даты на ближайшие 10 лет.
Ниже вариант кода на котором остановилась :^454^: ... Туговатенько. Подскажите, пжлст!

ДеньНедели = ДеньНедели(ТекущаяДата());
Сообщить(ДеньНедели);

Для Индекс = 1 По 10 Цикл
   
   Если ДеньНедели = 3 Тогда
      Сообщить("Среда");
   ИначеЕсли ДеньНедели = 4 Тогда
      Сообщить("Четверг");
   ИначеЕсли ДеньНедели = 5 Тогда
      Сообщить("Пятница");
   ИначеЕсли ДеньНедели = 6 Тогда
      Сообщить("Суббота");
   ИначеЕсли ДеньНедели = 7 Тогда
      Сообщить("Воскресенье");
   ИначеЕсли ДеньНедели = 1 Тогда
      Сообщить("Понедельник");
   Иначе
      Сообщить("Вторник");
   КонецЕсли;
   
   ДеньНедели = (ДобавитьМесяц(ТекущаяДата(), 12));

КонецЦикла;
ДеньПрописью = Формат(ТекущаяДата(), "ДФ=дддд");   

ElenaFisher

Но это же сокращение условного оператора.
А как перенести день недели на год вперед?

alexandr_ll

Цитата: ElenaFisher от 07 окт 2020, 15:47
Но это же сокращение условного оператора.
А как перенести день недели на год вперед?
НачДата= ТекущаяДата();

Для Индекс = 1 По 10 Цикл
   Сообщить(""+Формат(НачДата, "ДЛФ=ДД"));
   Сообщить(""+Формат(НачДата, "ДФ=дддд"));
   НачДата= (ДобавитьМесяц(НачДата, 12));

КонецЦикла;


ElenaFisher

Цитата: alexandr_ll от 08 окт 2020, 06:23
Цитата: ElenaFisher от 07 окт 2020, 15:47
Но это же сокращение условного оператора.
А как перенести день недели на год вперед?
НачДата= ТекущаяДата();

Для Индекс = 1 По 10 Цикл
   Сообщить(""+Формат(НачДата, "ДЛФ=ДД"));
   Сообщить(""+Формат(НачДата, "ДФ=дддд"));
   НачДата= (ДобавитьМесяц(НачДата, 12));

КонецЦикла;


Спасибо! Все равно не понимаю, почему не отрабатывает с использованием условного оператора...

alexandr_ll

Цитата: ElenaFisher от 08 окт 2020, 10:48
Цитата: alexandr_ll от 08 окт 2020, 06:23
Цитата: ElenaFisher от 07 окт 2020, 15:47
Но это же сокращение условного оператора.
А как перенести день недели на год вперед?
НачДата= ТекущаяДата();

Для Индекс = 1 По 10 Цикл
   Сообщить(""+Формат(НачДата, "ДЛФ=ДД"));
   Сообщить(""+Формат(НачДата, "ДФ=дддд"));
   НачДата= (ДобавитьМесяц(НачДата, 12));

КонецЦикла;


Спасибо! Все равно не понимаю, почему не отрабатывает с использованием условного оператора...
Дело не в условном операторе, а в неправильном определении даты вывода для определения дня недели.
Ваша конструкция
   ДеньНедели = (ДобавитьМесяц(ТекущаяДата(), 12));
Порочная. Проверьте, что она выводит в цикле.

ElenaFisher

Цитата: alexandr_ll от 08 окт 2020, 12:12
Цитата: ElenaFisher от 08 окт 2020, 10:48
Цитата: alexandr_ll от 08 окт 2020, 06:23
Цитата: ElenaFisher от 07 окт 2020, 15:47
Но это же сокращение условного оператора.
А как перенести день недели на год вперед?
НачДата= ТекущаяДата();

Для Индекс = 1 По 10 Цикл
   Сообщить(""+Формат(НачДата, "ДЛФ=ДД"));
   Сообщить(""+Формат(НачДата, "ДФ=дддд"));
   НачДата= (ДобавитьМесяц(НачДата, 12));

КонецЦикла;


Спасибо! Все равно не понимаю, почему не отрабатывает с использованием условного оператора...
Дело не в условном операторе, а в неправильном определении даты вывода для определения дня недели.
Ваша конструкция
   ДеньНедели = (ДобавитьМесяц(ТекущаяДата(), 12));
Порочная. Проверьте, что она выводит в цикле.

Поняла. Спасибо!

Теги:
Рейтинг@Mail.ru Rambler's Top100

Поиск