Число прописью обратная функция

1. aatm 23.04.21 10:05 Сейчас в теме
Функция ЧислоПрописью которая переводит числа в слова. Есть ли функция которая переводит пропись в сумму?
Например: Одна тысяча триста восемьдесят рублей 00 копеек = 1380.00
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
18. user1135816 4 23.04.21 10:41 Сейчас в теме
19. DenisCh 23.04.21 10:48 Сейчас в теме
20. spacecraft 23.04.21 11:03 Сейчас в теме
(1) напишите свою. Там не так сложно.
Вот для примера, с чего начать:
ИтоговоеЧисло = ИзЧислаПрописьюВЧисло("Сто Двадцать Три тысячи Двести Сорок один рубль");

Функция ИзЧислаПрописьюВЧисло(ЧислоПрописью)
	СоответствиеЧисел = ПолучитьСоответствиеЧиселПрописи();
	СоответствиеРазрядов = ПолучитьСоответствиеРазрядов();
	МассивСоставляющихЧисла = СтрРазделить(ЧислоПрописью, " ", Ложь);
	ИтоговоеЧисло = 0;
	СуммаРазряда = 0;
	Для Каждого СоставляющаяЧисла Из МассивСоставляющихЧисла Цикл
		ЗначениеСоставляющейЧисла = СоответствиеРазрядов[НРег(СоставляющаяЧисла)];
		Если ЗначениеСоставляющейЧисла = Неопределено Тогда
			ЗначениеСоставляющейЧисла = СоответствиеЧисел[НРег(СоставляющаяЧисла)];
			Если ЗначениеСоставляющейЧисла = Неопределено Тогда
				Возврат 0;
			Иначе
				СуммаРазряда = СуммаРазряда + ЗначениеСоставляющейЧисла;
			КонецЕсли;
		Иначе
			ИтоговоеЧисло = ИтоговоеЧисло + СуммаРазряда*ЗначениеСоставляющейЧисла;
			СуммаРазряда = 0;
		КонецЕсли;
		
	КонецЦикла;
	ИтоговоеЧисло = ИтоговоеЧисло+СуммаРазряда;
	Возврат ИтоговоеЧисло;
КонецФункции

Функция ПолучитьСоответствиеЧиселПрописи()
	
	СоответствиеЧисел = Новый Соответствие;
	СоответствиеЧисел.Вставить("ноль", 0);
	СоответствиеЧисел.Вставить("один", 1);
	СоответствиеЧисел.Вставить("одна", 1);
	СоответствиеЧисел.Вставить("две", 2);
	СоответствиеЧисел.Вставить("два", 2);
	СоответствиеЧисел.Вставить("три", 3);
	СоответствиеЧисел.Вставить("четыре", 4);
	СоответствиеЧисел.Вставить("пять", 5);
	СоответствиеЧисел.Вставить("шесть", 6);
	СоответствиеЧисел.Вставить("семь", 7);
	СоответствиеЧисел.Вставить("восемь", 8);
	СоответствиеЧисел.Вставить("девять", 9);
	СоответствиеЧисел.Вставить("десять", 10);
	СоответствиеЧисел.Вставить("одинадцать", 11);
	СоответствиеЧисел.Вставить("двенадцать", 12);
	СоответствиеЧисел.Вставить("тринадцать", 13);
	СоответствиеЧисел.Вставить("четырнадцать", 14);
	СоответствиеЧисел.Вставить("пятнадцать", 15);
	...
	СоответствиеЧисел.Вставить("двадцать", 20);
	СоответствиеЧисел.Вставить("тридцать", 30);
	СоответствиеЧисел.Вставить("сорок", 40);
	...
	СоответствиеЧисел.Вставить("сто", 100);
	СоответствиеЧисел.Вставить("двести", 200);
	СоответствиеЧисел.Вставить("триста", 300);
	СоответствиеЧисел.Вставить("четыреста", 400);
	...
	Возврат СоответствиеЧисел;
	
КонецФункции

Функция ПолучитьСоответствиеРазрядов()
	СоответствиеРазрядов = Новый Соответствие;
	СоответствиеРазрядов.Вставить("рубль", 1);
	СоответствиеРазрядов.Вставить("рубля", 1);
	СоответствиеРазрядов.Вставить("рублей", 1);
	СоответствиеРазрядов.Вставить("тысяч", 1000);
	СоответствиеРазрядов.Вставить("тысяча", 1000);
	СоответствиеРазрядов.Вставить("тысячи", 1000);
	СоответствиеРазрядов.Вставить("миллион", 1000000);
	СоответствиеРазрядов.Вставить("миллиона", 1000000);
	СоответствиеРазрядов.Вставить("миллионов", 1000000);
	Возврат СоответствиеРазрядов;
КонецФункции
Показать
AndKovalchuk; +1 Ответить
21. aatm 23.04.21 12:45 Сейчас в теме
(20) Я пишу. Хотелось по быстрому вставить и делать дальше.
2. user633533_encantado 11 23.04.21 10:07 Сейчас в теме
Нет в типовых, так как это в учете обычно не нужно.
3. aatm 23.04.21 10:09 Сейчас в теме
должна же где-то быть такая. Кто-то ведь задумывался над этим
4. user633533_encantado 11 23.04.21 10:10 Сейчас в теме
(3) Можете назвать ситуацию когда она нужна ?
5. sssss_aaaaa_2011 23.04.21 10:10 Сейчас в теме
(3)
Кто-то ведь задумывался над этим
Откуда такая уверенность? ЗАЧЕМ/ГДЕ может быть нужна такая функция?
7. SlavaKron 23.04.21 10:11 Сейчас в теме
(3) Нет не должно быть, потому что это бред – "Одна тысяча триста восемьдесят рублей 00 копеек" ниоткуда что ли взялось. Оно взялось из числа, так зачем извращаться, если можно просто взять это число? Сейчас вы скажете, что число это не известно, а я вам отвечу, что значит проблема лежит в другой плоскости, меняйте логику решения. Данные берите из ИБ.
EVKash; Denis_CFO; retr0; sssss_aaaaa_2011; FatPanzer; Valerianich; +6 Ответить
16. ishelper 23.04.21 10:33 Сейчас в теме
(3)
должна же где-то быть такая
Узнаю менталитет 1Сника: на каждую, даже самую бредовую хотелку должна быть готовая функция!
Кто-то ведь задумывался над этим
Вы первый (в списке), поздравляю!
6. aatm 23.04.21 10:11 Сейчас в теме
например при анализе банковских выписок которые загружаются в виде PDF файлов.
8. user633533_encantado 11 23.04.21 10:14 Сейчас в теме
(6) Любой банк предоставляет выгрузку в электронном виде. Задача высосана из пальца.
DenisVol; sssss_aaaaa_2011; FatPanzer; +3 Ответить
9. aatm 23.04.21 10:15 Сейчас в теме
а PDF не электронный вид?
10. user633533_encantado 11 23.04.21 10:21 Сейчас в теме
(9) Нет.
Есть форматы обмена, банки обязаны их обеспечивать.
DenisVol; sssss_aaaaa_2011; FatPanzer; vv2; +4 Ответить
11. sssss_aaaaa_2011 23.04.21 10:24 Сейчас в теме
(9) PDF заточен на чтение человеком и в нём страницы могут быть картинкой без каких-либо текстов и чисел. Не предназначен он для обмена данными.
DenisVol; user633533_encantado; FatPanzer; vv2; +4 Ответить
17. пользователь 23.04.21 10:36
Сообщение было скрыто модератором.
...
12. пользователь 23.04.21 10:26
Сообщение было скрыто модератором.
...
13. пользователь 23.04.21 10:27
Сообщение было скрыто модератором.
...
15. SlavaKron 23.04.21 10:31 Сейчас в теме
(13) А также видео, аудио и даже интерактивные 3d объекты. PDF - это просто контейнер.
sssss_aaaaa_2011; vv2; +2 Ответить
14. sssss_aaaaa_2011 23.04.21 10:29 Сейчас в теме
(13) Самые обычные, JPG|PNG. В размер страницы. И не несу, а сообщаю тебе то, о чём ты, похоже, даже не подозреваешь. Почитай доку по PDF и EPS.
22. N0t_F0und 10 24.04.21 15:33 Сейчас в теме
например при анализе банковских выписок которые загружаются в виде PDF файлов.


Это, да. Только вот где там цифры прописью?..
23. Fox-trot 158 24.04.21 21:26 Сейчас в теме
Энд Оскар фо бест куесчн гоуз ту
Оставьте свое сообщение

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