Назад | Начало урока | Вперед
Содержание

Глава 1 (продолжение 1)

Задача 1.4 Работа с датами

Даны три даты. Пользователь может изменять начальные данные.
Написать программу, которая будет определять новые даты, которые
настанут через определенное количество дней. И какой день недели
это будет?

Решение

Обязательным условием в нашем решении будет то, что пользователь должен
указать день недели сегодняшней даты, тогда программа правильно высчитает
день недели новой даты.

Подсказка

Код программы


Функция дниНед(колДней,деньНед)
Темп=деньНед+колДней%7;

Если (Темп>7) Тогда

Темп=Темп-7;
КонецЕсли;

Если(Темп<=0) Тогда
return Темп+7;
Иначе
return Темп;
КонецЕсли;
КонецФункции

Процедура Сформировать()

МойСписок=СоздатьОбъект("СписокЗначений");
МойСписок.ДобавитьЗначение("Пн","Понедельник");
МойСписок.ДобавитьЗначение("Вт","Вторник");
МойСписок.ДобавитьЗначение("Ср","Среда");
МойСписок.ДобавитьЗначение("Чт","Четверг");
МойСписок.ДобавитьЗначение("Пт","Пятница");
МойСписок.ДобавитьЗначение("Сб","Суббота");
МойСписок.ДобавитьЗначение("Вс","Воскресенье");

Сегодня1=Сегодня+Дни;
Рабочая1=Рабочая+Дни;
Любая1=Любая+Дни;

Буфер=СокрЛП(ДеньНедСег);//убрали пробелы по краям
Индекс=МойСписок.НайтиЗначение(Буфер);
Темп=дниНед(Дни,Индекс);
ДеньНедСег1=МойСписок.ПолучитьЗначение(Темп,"Значение");

КонецПроцедуры

Время=ТекущееВремя(,,);
Сегодня=ТекущаяДата();
Рабочая=ТекущаяДата()-1;
Любая=ТекущаяДата()+1;

Дни=1;
Сегодня1=Сегодня+Дни;
Рабочая1=Рабочая+Дни;
Любая1=Любая+Дни;
//ДеньНедСег="Пн";
//ДеньНедСег1="Вт";



Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz