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

Перейти к контенту

Вывести число цифрами, а валюту прописью

Данные > Примеры кода 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 копейка

КонецФункции
0
Комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 05.01.2023
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому