Числа прописью в родительном падеже в 7.7? Легко!

20.06.15

Разработка - Универсальные функции

Вывод числительных прописью в родительном падеже штатными средствами в три строчки кода.

Часто бывают случаи, когда нужно вывести имена числительные прописью в родительном (и других) падеже. Например, «в течение 3 (Трех) дней», «не более 50 (Пятидесяти) рублей» и т.д.

Для этого есть сторонние компоненты, но часто имеют место случаи, когда компонента неправильно склоняет числительные, да и когда внешние компоненты по разным причинам невозможно (нельзя) использовать.

Выход: внимательно ознакомившись с описанием функции Пропись(), мы увидим, что задать образец вывода чисел прописью можно этой функцией, подсунув ей файл прописи (*.cpl). Дальше – дело техники: копируем файл 1cv7.spl (например, в файл 1cv7R.spl) и заменяем в нем числа в именительном падеже на числа в родительном. А в 1С пишем:

Пропись("1CV7R.SPL"); // Задаем использование вывода прописью из этого файла
Число_50_В_Род_Падеже = Формат(50, "ЧП");
Пропись(""); // Возвращаемся к дефолтному файлу
Сообщить(Число_50_В_Род_Падеже);

Вот и все! Аналогичным образом числительные превращаются в дательный/винительный/другие падежи.

P.S. Может, идея и не нова, но в интернете я ее не встретил.

P.S.S. Содержание моего файла 1cv7R. spl:

{"Speller",
{"Money",
{"Рубль","Рубля","Рублей","Копейка","Копейки","Копеек","M"}},
{"Numbers",
{"Одного","Двух","Трех","Четырех","Пяти","Шести","Семи","Восьми","Девяти", "Одной","Двух",
"Десяти","Одиннадцати","Двенадцати","Тринадцати","Четырнадцати","Пятнадцати","Шестнадцати","Семнадцати","Восемнадцати","Девятнадцати",
"Двадцати","Тридцати","Сорока","Пятидесяти","Шестидесяти","Семидесяти","Восьмидесяти","Девяноста",
"Ста","Двухсот","Трехсот","Четырехсот","Пятисот","Шестисот","Семисот","Восьмисот","Девятисот",
"Тысячи","Тысяч",
"Миллиона","Миллионов",
"Миллиарда","Миллиардов",
"Триллиона","Триллионов",
"Ноль"}},
{"Date",
{"Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",
"Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря",
"г.","Квартал"}},
{"DateRange",
{"Полугодие","Месяцев"}},
{"WeekDay",
{"Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"}}
}


См. также

Библиотека процедур и функций для технологической платформы "1С: Предприятие 7.7"

Универсальные функции Платформа 1С v7.7 Россия Абонемент ($m)

В библиотеку собраны различные функции по работе с документами, журналами, типами данных, строками, датой и временем, таблицами значений, Excel, файлами, XML, JSON, Http-сервисами, SMTP серверами и т.п.

1 стартмани

22.12.2023    657    9    user706545_kseg1971    0    

4

1С 7.7 и новый 1С:Контрагент

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    1820    zhenyat    7    

6

Печать таблицы значений в 1С 7.7 при отладке

Универсальные функции Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    4399    Zoltan_Black    11    

2

Установка принтера по умолчанию для 1С 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    13286    4    alsen    3    

4

Формирование строки json в 1С: 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 1С:Комплексная 7.7 Абонемент ($m)

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    10094    malovandrey    2    

18

Как создать индикатор в 1С:Предприятии 7.7

Универсальные функции Работа с интерфейсом Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    18672    2    HAMMER_59    6    

2
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. chmv 24.06.15 18:01 Сейчас в теме
Не поняла, почему эта будет склонять верно
2. Consit 7 25.06.15 08:45 Сейчас в теме
(1)Она не склоняет, а подставляет готовый падеж числительного - в файл 1cv7R.spl автор зашил числительные в родительном падеже.
Оставьте свое сообщение