Войти Регистрация
Lime-zaim Микрозайм онлайн

Склонение дней - склоняем день, дня, дней встроенными функциями 1С

 

Склонение дней - склоняем день, дня, дней встроенными функциями 1С

Задача:
Вывести сообщение с остатком дней до нового года, причем что бы дни склонялись( дней, день, дня..)

Решение:

Сначала вычисляем сколько дней до нового года:
ДнейДоНовогоГода = Формат(((КонецГода(ТекущаяДата()) - ТекущаяДата())/ 60 /60/24) + 1, "ЧДЦ=0");

Разберем как вычисляем:
1. Сначала вычисляем сколько секунд до нового года, вычитая из Даты нового года (31.12.2022 23:59:59) дату текущую(26.08.2022 21:12:25) получаем 10982780 сек
2. делим на 60 сек, потом на 60 мин, а потом на 24 ч, выясняя сколько дней осталось, получилось 127,1
прибавим один, что бы получить целое число дней и обрезав десятичные функцией Формат(, "ЧДЦ=0") получаем 128 дней

Количество дней получили, теперь надо вывести склоняемые дни функцией СтрокаСЧислом()

СтрокаДней =СтрокаСЧислом(";остался %1 день;;осталось %1 дня;осталось %1 дней;осталось %1 дня"ДнейДоНовогоГода, ВидЧисловогоЗначения.Количественное, "L=ru");

и выводим сообщением:
Сообщить("До нового года осталось " + СтрокаДней);


Весь код выглядит так:

ДнейДоНовогоГода = Формат(((КонецГода(ТекущаяДата()) - ТекущаяДата())/ 60 /60/24) + 1, "ЧДЦ=0");
СтрокаДней =СтрокаСЧислом(";остался %1 день;;осталось %1 дня;осталось %1 дней;осталось %1 дня"ДнейДоНовогоГода, ВидЧисловогоЗначения.Количественное, "L=ru");
Сообщить("До нового года осталось " + СтрокаДней);


Формы:  Упровляемые формы

Возврат к списку


 
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
Загрузить изображение
 
Войти Регистрация