|  | Как склонять год, месяц и день? | ☑ | 
    
        | 0
    
        bebibo   19.08.19✎ 11:47 | 
        Здравствуйте. Как сделать, чтобы к примеру вместо этого: "2 лет 1 месяцев 3 дней" было: "2 года 1 месяц 3 дня"?
Заранее спасибо)
 |  | 
    
        | 1
    
        Волшебник   19.08.19✎ 11:51 | 
        Если последняя цифра = 1 тогда "год", "месяц", день"
ИначеЕсли последняя цифра от 2 до 5 тогда "года", "месяца", "дня"
 Иначе "лет", "месяцев", "Дней"
 КонецЕсли;
 |  | 
    
        | 2
    
        vladko   19.08.19✎ 11:52 | 
        1 год
2-4 года
 5-20 лет
 .....
 1 месяц
 2-4 месяца
 5-20 месяцев
 ......
 1 день
 2-4 дня
 5-20 дней
 ....
 (0) в чём проблема написать через условия проверки количества лет, месяцев, дней эти значения?
 |  | 
    
        | 3
    
        bebibo   19.08.19✎ 11:53 | 
        У меня просто макет и из-за этого туплю
ОбластьСправки.Параметры.СтажГод = окр(Лет);
 ОбластьСправки.Параметры.СтажМес =окр(Месяцев);
 ОбластьСправки.Параметры.СтажДень = окр(Дней);
 |  | 
    
        | 4
    
        vladko   19.08.19✎ 11:56 | 
        (3) заведи в макете параметры для текстовых переменных под слова Лет, Месяцев, Дней и до заполнения параметров получи их значения через проверку условий на количественные переменные.     |  | 
    
        | 5
    
        Натуральный Йог   19.08.19✎ 12:03 | 
        (1) 12 года     |  | 
    
        | 6
    
        DrWatson   19.08.19✎ 12:06 | 
        Теперь можно и без если обходиться:
СтрокаСЧислом(";день;;дня;дней;дня", Дней, ВидЧисловогоЗначения.Количественное);
 |  | 
    
        | 7
    
        Волшебник   19.08.19✎ 14:41 | 
        (5) хм... Вот так точнее:
 Если от 5 до 20 то "лет", "месяцев", "дней"
 ИначеЕсли последняя цифра = 1 тогда "год", "месяц", день"
 ИначеЕсли последняя цифра от 2 до 4 тогда "года", "месяца", "дня"
 Иначе "лет", "месяцев", "дней"
 КонецЕсли;
 |  | 
    
        | 8
    
        mistеr   19.08.19✎ 15:30 | 
        (3) "Лет: 2, месяцев: 1, дней: 3"
 И склонять не нужно.
 |  | 
    
        | 9
    
        fisher   19.08.19✎ 15:52 | 
        Когда-то свою функцию написал, а потом в БСП нашел:
СтроковыеФункцииКлиентСервер.ЧислоЦифрамиПредметИсчисленияПрописью()
 |  | 
    
        | 10
    
        fisher   19.08.19✎ 16:04 | 
        (6) Да, в 10 релизе добавили. Теперь можно и через нее.     |  | 
        Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший