В этой статье разберем использование метода ЧислоПрописью в 1С. Данный метод позволяет преобразовать числовое значение в строку, содержащую числительное, соответствующее этому числу в русском языке и в некоторых других языках. В статье разберем основные особенности применения метода ЧислоПрописью.
Метод ЧислоПрописью работает, как в тонком, так и в толстом клиенте 1С. Самый простой вариант использования метода будет следующим:
Сумма = 6778902.555; СуммаСтрокой = ЧислоПрописью(Сумма); Сообщить(СуммаСтрокой);
В данном примере переменная Сумма содержит значение 6778902.555. Метод ЧислоПрописью преобразует это значение в строку СуммаСтрокой, содержащую числительное, соответствующее этому числу. Причем заметьте, что дробная часть по умолчанию округляется до двух знаков после запятой. Потому что, метод ЧислоПрописью применяется в основном для работы с денежными суммами.
Метод имеет три параметра, и только первый параметр обязательный. В целом, у метода следующий синтаксис:
ЧислоПрописью(<Число>, <ФорматнаяСтрока>, <ПараметрыПредметаИсчисления>)
С первым параметром мы уже знакомы – это то число, которое нужно преобразовать.
Второй параметр разберем ниже, а пока познакомимся с третьим параметром <ПараметрыПредметаИсчисления>. Поскольку метод ЧислоПрописью предназначен для работы с денежными суммами, то мы можем задать, в чем измеряется наша сумма (рубли, доллары и т.д.).
Для этого нам необходимо задать параметры предмета исчисления. В синтакс-помощнике в описании этого метода перечислены параметры для основных валют.
Поэтому можно ни чего не придумывать, а взять нужный параметр от туда.
Сумма = 6778902.555; ПараметрыВалюты = "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2"; СуммаСтрокой = ЧислоПрописью(Сумма,,ПараметрыВалюты); Сообщить(СуммаСтрокой);
Мы можем копейки не указывать:
Сумма = 6778902.555; ПараметрыВалюты = "рубль, рубля, рублей, м"; СуммаСтрокой = ЧислоПрописью(Сумма,,ПараметрыВалюты); Сообщить(СуммаСтрокой);
Часто возникает вопрос: «Как вывести число прописью без 00?» ну или без копеек. Для этого нам нужно воспользоваться последним параметром предмета исчисления, и указать в нём значение 0.
В нашем случае параметры исчисления будут такие: «рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 0».
Весь код будет следующий:
Сумма = 6778902; ПараметрыВалюты = "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 0"; СуммаСтрокой = ЧислоПрописью(Сумма,,ПараметрыВалюты); Сообщить(СуммаСтрокой);
Такой же результат будет, если мы параметры зададим без названий копеек:
ПараметрыВалюты = "рубль, рубля, рублей, м,,,,,0";
Мы можем вывести просто строковое представление числа без названий валют и без дробной части:
Сумма = 6778902; ПараметрыВалюты = ",,,,,,,,0"; СуммаСтрокой = ЧислоПрописью(Сумма,,ПараметрыВалюты); Сообщить(СуммаСтрокой);
И наоборот: можно сделать так, чтобы выводилось больше двух знаков после запятой.
Сумма = 6778902.555; ПараметрыВалюты = ",,,,,,,,3"; СуммаСтрокой = ЧислоПрописью(Сумма,,ПараметрыВалюты); Сообщить(СуммаСтрокой);
Разберем второй параметр.
<ФорматнаяСтрока> — это строковое значение, которое включает в себя параметры форматирования, разделенные точкой с запятой – «;». Сами параметры задаются при помощи определенного набора символов и им присваиваются определенные значения при помощи символа равно («=»). Все параметры и особенности работы с ними перечислены в синтакс-помощнике. В этот статье разберем некоторые из них.
Первый параметр форматной Код локализации. Этот параметр задается при помощи символа Л (L), и с его помощью устанавливается, на каком языке будет отображён результат.
Например, для преобразования на английском языке код выше будет следующий:
Сумма = 6778902.555; СуммаСтрокой = ЧислоПрописью(Сумма,"L=en_US"); Сообщить(СуммаСтрокой);
Чтобы преобразование было на русском параметр Код локализации должен принимать следующее значении:
СуммаСтрокой = ЧислоПрописью(Сумма,"Л=ru_RU");
Замечу, что если в параметрах предметов исчисления будут названия на русском, а код локализации на английском.
Сумма = 6778902.555; ПараметрыВалюты = "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2"; СуммаСтрокой = ЧислоПрописью(Сумма,"L=en_US",ПараметрыВалюты); Сообщить(СуммаСтрокой);
То в итоговой строке всё равно названия предметов исчисления будут на русском.
Результат не совсем корректный, потому что мы параметры предмета исчисления для каждого языка уникальные. Для английского языка должны быть следующие параметры исчисления:
Сумма = 6778902.55; ПараметрыВалюты = "ruble, rubles, penny, penny,2"; СуммаСтрокой = ЧислоПрописью(Сумма,"L=en_US",ПараметрыВалюты); Сообщить(СуммаСтрокой);
Разберем еще несколько параметров форматирования.
С помощью параметра НП можно отключить название предмета исчисления.
Сумма = 6778902.55; ПараметрыВалюты = "ruble, rubles, penny, penny,2"; СуммаСтрокой = ЧислоПрописью(Сумма,"Л=en_US; НП=Ложь",ПараметрыВалюты); Сообщить(СуммаСтрокой);
С помощью параметра НД можно выключить название десятичных частей.
Сумма = 6778902.55; ПараметрыВалюты = "ruble, rubles, penny, penny,2"; СуммаСтрокой = ЧислоПрописью(Сумма,"Л=en_US; НП=Ложь;НД=Ложь",ПараметрыВалюты); Сообщить(СуммаСтрокой);
Резюмируем. Метод ЧислоПрописью – это удобная функция форматирования, которая позволяет гибко настраивать вывод числовой информации пользователю.
Статьи про другие функции форматирования:
Функция Формат
Функция СтрШаблон
Успеха в обучении!
Подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Также, у меня имеются два комплекта книг, в которых присутствуют обе эти книги:
Комплект книг по разработке в 1С КОМБО-1
Комплект книг по разработке в 1С КОМБО-2
Только для читателей моего блога, промо-код на скидку в 300 рублей на оба комплекта: blog
Вступайте в мои группы:
Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009
Подписывайтесь на телеграмм-канал: https://t.me/Programming1CNizamutdinov
Обсудить вопросы программирования в 1С (и не только) можно в моём тг-чате