Сколько дней в году
Иногда возникает задача, как определить сколько дней в году на языке 1С. Их есть у нас (с), ну я имею ввиду решение.. Странно конечно, что в 1С нет готовой функции, приходится напрягать мозжечок (ну или гугл/яндекс) и велосипедить. Ну на самом деле есть несколько вариантов, Например первый вариант:
1 2 3 4 5 |
Функция ДнейВЭтомГоду() Дата = ТекущаяДата(); ДнейВГоду = ДеньГода(КонецГода(Дата)); возврат ДнейВГоду; конецфункции |
Основан на функциях 1С которые позволяют определить порядковый номер дня по переданной дате. Т.е. передаём в неё последний день текущего года, и получаем или 365 или 366, в зависимости от високосности года.
Есть другой вариант того-же решения:
1 2 3 4 5 6 7 8 |
Функция ДнейВЭтомГоду() Попытка А = Дата(Год(ТекущаяДата()),2,29); Возврат 366; Исключение Возврат 365; КонецПопытки; КонецФункции |
,проверяем наличие 29 Февраля в этом году. Если возникает исключение, значит в этом году 365 дней, иначе — 366.
Есть еще вариант с делением года на 4. Если он делится без остатка, то год високосный. Но там есть исключения для некоторых годов. Ну и самый тупой 😉 способ определить сколько дней в году: