Вывести число цифрами, а валюту прописью
Данные > Примеры кода 1С > 1С 8.3 Формат
Перейти в раздел примеры кода 1С 8.3:
Сумма цифрами, валюта прописью в 1С 8.3:
&НаКлиенте
Функция СуммаЦифрамиВалютаПрописью(СуммаСчета)
//СуммаСчета=138.21;
// Рубли-копейки (Сто тридцать восемь рублей 21 копейка)
ФСтр="Л=ru_RU;ДП=Ложь";ПарПИ="рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2";//по-русски
//ФСтр="Л=en_US;ДП=Ложь";ПарПИ="rouble,roubles,kopeck,kopecks,2";//по-английски
//ФСтр="Л=uk_UA;ДП=Ложь";ПарПИ="карбованець,карбованцi,карбованцiв,м,копiйка,копiйки,копiйок,м,2";//по-украински
//ФСтр="Л=lv_LV;ДП=Ложь";ПарПИ="rublis,rubli,rublu,v,kapeika,kapeiki,kapeiku,s,2";//по-латышски
//ФСтр="Л=ro_RO;ДП=Ложь";ПарПИ="rubla,ruble,f,copeica,copeici,f,2";//по-румынски
//ФСтр="Л=bg_BG;ДП=Ложь";ПарПИ="рубла,рубли,ж,копейка,копейки,ж,2";//по-болгарски
//// Доллары-центы (Сто тридцать восемь долларов США 21 цент)
//ФСтр="Л=ru_RU;ДП=Ложь";ПарПИ="доллар,доллара,долларов,м,цент,цента,центов,м,2";//по-русски
//ФСтр="Л=en_US;ДП=Ложь";ПарПИ="dollar,dollars,cent,cents,2";//по-английски
//ФСтр="Л=uk_UA;ДП=Ложь";ПарПИ="долар,долара,доларiв,м,цент,цента,центiв,м,2";//по-украински
//ФСтр="Л=lv_LV;ДП=Ложь";ПарПИ="dolars,dolari,dolaru,v,cent,centi,centu,v,2";//по-латышски
//ФСтр="Л=ro_RO;ДП=Ложь";ПарПИ="dolar,dolari,m,cent,centi,m,2";//по-румынски
//ФСтр="Л=bg_BG;ДП=Ложь";ПарПИ="долар,долара,м,цент,цента,м,2";//по-болгарски
//// Евро-евроценты (Сто тридцать восемь евро 21 евроцент)
//ФСтр="Л=ru_RU;ДП=Ложь";ПарПИ="евро,евро,евро,м,евроцент,евроцента,евроцентов,м,2";//по-русски
//ФСтр="Л=en_US;ДП=Ложь";ПарПИ="euro,euros,eurocent,eurocents,2";//по-английски
//ФСтр="Л=uk_UA;ДП=Ложь";ПарПИ="євро,євро,євро,м,євроцент,євроцента,євроцентів,м,2";//по-украински
//ФСтр="Л=lv_LV;ДП=Ложь";ПарПИ="eiro,eiro,eiro,v,cents,centi,centi,v,2";//по-латышски
//ФСтр="Л=ro_RO;ДП=Ложь";ПарПИ="euro,euro,м,eurocent,eurocenti,м,2";//по-румынскимммм
//ФСтр="Л=bg_BG;ДП=Ложь";ПарПИ="евро,евро,с,евроцент,евроцента,м,2";//по-болгарски
СуммаСчетаПрописью = ЧислоПрописью(СуммаСчета, ФСтр, ПарПИ);
СуммаСчетаПрописью = СтрЗаменить(СуммаСчетаПрописью," ",Символы.ПС);
Результат = Строка(Цел(СуммаСчета)) + Сред(СуммаСчетаПрописью, Найти(СуммаСчетаПрописью, " "+Лев(ПарПИ,4)));
// или для целых чисел
// Результат = Строка(СуммаСчета) +" "+ ?(СтрЧислоСтрок(СуммаСчетаПрописью) > 3,
// СтрПолучитьСтроку(СуммаСчетаПрописью,СтрЧислоСтрок(СуммаСчетаПрописью) -2) + " "+
// СтрПолучитьСтроку(СуммаСчетаПрописью,СтрЧислоСтрок(СуммаСчетаПрописью) -1) + " "+
// СтрПолучитьСтроку(СуммаСчетаПрописью,СтрЧислоСтрок(СуммаСчетаПрописью)), "");
// или для целых чисел
// Валюта = СокрЛП(СтрЗаменить(СуммаСчетаПрописью, ЧислоПрописью(СуммаСчета, ФСтр, ",,,,,,,,0" ),""));
// Результат3 = Строка(СуммаСчета) +" "+ Валюта;
Возврат Результат; // 138 рублей 21 копейка
КонецФункции
Функция СуммаЦифрамиВалютаПрописью(СуммаСчета)
//СуммаСчета=138.21;
// Рубли-копейки (Сто тридцать восемь рублей 21 копейка)
ФСтр="Л=ru_RU;ДП=Ложь";ПарПИ="рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2";//по-русски
//ФСтр="Л=en_US;ДП=Ложь";ПарПИ="rouble,roubles,kopeck,kopecks,2";//по-английски
//ФСтр="Л=uk_UA;ДП=Ложь";ПарПИ="карбованець,карбованцi,карбованцiв,м,копiйка,копiйки,копiйок,м,2";//по-украински
//ФСтр="Л=lv_LV;ДП=Ложь";ПарПИ="rublis,rubli,rublu,v,kapeika,kapeiki,kapeiku,s,2";//по-латышски
//ФСтр="Л=ro_RO;ДП=Ложь";ПарПИ="rubla,ruble,f,copeica,copeici,f,2";//по-румынски
//ФСтр="Л=bg_BG;ДП=Ложь";ПарПИ="рубла,рубли,ж,копейка,копейки,ж,2";//по-болгарски
//// Доллары-центы (Сто тридцать восемь долларов США 21 цент)
//ФСтр="Л=ru_RU;ДП=Ложь";ПарПИ="доллар,доллара,долларов,м,цент,цента,центов,м,2";//по-русски
//ФСтр="Л=en_US;ДП=Ложь";ПарПИ="dollar,dollars,cent,cents,2";//по-английски
//ФСтр="Л=uk_UA;ДП=Ложь";ПарПИ="долар,долара,доларiв,м,цент,цента,центiв,м,2";//по-украински
//ФСтр="Л=lv_LV;ДП=Ложь";ПарПИ="dolars,dolari,dolaru,v,cent,centi,centu,v,2";//по-латышски
//ФСтр="Л=ro_RO;ДП=Ложь";ПарПИ="dolar,dolari,m,cent,centi,m,2";//по-румынски
//ФСтр="Л=bg_BG;ДП=Ложь";ПарПИ="долар,долара,м,цент,цента,м,2";//по-болгарски
//// Евро-евроценты (Сто тридцать восемь евро 21 евроцент)
//ФСтр="Л=ru_RU;ДП=Ложь";ПарПИ="евро,евро,евро,м,евроцент,евроцента,евроцентов,м,2";//по-русски
//ФСтр="Л=en_US;ДП=Ложь";ПарПИ="euro,euros,eurocent,eurocents,2";//по-английски
//ФСтр="Л=uk_UA;ДП=Ложь";ПарПИ="євро,євро,євро,м,євроцент,євроцента,євроцентів,м,2";//по-украински
//ФСтр="Л=lv_LV;ДП=Ложь";ПарПИ="eiro,eiro,eiro,v,cents,centi,centi,v,2";//по-латышски
//ФСтр="Л=ro_RO;ДП=Ложь";ПарПИ="euro,euro,м,eurocent,eurocenti,м,2";//по-румынскимммм
//ФСтр="Л=bg_BG;ДП=Ложь";ПарПИ="евро,евро,с,евроцент,евроцента,м,2";//по-болгарски
СуммаСчетаПрописью = ЧислоПрописью(СуммаСчета, ФСтр, ПарПИ);
СуммаСчетаПрописью = СтрЗаменить(СуммаСчетаПрописью," ",Символы.ПС);
Результат = Строка(Цел(СуммаСчета)) + Сред(СуммаСчетаПрописью, Найти(СуммаСчетаПрописью, " "+Лев(ПарПИ,4)));
// или для целых чисел
// Результат = Строка(СуммаСчета) +" "+ ?(СтрЧислоСтрок(СуммаСчетаПрописью) > 3,
// СтрПолучитьСтроку(СуммаСчетаПрописью,СтрЧислоСтрок(СуммаСчетаПрописью) -2) + " "+
// СтрПолучитьСтроку(СуммаСчетаПрописью,СтрЧислоСтрок(СуммаСчетаПрописью) -1) + " "+
// СтрПолучитьСтроку(СуммаСчетаПрописью,СтрЧислоСтрок(СуммаСчетаПрописью)), "");
// или для целых чисел
// Валюта = СокрЛП(СтрЗаменить(СуммаСчетаПрописью, ЧислоПрописью(СуммаСчета, ФСтр, ",,,,,,,,0" ),""));
// Результат3 = Строка(СуммаСчета) +" "+ Валюта;
Возврат Результат; // 138 рублей 21 копейка
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник