При разработке печатных форм в системе 1С часто возникает необходимость вывести число прописью так, чтобы отсутствовало наименование валюты (например, «рублей», «рубля» или «рубль»). Стандартная функция ЧислоПрописью по умолчанию ориентирована на работу с денежными суммами, поэтому разработчикам приходится настраивать ее параметры особым образом.
Для того чтобы вывести число без указания валюты, нам необходимо модифицировать параметр форматной строки. Рассмотрим этот метод детально. Функция ЧислоПрописью принимает три основных аргумента: число, параметры форматирования и параметры валюты.
Если мы хотим полностью исключить слова «рубль», «рубли», «рублей», «копейка», «копейки», «копеек», нам нужно передать пустые значения в параметре валюты. Посмотрите на следующий пример кода:
// Пример настройки параметров для исключения валюты
ПараметрыСтроки = "Л = ru_RU; ДП = Ложь";
Валюта = " , , , , , , , , 0 ";
Результат = ЧислоПрописью(ВашеЧисло, ПараметрыСтроки, Валюта);
Разберем, что происходит в этом коде:
ПараметрыСтроки мы указываем ДП = Ложь, чтобы при необходимости отключить принудительное отображение дробной части.Валюта мы передаем пустую строку с разделителями, что заставляет платформу 1С не подставлять названия денежных единиц в результирующую строку.Существует еще более лаконичный вариант, который часто применяют опытные разработчики. Если вам нужно вывести только само число прописью, можно передать пустые значения параметров непосредственно при вызове функции. Это особенно полезно, когда валюта в принципе не должна фигурировать в печатной форме.
Посмотрим на такой пример:
// Самый простой способ исключить валюту
Результат = ЧислоПрописью(1500, "Л=ru_RU;ДП=Истина;НП=Истина;", "");
Здесь важно обратить внимание на параметр НП=Истина (не выводить параметры). Этот метод позволяет максимально быстро добиться результата, если задача заключается именно в получении «чистого» числа словами без лишних приписок.
При работе с суммами, которые содержат копейки (например, 1234.56), возникает вопрос: как правильно отобразить дробную часть, не используя слово «копейки»? Если просто удалить валюту, результат может выглядеть неэстетично (например, «... пятьдесят шесть сотых»).
Чтобы управлять выводом дробной части, рекомендуем использовать комбинацию настроек:
ДП=Истина только в том случае, если дробная часть действительно важна для вашего отчета или печатной формы.Если Число % 1 = 0 Тогда, и вызывайте ЧислоПрописью с параметрами, отключающими вывод дробной части.ЧислоПрописью не дают идеального результата, разработчики иногда применяют функцию СтрЗаменить для пост-обработки полученной строки, удаляя из нее нежелательные слова после формирования текста. Однако, предпочтительнее настраивать параметры функции «на входе», так как это более профессиональный подход.Надеемся, что эти советы помогут вам быстро настроить вывод чисел в ваших макетах. Помните, что гибкость платформы 1С позволяет решать такие задачи множеством способов, выбирайте тот, который наиболее соответствует требованиям вашего текущего проекта!