Использование метода ЧислоПрописью в 1С

В этой статье разберем использование метода ЧислоПрописью в 1С. Данный метод позволяет преобразовать числовое значение в строку, содержащую числительное, соответствующее этому числу в русском языке и в некоторых других языках.  В статье разберем основные особенности применения метода ЧислоПрописью.

Метод ЧислоПрописью  работает, как в тонком, так и в толстом клиенте 1С. Самый простой вариант использования метода будет следующим:

Сумма = 6778902.555;
СуммаСтрокой = ЧислоПрописью(Сумма);
Сообщить(СуммаСтрокой);

ЧислоПрописью в 1С

В данном примере переменная Сумма содержит значение 6778902.555. Метод ЧислоПрописью преобразует это значение в строку СуммаСтрокой, содержащую числительное, соответствующее этому числу. Причем заметьте, что дробная часть по умолчанию округляется до двух знаков после запятой. Потому что, метод ЧислоПрописью применяется в основном для работы с денежными суммами.

Метод имеет три параметра, и только первый параметр обязательный.  В целом, у метода следующий синтаксис:

ЧислоПрописью(<Число>, <ФорматнаяСтрока>, <ПараметрыПредметаИсчисления>)

С первым параметром мы уже знакомы – это то число, которое нужно преобразовать.

Второй параметр разберем ниже, а пока познакомимся с третьим параметром <ПараметрыПредметаИсчисления>. Поскольку метод ЧислоПрописью предназначен для работы с денежными суммами, то мы можем задать, в чем измеряется наша сумма (рубли, доллары и т.д.).

Для этого нам необходимо задать параметры предмета исчисления. В синтакс-помощнике в описании этого метода перечислены параметры для основных валют.

ЧислоПрописью в 1С ПараметрыПредметаИсчисления

Поэтому можно ни чего не придумывать, а взять нужный параметр от туда.

Сумма = 6778902.555;      
ПараметрыВалюты = "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2";
СуммаСтрокой = ЧислоПрописью(Сумма,,ПараметрыВалюты);
Сообщить(СуммаСтрокой);

ЧислоПрописью в 1С

Мы можем копейки не указывать:

Сумма = 6778902.555;      
ПараметрыВалюты = "рубль, рубля, рублей, м";
СуммаСтрокой = ЧислоПрописью(Сумма,,ПараметрыВалюты);
Сообщить(СуммаСтрокой);

ЧислоПрописью в 1С

Часто возникает вопрос: «Как вывести число прописью без 00?» ну или без копеек. Для этого нам нужно воспользоваться последним параметром предмета исчисления, и указать в нём значение 0.

В нашем случае параметры исчисления будут такие: «рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 0».

Весь код будет следующий:

Сумма = 6778902;      
ПараметрыВалюты = "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 0";
СуммаСтрокой = ЧислоПрописью(Сумма,,ПараметрыВалюты);
Сообщить(СуммаСтрокой);

ЧислоПрописью в 1С

Такой же результат будет, если мы параметры зададим без названий копеек:

ПараметрыВалюты = "рубль, рубля, рублей, м,,,,,0";

Мы можем вывести просто строковое представление числа без названий валют и  без дробной части:

Сумма = 6778902;      
ПараметрыВалюты = ",,,,,,,,0";
СуммаСтрокой = ЧислоПрописью(Сумма,,ПараметрыВалюты);
Сообщить(СуммаСтрокой);

ЧислоПрописью в 1С

И наоборот: можно  сделать так, чтобы выводилось больше двух знаков после запятой.

Сумма = 6778902.555;      
ПараметрыВалюты = ",,,,,,,,3";
СуммаСтрокой = ЧислоПрописью(Сумма,,ПараметрыВалюты);
Сообщить(СуммаСтрокой);

ЧислоПрописью в 1С

Разберем второй параметр.

<ФорматнаяСтрока> — это строковое значение, которое включает в себя параметры форматирования, разделенные точкой с запятой – «;». Сами параметры задаются при помощи определенного набора символов и им присваиваются определенные значения при помощи символа равно («=»). Все параметры и особенности работы с ними перечислены в синтакс-помощнике. В этот статье разберем некоторые из них.

Первый параметр форматной Код локализации. Этот параметр задается при помощи символа Л (L), и с его помощью устанавливается, на каком языке будет отображён результат.

Например, для преобразования на английском языке код выше будет следующий:

Сумма = 6778902.555;
СуммаСтрокой = ЧислоПрописью(Сумма,"L=en_US");
Сообщить(СуммаСтрокой);

ЧислоПрописью в 1С

Чтобы преобразование было на русском параметр Код локализации должен принимать следующее значении:

СуммаСтрокой = ЧислоПрописью(Сумма,"Л=ru_RU");

Замечу, что если в параметрах предметов исчисления будут названия на русском, а код локализации на английском.

Сумма = 6778902.555;      
ПараметрыВалюты = "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2";
СуммаСтрокой = ЧислоПрописью(Сумма,"L=en_US",ПараметрыВалюты);
Сообщить(СуммаСтрокой);

То в итоговой строке всё равно названия предметов исчисления будут на русском.

ЧислоПрописью в 1С

Результат не совсем корректный, потому что мы параметры предмета исчисления для каждого языка уникальные. Для английского языка должны быть следующие параметры исчисления:

Сумма = 6778902.55;      
ПараметрыВалюты = "ruble, rubles, penny, penny,2";
СуммаСтрокой = ЧислоПрописью(Сумма,"L=en_US",ПараметрыВалюты);
Сообщить(СуммаСтрокой);

ЧислоПрописью в 1С

Разберем еще несколько параметров форматирования.

С помощью параметра НП можно отключить название предмета исчисления.

Сумма = 6778902.55;      
ПараметрыВалюты = "ruble, rubles, penny, penny,2";
СуммаСтрокой = ЧислоПрописью(Сумма,"Л=en_US; НП=Ложь",ПараметрыВалюты);
Сообщить(СуммаСтрокой);

ЧислоПрописью в 1С

С помощью параметра НД можно выключить название десятичных частей.

Сумма = 6778902.55;      
ПараметрыВалюты = "ruble, rubles, penny, penny,2";
СуммаСтрокой = ЧислоПрописью(Сумма,"Л=en_US; НП=Ложь;НД=Ложь",ПараметрыВалюты);
Сообщить(СуммаСтрокой);

ЧислоПрописью в 1С

Резюмируем. Метод ЧислоПрописью – это удобная функция форматирования, которая позволяет гибко настраивать вывод числовой информации пользователю.

Статьи про другие функции форматирования:

Функция Формат

Функция СтрШаблон

Успеха в обучении!

Подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов





Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника





О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»




Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси
  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 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С (и не только) можно в моём тг-чате

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *