Сумма прописью

1. MindParadox 07.10.20 15:18 Сейчас в теме
Подскажите?
Как написать в договоре такое представление суммы:
15000 (Пятнадцать тысяч рублей) 00 копеек

Слово "копеек" должно склоняться в зависимости от количества копеек.
По теме из базы знаний
Найденные решения
14. FatPanzer 07.10.20 21:17 Сейчас в теме
(12) Да, есть там маленькая засада. Вот, придумал...
	СуммаРубли = Цел(СуммаНаФорме);
	СуммаКопейки = (СуммаНаФорме - СуммаРубли);
	
	РублиЧислом     = Формат(СуммаРубли, "ЧДЦ=0; ЧГ=0");
	РублиПрописью   = ЧислоПрописью(СуммаРубли, "Л = ru_RU; НД = Ложь", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 0");
	КопейкиПрописью = Сред(ЧислоПрописью(СуммаКопейки, "Л = ru_RU; НП = Ложь", ",,,, копейка, копейки, копеек, ж, 2"), 6);
	
	СуммаНаФормеПрописью = РублиЧислом + " (" + РублиПрописью + ") " + КопейкиПрописью;
Исходное число - СуммаНаФорме, результат прописью - СуммаНаФормеПрописью .
Прикрепленные файлы:
Stas84; SoftLeon; Bob_Sid; user712426; Rasten; One_Assembler; user1835100; vikalinina; nosferat; Arax; Serg243; Niks27; hawk1; Misqoozi; DEFLU_; bbnn; MindParadox; user1464234; +18 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user5300 1081 07.10.20 15:24 Сейчас в теме
(1)


РеквизитПоле = ЧислоПрописью(1234.56, "Л=ru_RU;ДП=Истина", "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2");
1c-kt; user712426; Serg243; alex-l19041; +4 Ответить
2. BackinSoda 07.10.20 15:23 Сейчас в теме
(1) по идее, внутри справочника валюты надо указывать "параметры прописи" для склонения.
использовать либо "ЧислоПрописью", либо свою функцию, которая собирает сумму прописью по кускам
// Пример форматной строки для вывода числа прописью на русском

// языке, с выводом целой и дробной части прописью и выводом

// предмета исчисления.

ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="доллар,доллара,долларов,м,цент,цента,центов,м,2";
ПрописьЧисла = ЧислоПрописью(2341.56, ФормСтрока, ПарПредмета);

// Результат вычисления:

// "Две тысячи триста сорок один доллар пятьдесят шесть центов"
Показать
4. user633533_encantado 12 07.10.20 16:08 Сейчас в теме
Если типовая, то может есть готовый модуль:

РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта)
Dsds7748947684758486; Sergynia; +2 Ответить
5. MindParadox 07.10.20 18:33 Сейчас в теме
(3)
так можно получить
15000 (Пятнадцать тысяч рублей 00 копеек)
а надо
15000 (Пятнадцать тысяч рублей) 00 копеек

"00 копеек" за скобками
6. FatPanzer 07.10.20 19:46 Сейчас в теме
(5) Ну, а в чем проблема? Механизм вам подсказали, изучите его. Там можно выводить число без десятичных знаков, десятичные знаки без целой части... Разбейте число на две части, сформируйте две строки, выводите одну в скобках другу за скобками...
7. user1464234 07.10.20 19:50 Сейчас в теме
В екселе есть конструктор форматов, там ###.## на любой вкус.
8. MindParadox 07.10.20 20:09 Сейчас в теме
(6)
механизм вроде понятен, наверно....
15000 (Пятнадцать тысяч рублей) 00 - это всё я смог получить.

Но как просклонять "копейка" к их количеству?
01 - копейка
02 - копейки
и т.д.
У меня основным-то вопросом был этот.

Вот это пока никак у меня не получается.
Вот думаю, а не придётся ли по "Если" прогнать все окончания количества....
10. FatPanzer 07.10.20 20:24 Сейчас в теме
(8) Значит, почитать СП про ЧислоПрописью() не удосужился... Жаль, я два раза не советую...
9. user1464234 07.10.20 20:19 Сейчас в теме
Стрзаменть(" коп",") коп")
11. MindParadox 07.10.20 21:05 Сейчас в теме
(9)
Спасибо за наводку! Щас пройдусь по этой теме.
12. MindParadox 07.10.20 21:07 Сейчас в теме
(10)
Извините, извините!
Так-то почитал я про ЧислоПрописью(). Но, видимо, не увидел вариантов решения.
Пройду ещё разок.
14. FatPanzer 07.10.20 21:17 Сейчас в теме
(12) Да, есть там маленькая засада. Вот, придумал...
	СуммаРубли = Цел(СуммаНаФорме);
	СуммаКопейки = (СуммаНаФорме - СуммаРубли);
	
	РублиЧислом     = Формат(СуммаРубли, "ЧДЦ=0; ЧГ=0");
	РублиПрописью   = ЧислоПрописью(СуммаРубли, "Л = ru_RU; НД = Ложь", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 0");
	КопейкиПрописью = Сред(ЧислоПрописью(СуммаКопейки, "Л = ru_RU; НП = Ложь", ",,,, копейка, копейки, копеек, ж, 2"), 6);
	
	СуммаНаФормеПрописью = РублиЧислом + " (" + РублиПрописью + ") " + КопейкиПрописью;
Исходное число - СуммаНаФорме, результат прописью - СуммаНаФормеПрописью .
Прикрепленные файлы:
Stas84; SoftLeon; Bob_Sid; user712426; Rasten; One_Assembler; user1835100; vikalinina; nosferat; Arax; Serg243; Niks27; hawk1; Misqoozi; DEFLU_; bbnn; MindParadox; user1464234; +18 Ответить
13. MindParadox 07.10.20 21:10 Сейчас в теме
(7)
про ексель с конструктором форматов....непонятно....
А разве есть связь?
15. MindParadox 22.10.20 21:10 Сейчас в теме
(14) FatPanzer ...слов нет...изящно!!!
Спасибо!
В простой строке кода по преобразованию числа в строку столько скрыто..... Изучать и изучать! Пока к этому сам придёшь....

Спасибо всем за помощь! Простое человеческое спасибо, что новеньким подсказываете!
16. osa@bu-co.ru 08.08.23 10:31 Сейчас в теме
Можно еще вот так сделать если хочется более урезано
СтрШаблон(
"%1 (%2",
Формат(ТарифнаяСтавка, "ЧЦ=10; ЧДЦ=0"),
ЧислоПрописью(ТарифнаяСтавка, "Л = ru_RU", ") рубль, ) рубля, ) рублей, м, коп, коп, коп, ж, 2")
);
17. user2131826 07.03.25 14:48 Сейчас в теме
А если мне необходимо сделать скрипт для дополнительного реквизита с типом "Число". Мне надо, чтобы это число также в скобках прописью было. Как он должен выглядеть?
Оставьте свое сообщение

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