Число прописью, подробное описание. Число прописью, подробное описание Использование в типовых решениях

Код 1C v 8.х
// Пример форматной строки для вывода числа прописью на русском
// языке, с выводом целой и дробной части прописью и выводом
// предмета исчисления.
ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="доллар,доллара,долларов,м,цент,цента,центов,м,2";
ПрописьЧисла = ЧислоПрописью(2341.56, ФормСтрока, ПарПредмета);
// Результат вычисления: "Две тысячи триста сорок один доллар пятьдесят шесть центов"

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

Число - Число, которое необходимо преобразовать в строку прописью.

Форматная строка представляет собой строковое значение, включающее параметры форматирования. Параметры форматирования перечисляются через символ ";" (точка с запятой). Если параметр не указывается, используется значение параметра по умолчанию.
Каждый параметр задается именем параметра, символом "=" (равно) и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в синтаксисе форматной строки.
Л (L) - Код локализации. По умолчанию используется код локализации, установленный в операционной системе. Примеры кодов локализации: ru_RU - Русский (Россия); en_US - Английский (США).
НП (SN) - Включать/не включать название предмета исчисления (Булево), по умолчанию - Истина.
НД (FN) - Включать/не включать название десятичных частей предмета исчисления (Булево), по умолчанию - Истина.
ДП (FS) - Дробную часть выводить прописью/числом (Булево), по умолчанию - Ложь.

Параметры предмета исчисления - Представляет собой строковое значение, определяющее параметры предмета исчисления. Параметры предмета исчисления перечисляются через "," (запятая). Формат строки зависит от кода локализации.
Для русского и белорусского языков (ru_RU, be_BY)
"рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2", где:
"рубль, рубля, рублей, м" – предмет исчисления:
рубль – единственное число именительный падеж,
рубля – единственное число родительный падеж,
рублей – множественное число родительный падеж,


Для украинского языка (uk_UA)
"гривна, гривны, гривен, м, копейка, копейки, копеек, ж, 2", где:
"гривна, гривны, гривен, м" – предмет исчисления:
"гривна – единственное число именительный падеж,
гривны – единственное число родительный падеж,
гривен – множественное число родительный падеж,
м – мужской род (ж – женский род, с - средний род);
"копейка, копейки, копеек, ж" – дробная часть, аналогично предмету исчисления (может отсутствовать);
"2" – количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).
Для польского языка (pl_PL)
z?oty, z?ote, z?otych, m, grosz, grosze, groszy, m, 2
где:
"z?oty, z?ote, z?otych, m " - предмет исчисления (m - мужской род, ? - женский род, ? - средний род, mo – личностный мужской род)
z?oty - единственное число именительный падеж
z?ote - единственное число винительный падеж
z?otych - множественное число винительный падеж
m - мужской род (? - женский род, ? - средний род, mo – личностный мужской род)
"grosz, grosze, groszy, m " - дробная часть (может отсутствовать) (аналогично целой части)
2 - количество разрядов дробной части (может отсутствовать, по-умолчанию равно 2)
Код 1C v 8.х
Пропись = ЧислоПрописью(1832, “L=pl_PL;SN=true;FN=true;FS=true”, “z?oty, z?ote, z?otych, m, grosz, grosze, groszy, m, 2”);

Для английского, финского и казахского языков (en_US, fi_FI, kk_KZ)
"dollar, dollars, cent, cents, 2", где:
"dollar, dollars" – предмет исчисления в единственном и множественном числе;
"cent, cents" – дробная часть в единственном и множественном числе (может отсутствовать);
"2" – количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).
Для немецкого языка (de_DE)
"EURO, EURO, М, Cent, Cent, M, 2", где:
"EURO, EURO, М" – предмет исчисления:
EURO, EURO – предмет исчисления в единственном и множественном числе;
М – мужской род (F – женский род, N - средний род);
"Cent, Cent, M" – дробная часть, аналогично предмету исчисления (может отсутствовать);
"2" – количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).

Примеры:
Код 1C v 8.х x = ЧислоПрописью(123456.78,"ДП=Истина" ,"тонна, тонны, тонн, ж, кг., кг., кг., м,3");
//x = "Сто двадцать три тысячи четыреста пятьдесят шесть тонн семьсот восемьдесят кг."

X = ЧислоПрописью(123456.78,",0");
//x = "Сто двадцать три тысячи четыреста пятьдесят семь "

X = ЧислоПрописью(123456.78,",2");
//x = "Сто двадцать три тысячи четыреста пятьдесят шесть 78 "

X = ЧислоПрописью(123456.78,"Л=ru_RU; ДП=Ложь","рубль, рубля, рублей, м, копейка, копейки, копеек, ж");
//x = "Сто двадцать три тысячи четыреста пятьдесят шесть рублей 78 копеек"

X = ЧислоПрописью(123456.78, "Л = ru_RU; ДП = Истина", "доллар,доллара,долларов,м,цент,цента,центов,м,2");
//x = "Сто двадцать три тысячи четыреста пятьдесят шесть долларов семьдесят восемь центов"

ЧислоПрописью(1457.25,"L=en_US","dollar, dollars, cent, cents, 2");
// One thousand four hundreds fifty seven dollars 25 cents.

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

Основные составляющие алгоритма

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

  1. Число – набор цифр, которые следует преобразовать в слова;
  1. Форматная строка – место в программе для задавания необходимых параметров языка. Там же прописываются требования к виду дробной части. Составные элементы указываются через точку с запятой;

Элементы форматной строки:

  • Код локализации, обозначается с помощью буквы Л (L). Его можно изменить самостоятельно, указав необходимый язык;
  • Воспроизводить/ не воспроизводить название единиц измерения (НД = ложь или истина);
  • Воспроизводить/ не воспроизводить дробных частей суммы (ДП = ложь или истина);
  1. Параметры предмета исчисления – это точное описание единиц измерения суммы, которую необходимо написать словами. Например, рубль, доллар, копейка.

Важно. Все элементы схемы следует прописывать максимально точно. Перепроверить правильность вводимых данных можно в синтаксис помощнике.

Как прописать схему вывода числа прописью

Записать 1с число прописью можно по такой схеме: ЧислоПрописью (Число, «Форматная Строка», «Параметры Предмета Исчисления»), где

Число — набор цифр, например 2358,879.

Форматная Строка — название языка и способа отображения числа. На русском это будет выглядеть так: Л = ru_RU. Если дробная часть должна быть прописана словами, указываем ДП = Истина. По умолчанию данный показатель переключен на Ложь.

Параметры Предмета Исчисления — название единицы измерения во всех падежах с указанием рода. Например, рубль мужского рода, копейка – женского. Обозначаются буквами «м» и «ж».

Параметры указываются в кавычках и пишутся через запятую. Для русского языка схема будет выглядеть следующим образом: ЧислоПрописью (2358.879, «Л = ru_RU; ДП = Истина», «рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 3») В данном случае число 3 означает количество знаков после запятой.

Этот способ не подходит, если точное количество символов после запятой не известно. Для того чтобы упростить задание, используют представление сумы и валюты. Как правило, в подобных ситуациях принято оставлять две цифры после запятой.

Как правильно прописать схему

Для того чтобы правильно дать программе задание для выполнения, необходимо сделать следующие шаги:

  1. На первом этапе определить нужную кодировку языка. Наиболее популярны на территории России:
  • Английский — en_US;
  • Русский — Л = ru_RU.
  1. Далее задается вид единиц измерения и дробной части (НД, ДП);
  1. При подготовке документов может возникнуть необходимость вывести сумму в рублях на английском языке или на оборот, написать слова доллар, евро на русском. Для этого прописывается название валюты детально во всех падежах с указанием рода.

Параметры предмета исчисления на разных языках.

Далее 1с сумма прописью на разных языках собирается по стандартной схеме. На выходе получиться документ с итоговой суммой, прописанной словами. Например, необходимо создать финансовый документ в программе 1с для иностранных партнеров, которые говорят на английском. Валюта – евро. Схема будет выглядеть следующим образом: ЧислоПрописью (10 125.67, «Л=en_US; ДП=Истина», «euro,euros,eurocent,eurocents,2»)

Совет. Запоминать данные конструкции нет необходимости. Они все стандартны, меняются только параметры предмета. Поэтому лучше подготовить шаблоны заранее и использовать их в качестве шпаргалки.

При выводе различных отчетов часто необходимо преобразовать числовое значение в строку прописью. В 1С это решается очень просто: для этого предусмотрена функция ЧислоПрописью () .

При формировании числа прописью есть возможность рядом выводить еще и предмет исчисления этого числа в необходимом роде и падеже. Предмет исчисления — это что измеряет преобразуемое число, например, деньги, ящики, вагоны, телевизоры и т.д.

  • Без предмета исчисления:
    • Двадцать два;
    • Триста восемьдесят четыре.
  • С предметом исчисления:
    • Тридцать восемь дублонов;
    • Двенадцать кораблей;
    • Два дома.

Примеры

Для начала приведем примеры преобразования, чтобы узнать возможности 1С:

// ***** Вывод чисел: ***** ЧислоПрописью (9876.54 ); // Девять тысяч восемьсот семьдесят шесть 54 ЧислоПрописью (1234.56 , "Л=ru_RU;ДП=ИСТИНА" , "целая, целых, целых, ж, сотая, сотой, сотых, ж, 2" ); // Одна тысяча двести тридцать четыре целых пятьдесят шесть сотых ЧислоПрописью (7432 , "Л=ru_RU;НП=Ложь" , ",0" ); // Семь тысяч четыреста тридцать два // ***** Вывод денежных сумм: ***** ЧислоПрописью (9845.11 , "Л=ru_RU" , ); // Девять тысяч восемьсот сорок пять рублей 11 копеек ЧислоПрописью (2845.11 , "Л=ru_RU;ДП=Истина" , "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2" ); // Две тысячи восемьсот сорок пять рублей одиннадцать копеек ЧислоПрописью (555.16 , "Л=ru_RU;ДП=Истина" , "доллар, доллара, долларов, м, цент, цента, центов, м, 2" ); // Пятьсот пятьдесят пять долларов шестнадцать центов ЧислоПрописью (453.23 , "Л=ru_RU;ДП=Истина" , "евро, евро, евро, м, цент, цента, центов, м, 2" ); // Четыреста пятьдесят три евро двадцать три цента ЧислоПрописью (812.44 , "Л=en_US;ДП=Истина" , "dollar, dollars, cent, cents, 2" ); // Eight hundred twelve dollars forty four cents ЧислоПрописью (3945.76 , "Л=en_US;ДП=Истина" , "euro, euros, cent, cents, 2" ); // Three thousand nine hundred forty five euros seventy six cents // ***** Преобразовывать можно не только денежные единицы: ***** ЧислоПрописью (535 , "Л=ru_RU" , "коробка, коробки, коробок, ж,ж, 0" ); // Пятьсот тридцать пять коробок ЧислоПрописью (342 , "Л=ru_RU" , "телевизор, телевизора, телевизоров, м,м, 0" ); // Триста сорок два телевизора

Описание работы с функцией

Как мы выяснили, для получения числа прописью используется функция

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

Функция возвращает строковое значение. В качестве входных параметров передаются:

  • Число — преобразуемое значение;
  • ФорматнаяСтрока — параметры форматирования:
    • Л — Код локализации (например, u_RU — русский; en_US — английский, de_DE — немецкий). По умолчанию используются настройки операционной системы.
    • НП — Выводить название предмета исчисления, по умолчанию — Истина.
    • НД — Выводить название десятичных частей предмета исчисления, по умолчанию — Истина.
    • ДП — Дробную часть выводить прописью/числом, по умолчанию — Ложь.
    • ИИ — Выводить союз and. Анализируется только для англоязычной локализации. Возможные значения: «НеИспользовать», «Использовать».
  • ПараметрыПредметаИсчисления — перечисление через запятую параметров предмета исчисления. Формат зависит от локализации.

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

  • рубль – единственное число именительный падеж;
  • рубля – единственное число родительный падеж;
    рублей – множественное число родительный падеж;
    м – мужской род (ж – женский род, с – средний род);
    «копейка, копейки, копеек, ж» – дробная часть, аналогично предмету исчисления (может отсутствовать);
    «2» – количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).

Использование в типовых решениях

В конфигурациях, построенных на , в общем модуле РаботаСКурсамиВалют есть функция

СформироватьСуммуПрописью (СуммаЧислом , Валюта , ВыводитьСуммуБезКопеек = Ложь)

Функция служит для преобразования валютных сумм в строку прописью.

Параметры:

<Значение>

Форматируемое значение.

<ФорматнаяСтрока>

Форматная строка представляет собой строковое значение, включающее параметры форматирования.

Параметры форматирования перечисляются через символ ";". Наличие параметра означает отличие форматирования от стандартного.

Если параметр не задан, то применяется стандартное форматирование, которое в основном соответствует преобразованию значения к строке. Однако для значений типа Число и Дата по умолчанию (0 и 01.01.0001 00:00:00 соответственно) будет выдаваться пустая строка.

Каждый параметр задается именем параметра, символом "=" и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в синтаксисе форматной строки.

Внутри значения параметра могут указываться произвольные символы, которые при формировании результирующей строки будут отображаться как есть. Таким образом, например, можно указывать разделители часов, минут и секунд при форматировании времени. Если эти символы совпадают со значениями форматной строки, их необходимо заключать в одинарные кавычки.

Имена и значения параметров форматной строки:

  • Л - имя языка, страны, для которых будет выполняться стандартное форматирование.
  • ЧЦ - общее число отображаемых десятичных разрядов целой и дробной частей. Исходное число округляется при этом в соответствии с правилами округления. Если указан этот параметр, то для отображения дробной части числа обязательно указание параметра ЧДЦ, иначе дробная часть отображаться не будет.
  • ЧДЦ - число десятичных разрядов в дробной части. Исходное число округляется при этом в соответствии с правилами округления.
  • ЧС - сдвиг разрядов: положительный - деление, отрицательный - умножение. Другими словами, это означает, что исходное число будет умножено или поделено на 10*С, где С - значение параметра по модулю.
  • ЧРД - символ-разделитель целой и дробной части.
  • ЧРГ - символ-разделитель групп целой части числа. Если в качестве разделителя использовать пустую строку, то в этом случае разделителем будет символ неразрывного пробела.
  • ЧН - строка, представляющая нулевое значение числа. Если не задано, то представление в виде пустой строки. Если задано "ЧН=", то в виде "0". Не используется для числовых полей ввода.
  • ЧВН - нужно ли выводить лидирующие нули. Значение данного параметра не задается, собственно наличие параметра определяет вывод лидирующих нулей.
  • ЧГ - порядок группировки разрядов числа. В качестве значения указываются числа, через запятую, обозначающие количество группируемых разрядов справа налево. Имеют смысл только два первых числа. Первое из них указывает первичную группировку, то есть ту, которая будет использована для наименее значимых разрядов целой части числа. Если второе число не указано, то будут сгруппированы только наименее значимые разряды. Если в качестве второго числа задан 0, то для всех разрядов целой части числа будет применено значение указанное для первичной группировки. Если в качестве второго числа используется значение, отличное от 0, то это значение будет использовано для группировки всех разрядов, кроме уже сгруппированных наименее значимых.
  • ЧО - представление отрицательных чисел.
    • 0 (0) - строка вида "(1,1)";
    • 1 (1) - строка вида "-1,1";
    • 2 (2) - строка вида "- 1,1";
    • 3 (3) - строка вида "1,1-";
    • 4 (4) - строка вида "1,1 -".
  • ДФ - формат даты.
    • д - день месяца (цифрами) без лидирующего нуля;
    • дд - день месяца (цифрами) с лидирующим нулем;
    • ддд - краткое название дня недели;
    • дддд- полное название дня недели;
    • М - номер месяца (цифрами) без лидирующего нуля;
    • ММ - номер месяца (цифрами) с лидирующим нулем;
    • МММ - краткое название месяца;
    • ММММ - полное название месяца;
    • к - номер квартала в году;
    • г - номер года без века и лидирующего нуля;
    • гг - номер года без века с лидирующим нулем;
    • гггг - номер года с веком;
    • ч - час в 12 часовом варианте без лидирующих нулей;
    • чч - час в 12 часовом варианте с лидирующим нулем;
    • Ч - час в 24 часовом варианте без лидирующих нулей;
    • ЧЧ (HH) - час в 24 часовом варианте с лидирующим нулем;
    • м - минута без лидирующего нуля;
    • мм - минута с лидирующим нулем;
    • с - секунда без лидирующего нуля;
    • сс - секунда с лидирующим нулем;
    • вв - отображение половины дня AM/PM (действительно только для языков конфигурирования, поддерживающих 12 часовой вариант представления времени).
  • ДЛФ - локальный формат даты. Указывается вариант отображения частей даты.
    • Д - дата (цифрами);
    • ДД - длинная дата (месяц прописью);
    • В - полное время, дата может объединяться со временем;
    • ДВ - дата время.
  • ДП - строка, представляющая пустую дату (например, Формат("00010101000000" ,"ДП=""пустая дата""") вернет строку "пустая дата").
  • БЛ - строка, представляющая логическое значение Ложь .
  • БИ - строка, представляющая логическое значение Истина .

Код 1C v 8.х
// Пример форматной строки для вывода числа прописью на русском
// языке, с выводом целой и дробной части прописью и выводом
// предмета исчисления.
ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="доллар,доллара,долларов,м,цент,цента,центов,м,2";
ПрописьЧисла = ЧислоПрописью(2341.56, ФормСтрока, ПарПредмета);
// Результат вычисления: "Две тысячи триста сорок один доллар пятьдесят шесть центов"

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

Число - Число, которое необходимо преобразовать в строку прописью.

Форматная строка представляет собой строковое значение, включающее параметры форматирования. Параметры форматирования перечисляются через символ ";" (точка с запятой). Если параметр не указывается, используется значение параметра по умолчанию.
Каждый параметр задается именем параметра, символом "=" (равно) и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в синтаксисе форматной строки.
Л (L) - Код локализации. По умолчанию используется код локализации, установленный в операционной системе. Примеры кодов локализации: ru_RU - Русский (Россия); en_US - Английский (США).
НП (SN) - Включать/не включать название предмета исчисления (Булево), по умолчанию - Истина.
НД (FN) - Включать/не включать название десятичных частей предмета исчисления (Булево), по умолчанию - Истина.
ДП (FS) - Дробную часть выводить прописью/числом (Булево), по умолчанию - Ложь.

Параметры предмета исчисления - Представляет собой строковое значение, определяющее параметры предмета исчисления. Параметры предмета исчисления перечисляются через "," (запятая). Формат строки зависит от кода локализации.
Для русского и белорусского языков (ru_RU, be_BY)
"рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2", где:
"рубль, рубля, рублей, м" - предмет исчисления:
рубль - единственное число именительный падеж,
рубля - единственное число родительный падеж,
рублей - множественное число родительный падеж,



Для украинского языка (uk_UA)
"гривна, гривны, гривен, м, копейка, копейки, копеек, ж, 2", где:
"гривна, гривны, гривен, м" - предмет исчисления:
"гривна - единственное число именительный падеж,
гривны - единственное число родительный падеж,
гривен - множественное число родительный падеж,
м - мужской род (ж - женский род, с - средний род);
"копейка, копейки, копеек, ж" - дробная часть, аналогично предмету исчисления (может отсутствовать);
"2" - количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).
Для польского языка (pl_PL)
z?oty, z?ote, z?otych, m, grosz, grosze, groszy, m, 2
где:
"z?oty, z?ote, z?otych, m " - предмет исчисления (m - мужской род, ? - женский род, ? - средний род, mo - личностный мужской род)
z?oty - единственное число именительный падеж
z?ote - единственное число винительный падеж
z?otych - множественное число винительный падеж
m - мужской род (? - женский род, ? - средний род, mo - личностный мужской род)
"grosz, grosze, groszy, m " - дробная часть (может отсутствовать) (аналогично целой части)
2 - количество разрядов дробной части (может отсутствовать, по-умолчанию равно 2)
Код 1C v 8.х
Пропись = ЧислоПрописью(1832, “L=pl_PL;SN=true;FN=true;FS=true”, “z?oty, z?ote, z?otych, m, grosz, grosze, groszy, m, 2”);

Для английского, финского и казахского языков (en_US, fi_FI, kk_KZ)
"dollar, dollars, cent, cents, 2", где:
"dollar, dollars" - предмет исчисления в единственном и множественном числе;
"cent, cents" - дробная часть в единственном и множественном числе (может отсутствовать);
"2" - количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).
Для немецкого языка (de_DE)
"EURO, EURO, М, Cent, Cent, M, 2", где:
"EURO, EURO, М" - предмет исчисления:
EURO, EURO - предмет исчисления в единственном и множественном числе;
М - мужской род (F - женский род, N - средний род);
"Cent, Cent, M" - дробная часть, аналогично предмету исчисления (может отсутствовать);
"2" - количество разрядов дробной части (может отсутствовать, по умолчанию равно 2).

Примеры:
Код 1C v 8.х x = ЧислоПрописью(123456.78,"ДП=Истина" ,"тонна, тонны, тонн, ж, кг., кг., кг., м,3");
//x = "Сто двадцать три тысячи четыреста пятьдесят шесть тонн семьсот восемьдесят кг."

X = ЧислоПрописью(123456.78,",0");
//x = "Сто двадцать три тысячи четыреста пятьдесят семь "

X = ЧислоПрописью(123456.78,",2");
//x = "Сто двадцать три тысячи четыреста пятьдесят шесть 78 "

X = ЧислоПрописью(123456.78,"Л=ru_RU; ДП=Ложь","рубль, рубля, рублей, м, копейка, копейки, копеек, ж");
//x = "Сто двадцать три тысячи четыреста пятьдесят шесть рублей 78 копеек"

X = ЧислоПрописью(123456.78, "Л = ru_RU; ДП = Истина", "доллар,доллара,долларов,м,цент,цента,центов,м,2");
//x = "Сто двадцать три тысячи четыреста пятьдесят шесть долларов семьдесят восемь центов"

Информация взята с сайта

nber-horeca.ru - Браузеры. Компьютер. Социальные сети. Программы