Каталог решений - Дата (год) прописью после цифрового значения

Дата (год) прописью после цифрового значения

Дата (год) прописью после цифрового значения

В наличии

Бывают случаи, когда необходимо после цифрового значения «года» писать словом «год, лет, года». Предлагаю такое решение.

Категория:

Описание

Допустим, вам необходимо написать, что срок гарантии для стиральной машины составляет 15 лет. Но! Может быть, у Вас разные стиральные машины, для которых установлен разный период гарантии. У одной может быть 15 лет, а у другой 3 года.

В случае, когда в печатную форму (или договор) Вам необходимо занести строчку "Гарантия на устройство [N]".

Чтобы не вставлять в печатную форму неказистое выражение "года\год\лет" — предлагаю функцию, которая делает это за Вас.  

 

Функция глГодПропись (ПеременнаяПрописи) Экспорт
    МассивПрописей = Новый Массив;
    МассивПрописей.Добавить("лет");  //если год оканчивается на 0,5,6,7,8,9
    МассивПрописей.Добавить("год");  //если год оканчивается на 1
    МассивПрописей.Добавить("года"); //если год оканчивается на 2,3,4
    Если Число(Прав(Строка(ПеременнаяПрописи),2)) = 11 ИЛИ Число(Прав(Строка(ПеременнаяПрописи),2)) = 12 ИЛИ Число(Прав(Строка(ПеременнаяПрописи),2)) = 13 ИЛИ Число(Прав(Строка(ПеременнаяПрописи),2)) = 14 Тогда
        Возврат Строка(ПеременнаяПрописи) + " " + МассивПрописей.Получить(0);
    Иначе
        Индекс = Число(Прав(Строка(ПеременнаяПрописи),1));
    КонецЕсли;
    Если Индекс = 0 ИЛИ Индекс = 5 ИЛИ Индекс = 6 ИЛИ Индекс = 7 ИЛИ Индекс = 8 ИЛИ Индекс = 9 Тогда
        Возврат Строка(ПеременнаяПрописи) + " " + МассивПрописей.Получить(0);
    ИначеЕсли Индекс = 1 Тогда 
        Возврат Строка(ПеременнаяПрописи) + " " + МассивПрописей.Получить(1);
    ИначеЕсли Индекс = 2 ИЛИ Индекс = 3 ИЛИ Индекс = 4  Тогда
        Возврат Строка(ПеременнаяПрописи) + " " + МассивПрописей.Получить(2);
    Иначе
        Возврат "ошибка передачи";
    КонецЕсли;
    //кдс    
КонецФункции

 

has been added to your cart:
Оформление заказа