|   |   | 
| 
 | Как вывести корректное представление года? | ☑ | ||
|---|---|---|---|---|
| 0
    
        program345 17.04.25✎ 07:01 | 
        привет!
 Например: 10 лет 15 лет 22 года есть ли встроенные функции которые позволят это сделать? | |||
| 1
    
        AlexKimp 17.04.25✎ 07:15 | 
        (0) ЧислоПрописью.     | |||
| 2
    
        ads55 17.04.25✎ 07:52 | 
        Не забудь про контекст - "22 года" могут стать "22 лет"     | |||
| 3
    
        AlexKimp 17.04.25✎ 08:03 | 
        (2) Любопытно. На ум даже не приходит. Можно подробнее?     | |||
| 4
    
        ads55 17.04.25✎ 08:04 | 
        (3) 
 1. "Выведен список сотрудников, которым на сегодня исполнилось 22 года." 2. "Выведен список сотрудников, которым на сегодня более 22 лет." | |||
| 5
    
        AlexKimp 17.04.25✎ 08:27 | 
        (4) Во дела. Данке шон.     | |||
| 6
    
        maxab72 17.04.25✎ 08:49 | 
        (4) выводить возраст в секундах.     | |||
| 7
    
        Волшебник 17.04.25✎ 09:52 | //-------------------------------------------------------------------------------------------
// возвращает число с подписью единиц измерения
//
public function plural(int $count, array $units = ['штука', 'штуки', 'штук']):string
{
	$count10 = $count % 100;
	$count1 = $count10 % 10;
	$unit = match(true) {
		$count1 == 0 || $count1 > 4 || ($count10>9 && $count10 < 21) => $units[2], // штук
		$count1 == 1 => $units[0], // штука
		default => $units[1], // штуки
	};
	return (string)$count . " " . $unit;
}Пример вызова: plural($years, array('год', 'года', 'лет')); | |||
| 8
    
        АгентБезопасной Нацио 17.04.25✎ 09:53 | 
        (4) написать "более 22 годиков"     | |||
| 9
    
        ads55 17.04.25✎ 09:55 | 
        (6) Не забудь про контекст - 
 "Отчет выполнялся около 22 секунд" "Отчет выполнялся почти 22 секунды" :) | |||
| 10
    
        laeg 17.04.25✎ 09:57 | 
        +(9) уже пошла 22 секунда     | |||
| 11
    
        АгентБезопасной Нацио 17.04.25✎ 09:58 | 
        (9) Закончил выполнение на 22 секунде. Ограничился 22 секундами.     | |||
| 12
    
        ads55 17.04.25✎ 10:01 | 
        (10) "Уже шла двадцать вторая секунда выполнения отчёта, а отчёт, запланированный к выполнению за двадцать две секунды, так и не выполнился на двадцать второй секунде..." :)     | |||
| 13
    
        Волшебник 17.04.25✎ 10:06 | 
        В русском языке два множественных числа:
 одно окно
 два окна пять окон | |||
| 14
    
        Волшебник 17.04.25✎ 10:50 | 
        (7) Перевод на 1С
 Функция МножественноеЧисло(Знач Количество, Единицы = Неопределено) Экспорт
    Если Единицы = Неопределено Тогда
        Единицы = Новый Массив;
        Единицы.Добавить("штука");
        Единицы.Добавить("штуки");
        Единицы.Добавить("штук");
    КонецЕсли;
    
    count10 = Количество % 100;
    count1 = count10 % 10;
    
    Индекс = 2;
    Если (count1 = 0 ИЛИ count1 > 4) ИЛИ (count10 >= 10 И count10 <= 20) Тогда
        Индекс = 2;
    ИначеЕсли count1 = 1 Тогда
        Индекс = 0;
    Иначе
        Индекс = 1;
    КонецЕсли;
    
    Возврат Строка(Количество) + " " + Единицы[Индекс];
КонецФункции | |||
| 15
    
        Дмитрий 17.04.25✎ 10:53 | 
        (13) три: двадцать одно окно     | |||
| 16
    
        patapum 17.04.25✎ 11:14 | 
        Выведи стандартной функцией, как будто это были бы рубли, потом замени:
 рубль - год рубля - года рублей - лет и т.д. | |||
| 17
    
        СвинТуз 17.04.25✎ 11:26 | 
        (16)
 Что то сложно. Вроде можно в параметрах у функции сразу указать. | |||
| 18
    
        Толич 17.04.25✎ 11:30 | 
        (4) Заменить Лет/Годов на "Вёсен" и сократить до "вёс." =)     | |||
| 19
    
        Волшебник 17.04.25✎ 11:40 | 
        (18) «Стыдись, Белое Перо! Ты ещё не отпраздновал свою шестнадцатую весну»
 https://yandex.ru/video/preview/15238176010874734007 | |||
| 20
    
        takefive 17.04.25✎ 16:19 | 
        ЧислоПрописью(Объект.Год, , "год, года, лет, м,,,,,0");     | |||
| 21
    
        formista2000 17.04.25✎ 16:37 | 
        "г." - и всё!     | |||
| 22
    
        Злопчинский 17.04.25✎ 21:00 | 
        22 г.     | |||
| 23
    
        Волшебник 18.04.25✎ 16:41 | Функция ПросклонятьЧислоЛет(Знач ЧислоЛет)
   а = ПолучитьСклоненияСтрокиПоЧислу("год", ЧислоЛет, "",  "ЧС=Количественное", "ПД=Именительный")[0];
   Возврат СтрЗаменить(а,"годов","лет");
КонецФункциис версии 8.3.14 | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |