10(десять)рублей 5(пять)копеек как вывести?

1. Ranel 03.11.20 14:45 Сейчас в теме
Дня доброго, подскажите пожалуйста как вывести сумму по следующей схеме:

"10(десять)рублей 5(пять)копеек"

Ситуация следующая, нужно в шаблоне печатной формы выводить сумму прописью, так как выше.
Получилось вывести следующим путем 10,5 (десять рублей пять копеек), а как вывести тем что выше не понятно, есть у кого какие соображения или где можно подчерпнуть информацию?
Код, которым получаю прикрепляю, может что в нём поменять?

ФорматнаяСтрока = "Л = ru_RU; ДП = ИСТИНА; НП=ИСТИНА"; 
Параметр = "рубль,рубля,рублей,м,копейка,копейки,копеек,ж";
Число = Файл.ВладелецФайла.Сумма;
		
ЧислоТекстом = ЧислоПрописью(Число,ФорматнаяСтрока,Параметр); 
	

РезультатОбработки = ЧислоТекстом
+
Вознаграждение за ответ
Показать полностью
Найденные решения
9. VladimirB 16 03.11.20 16:11 Сейчас в теме +1 $m
(8)
	Сумма=45.56;
	ФорматнаяСтрока = "Л = ru_RU; ДП = ИСТИНА; НП=ИСТИНА"; 
	Параметр = "рубль,рубля,рублей,м,копейка,копейки,копеек,ж";
	_Рубли=Цел(Сумма);
	_Копейки=(Сумма-Цел(Сумма))*100;
	_КопейкиДробно=Сумма-Цел(Сумма);
	
	_РублиПрописью=ЧислоПрописью(_Рубли,ФорматнаяСтрока,Параметр); 
	_РублиПрописью=СокрЛП(стрЗаменить(_РублиПрописью," ноль копеек",""));
	_РублиПрописью=СокрЛП(_Рубли)+" ("+стрЗаменить(_РублиПрописью," рубл",") рубл");
	
	_КопейкиПрописью=ЧислоПрописью(_КопейкиДробно,ФорматнаяСтрока,Параметр); 
	_КопейкиПрописью=СокрЛП(стрЗаменить(_КопейкиПрописью,"Ноль рублей",""));
	_КопейкиПрописью=СокрЛП(_Копейки)+" ("+стрЗаменить(_КопейкиПрописью," копе",") копе");
	
	
	Сообщить(_РублиПрописью+" "+_КопейкиПрописью);
Показать
vv2; cruel_hedgehog; Ranel; +3
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. serg1234 92 03.11.20 14:56 Сейчас в теме
(1)

ФорматнаяСтрока = "Л = ru_RU; ДП = ЛОЖЬ; НП=ИСТИНА"; 
Параметр = "рубль,рубля,рублей,м,копейка,копейки,копеек,ж";
мЧисло = Файл.ВладелецФайла.Сумма;
 
Стр = Формат(Цел(мЧисло ),"ЧГ=0") +"("+ЧислоПрописью(Цел(мЧисло ))+") рублей "+Формат((мЧисло - Цел(мЧисло )) * 100,"ЧГ=0") + "("+ЧислоПрописью((мЧисло - Цел(мЧисло )) * 100)+") копеек"
       

РезультатОбработки = Стр 

Показать
VladimirB; Ranel; +2
6. Ranel 03.11.20 15:34 Сейчас в теме
(3)Serg1234, сила!

Почти получилось, но вышли лишние символы, как убрать цифры в скобках?
Подскажите пожалуйста
Прикрепленные файлы:
+
12. serg1234 92 03.11.20 17:06 Сейчас в теме
(6)
ФорматнаяСтрока = "Л = ru_RU; ДП = ЛОЖЬ; НП=ЛОЖЬ;НД = ЛОЖЬ"; 
ФорматнаяСтрока2 = "Л = ru_RU; ДП = ЛОЖЬ; НП=ИСТИНА;НД = ЛОЖЬ"; 
Параметр = "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,0";
Параметр2 = "копейка,копейки,копеек,м,копейка,копейки,копеек,ж,0";
мЧисло = Файл.ВладелецФайла.Сумма;;
 
СТР2 = ЧислоПрописью(Цел(мЧисло ),ФорматнаяСтрока2,Параметр);
СТР3 = ЧислоПрописью((мЧисло - Цел(мЧисло ))*100,ФорматнаяСтрока2,Параметр2);
Руб = Сред(СТР2,СтрНайти(СТР2," ",НаправлениеПоиска.СКонца));
Коп = Сред(СТР3,СтрНайти(СТР3," ",НаправлениеПоиска.СКонца));

Стр = Формат(Цел(мЧисло ),"ЧГ=0") +"("+ЧислоПрописью(Цел(мЧисло ),ФорматнаяСтрока,Параметр)+")"+Руб+" "+Формат((мЧисло - Цел(мЧисло ))*100,"ЧГ=0") 
+ "("+ЧислоПрописью((мЧисло - Цел(мЧисло ))*100,ФорматнаяСтрока,Параметр2)+")"+Коп;


РезультатОбработки = Стр
Показать
tetraren; +1
8. Ranel 03.11.20 15:39 Сейчас в теме
(3) а нет это не сила, это похоже разводила , )
рублей и копеек не склоняется
Прикрепленные файлы:
+
2. FatPanzer 03.11.20 14:53 Сейчас в теме
Придется комплектовать из нескольких строк. Направление мысли : https://forum.infostart.ru/forum9/topic249119/
VladimirB; Ranel; +2
4. ASSuk 03.11.20 15:08 Сейчас в теме
А о какой редакции и платформе речь ?
+
5. ASSuk 03.11.20 15:12 Сейчас в теме
А вообще вот:

Функция ЧислоПрописью(ЗначЧисло) Экспорт
	
	Перем Возвр;
	Перем ЦелЧасть, ДробЧасть;
	Перем Дробная;
	Перем Окончание;
	Перем ПоследнееСлово;

	ЦелЧасть	= Цел(ЗначЧисло);
	ДробЧасть	= Окр(ЗначЧисло - ЦелЧасть, 3);
	                          
	Если ДробЧасть=Окр(ДробЧасть,0) Тогда
		ДробЧасть	= 0;
		Дробная		= "";
		
	ИначеЕсли ДробЧасть = Окр(ДробЧасть, 1) Тогда
		ДробЧасть	= Окр(ДробЧасть, 1) * 10;
		Дробная		= "десят";
		
	ИначеЕсли ДробЧасть = Окр(ДробЧасть, 2) Тогда
		ДробЧасть	= Окр(ДробЧасть, 2) * 100;
		Дробная		= "сот";
	Иначе
		ДробЧасть	= ДробЧасть * 1000;
		Дробная		= "тысячн";
	КонецЕсли;

	Возвр = "";

	Возвр = Возвр + ?(ПустоеЗначение(ЦелЧасть) = 1, "Ноль", СокрЛП(Формат(ЦелЧасть, "ЧП")));

	Если Дробная <> "" Тогда	// есть дробная часть

		// теперь займемся окончанием последнего слова целой части
		ПоследнееСлово = "";
		Окончание = "";

		Пока (Возвр <> "") И (Возвр = СокрП(Возвр)) Цикл	// последний символ в строке не пробел
			ПоследнееСлово	= Прав(Возвр, 1) + ПоследнееСлово;	// добавляем последнюю букву
			Возвр			= Лев(Возвр, СтрДлина(Возвр) - 1);    // отрезаем последнюю букву
		КонецЦикла;
		
		Если Врег(ПоследнееСлово) = "ОДИН" Тогда
			// первую букву слова оставляем
			ПоследнееСлово	= Лев(ПоследнееСлово, 1) + "дна";
			Окончание		= "ая";
		Иначе
			Если (Врег(ПоследнееСлово) = "ДВА") Тогда
				ПоследнееСлово = Лев(ПоследнееСлово, 1) + "ве";
			КонецЕсли;
			Окончание = "ых";
		КонецЕсли;

		Возвр = Возвр + ПоследнееСлово + " цел" + Окончание + " " + НРег(СокрЛП(Формат(ДробЧасть, "ЧП")));

		// теперь займемся окончанием последнего слова дробной части
		ПоследнееСлово	= "";
		Окончание		= "";
		
		Пока Возвр = СокрП(Возвр) Цикл	// последний символ в строке не пробел
			ПоследнееСлово	= Прав(Возвр, 1) + ПоследнееСлово;	// добавляем последнюю букву
			Возвр			= Лев(Возвр, СтрДлина(Возвр) - 1);    // отрезаем последнюю букву
		КонецЦикла;
		
		Если Врег(ПоследнееСлово) = "ОДИН" Тогда
			// первую букву слова оставляем
			ПоследнееСлово	= Лев(ПоследнееСлово, 1) + "дна";
			Окончание		= "ая";
		Иначе
			Если (Врег(ПоследнееСлово) = "ДВА") Тогда
				ПоследнееСлово = Лев(ПоследнееСлово, 1) + "ве";
			КонецЕсли;
			
			Окончание = "ых";
		КонецЕсли;
		
		Возвр = Возвр + ПоследнееСлово + " " + Дробная + Окончание;
	КонецЕсли;

	Возврат Возвр;
	
КонецФункции // ЧислоПрописью()
Показать
VladimirB; Ranel; +2
7. VladimirB 16 03.11.20 15:38 Сейчас в теме
стрЗаменить(Строка,"00)",")")
+
9. VladimirB 16 03.11.20 16:11 Сейчас в теме +1 $m
(8)
	Сумма=45.56;
	ФорматнаяСтрока = "Л = ru_RU; ДП = ИСТИНА; НП=ИСТИНА"; 
	Параметр = "рубль,рубля,рублей,м,копейка,копейки,копеек,ж";
	_Рубли=Цел(Сумма);
	_Копейки=(Сумма-Цел(Сумма))*100;
	_КопейкиДробно=Сумма-Цел(Сумма);
	
	_РублиПрописью=ЧислоПрописью(_Рубли,ФорматнаяСтрока,Параметр); 
	_РублиПрописью=СокрЛП(стрЗаменить(_РублиПрописью," ноль копеек",""));
	_РублиПрописью=СокрЛП(_Рубли)+" ("+стрЗаменить(_РублиПрописью," рубл",") рубл");
	
	_КопейкиПрописью=ЧислоПрописью(_КопейкиДробно,ФорматнаяСтрока,Параметр); 
	_КопейкиПрописью=СокрЛП(стрЗаменить(_КопейкиПрописью,"Ноль рублей",""));
	_КопейкиПрописью=СокрЛП(_Копейки)+" ("+стрЗаменить(_КопейкиПрописью," копе",") копе");
	
	
	Сообщить(_РублиПрописью+" "+_КопейкиПрописью);
Показать
vv2; cruel_hedgehog; Ranel; +3
10. Ranel 03.11.20 16:18 Сейчас в теме
(9)Благодарю Вас, Владимир!
Предвосхитили ожидания!
+
11. пользователь 03.11.20 16:38
Сообщение было скрыто модератором.
...
13. ixijixi 1794 12.10.22 15:26 Сейчас в теме
	Рубли = Цел(Сумма);
	Копейки = (Сумма - Рубли)*100;
	
	Рубли = СтрокаСЧислом(";%1 рубль;;%1 рубля;%1 рублей;%1 рубля", Рубли, ВидЧисловогоЗначения.Количественное, "L=ru");
	Копейки = ?(Копейки = 0, "00 копеек", СтрокаСЧислом(";%1 копейка;;%1 копейки;%1 копеек;%1 копейки", Формат(Копейки, "ЧН=0"), ВидЧисловогоЗначения.Количественное, "L=ru"));
	
	Возврат Рубли + " " + Копейки;
0x00; +1
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот