Число Прописью на любом языке

Опубликовал Денис Гончаренко (SoftIce) в раздел Программирование - Практика программирования

Выводит указанное число прописью на любом языке. Предварительно необходимо подготовить макет-шаблон (аналог spl файла в 7-ке). Можно использовать в составе конфигурации.

  Понадобилось мне недавно вывести в печатной форме число прописью на национальном языке (в моем случае - азербайджанском). Штатная функция ЧислоПрописью() мне ничем помочь не смогла - набор кодировок в этой функции азербайджанский не включает. Поиск по сети показал, что каждый решает эту проблему для себя самостоятельно. Файлов прописей аналогичных семерочным - нет. В результате написал эту обработку.

  В обработке содержится набор макетов - аналогов spl файлов в 7-ке. Со структурой макетов можно легко разобраться самому и добавить макет для своего языка. Выбираем язык, вписываем число, нажимаем выполнить и получаем число прописью.

 Обработку можно использовать и в составе конфигурации. Для этого используются реквизиты обработки Язык, ЧислоЦифрами. Результат возвращается в ревизит ЧислоПрописью.  В реквит Язык передаем строковое значение совпадающее с именем макета требуемого языка. В ЧислоЦифрами - как легко догадаться само число. Вызываем экспортную функцию ЧислоВПропись().

Пропись = Обработки.ЧислоПрописью.Создать();

Пропись.Язык = "Азербайджанский";
Пропись.ЧислоЦифрами = 123412;
Пропись.ЧислоВПропись();
Результат = Пропись.ЧислоПрописью;

Вот собственно и все.

 

PS Сорри, но для русского языка не сделал склонение по родам. Но кроме русского - склонения больше нигде нет, а по русски и штатными средствами можно вывести. В состав обработки макет "Русский" включил для примера.

PPS: Критика и благодарности принимаются Laughing


Upd: Обновил. Теперь переводит так же и дробную часть. Добавил реквизиты НП, ДП, ДП и КД. Предназначение первых трех такое же как и в штатной функции ЧислоПрописью() (см. синтаксис-помощник). А КД - это количество знаков дробной части которое нужно переводить (возможные значения от 0 до 2). Значение по-умолчанию = 2.  В макеты добавились новые области. НПИ - наименование валюты. НДПИ - Наименование дробной части валюты.


Upd 02.02.2012 Обновил.  

 - Исправил некорректное отображение дробной части 

- Некорректно отображались круглые цифры

Скачать файлы

Наименование Файл Версия Размер
Число прописью
.epf 14,21Kb
02.02.12
93
.epf 14,21Kb 93 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Денис Гончаренко (SoftIce) 39 18.04.11 23:04 Сейчас в теме
Скачиваний 19, а голосов 3. Неужели нет мнений?
2. Альтаир (Altair777) 633 19.04.11 10:59 Сейчас в теме
(1) а у меня показывает 2 скачивания и 3 плюса
придется компенсировать минусом :D
3. Денис Гончаренко (SoftIce) 39 19.04.11 15:45 Сейчас в теме
(2) Это после обновления счетчик скачивания сбросился.
4. Альтаир (Altair777) 633 20.04.11 10:24 Сейчас в теме
(3) насколько я помню при обновлении счетчик не сбрасывается
только если удалить старый файл и добавить новый
5. Юрий Тимофеев (Tatitutu) 3562 20.04.11 10:34 Сейчас в теме
SoftIce пишет:
Скачиваний 19, а голосов 3. Неужели нет мнений?

Здесь качалка , а не говорилка (с)
и не кричи - никто тебя не услышит :D
6. Денис Гончаренко (SoftIce) 39 20.04.11 23:39 Сейчас в теме
(4) собсно я так и сделал.
(5) :))) Кому-нибудь пригодится - и то ладно.
7. Ирина Полякова (Pol-ir) 17.05.11 16:16 Сейчас в теме
Не знаю как с Азербайджанским языком, а мне Буху, и то что по-русски, я думаю, - пригодится :D
Вот только 00 копеек - пишет один нолик, вместо двух :-(
8. Арам Замзам (Арамзамзам) 23.09.11 05:19 Сейчас в теме
хз, скачал давно, не порбывал. Проверка правописания и тут корявое, предложенные варианты не то, что хотелось бы
Вот сижу и думаю скачать ещё рас или старою поискать?
хз,хз, раз не нужна была , наверное и счас не понадобится, ладно, не буду качать. Админы сами просили коменты оставлять, ну вот приходится писать, а так ленно, шо писец.
9. Арам Замзам (Арамзамзам) 23.09.11 05:21 Сейчас в теме
(5) Tatitutu,
теперь тут просят устроить говорилку, так что придётся тебе слушать!
10. Юрий Тимофеев (Tatitutu) 3562 23.09.11 09:49 Сейчас в теме
(9)Смотри на дату и вообрази в контексте того времени.
(это время ГЛОБАЛЬНОЙ ТИШИНЫ в БИБЛИОТЕКЕ
и если ты немного поворошишь форум то поймешь , что я всегда был против
тишины и всегда был в активе, сколько раз меня тут банили за нарушение режима
я думаю даже администрация - уже не помнит
И хороший тебе мой совет - научись отличать сарказм
11. Элина Витяганец (Elisha) 06.10.11 16:44 Сейчас в теме
Мне обработка оказалась очень полезной, Нужно было выводить большие числа с большой дробной часью прописью, переделала по себя, оч помогло)
12. Денис Гончаренко (SoftIce) 39 06.10.11 17:03 Сейчас в теме
Рад что кому-то пригодилась.
13. Виктор Мазитов (VicGuru) 06.10.11 17:13 Сейчас в теме
нужная вещь, в свое время писал сам руками
15. Стас Веселов (StasssiK) 07.12.11 11:28 Сейчас в теме
Делаю свою конфигурацию для диплома (в 8.2), решил воспользоваться вашей обработкой. Подскажите, как с помощью ее вывести сумму прописью из обычного макета? Как я понимаю, она выводит стационарное число, а в документах (например "счет на оплату") итоговые числа разные
16. Денис Гончаренко (SoftIce) 39 08.12.11 02:18 Сейчас в теме
Не совсем понял, но если нужно вывести число прописью в макете - можно создать в общем модуле функцию с параметрами соответствующими свойствам обработки, в которой будет создаваться обработка и т.д. как указано в описании и которая будет возвращать результирующую строку. И вызывайте её из нужного места.
17. Asdam (Asdam) 111 12.01.12 10:26 Сейчас в теме
Если ввести число 10 и отметить все флаги, получаем:
Десять копейка
18. Asdam (Asdam) 111 27.01.12 17:21 Сейчас в теме
Нужная вещь, исправьте, пожалуйста, ошибку.
19. Денис Гончаренко (SoftIce) 39 02.02.12 13:27 Сейчас в теме
Прошу прощения за молчание. Комментарии читал, но в связи с больщой загруженностью на работе, руки не доходили подправить ошибки.
Обновил обработку. Теперь дробные части выводит корректно. Так же были глюки при преобразовании "круглых" чисел. Сейчас выводит вроде нормально.
Протестируйте, пожалуйста, и сообщите об ошибках, если таковые найдутся.
Спасибо за отзывы.
20. Jevgeni Lvov (zekan23) 04.06.12 21:24 Сейчас в теме
Ребята киньте программу email: zekan23@hot.ee
Спасибочки заранее
21. Jevgeni Lvov (zekan23) 05.06.12 01:55 Сейчас в теме
Ребят а как её применить ? Я бот полный в этом 1С. Ну или почти бот.
23. Денис Гончаренко (SoftIce) 39 05.06.12 08:40 Сейчас в теме
(21) zekan23, в теле публикации все написано.
24. Jevgeni Lvov (zekan23) 06.06.12 21:16 Сейчас в теме
Спасибо. Ребят никто не знает где в Бухгалтерии предприятия КОРП. 2.0 или в платформе 1С:Предприятие 8.2 (8.2.15.294) находится данный фаил отвечающий за цыфры прописью. Всё обыскал не могу найти. =(
25. Jevgeni Lvov (zekan23) 06.06.12 21:17 Сейчас в теме
В блокнотике открыть и поменять его. Откуда берутся слова чтобы скажем на квитанциях писалось словами. Такие непонятки с этой 1С
26. Денис Гончаренко (SoftIce) 39 06.06.12 21:44 Сейчас в теме
(25) zekan23,
кури хелп к функции Формат(<Значение>, <Фоматная строка>)
Напр.: ЧислоПрописью = Формат(125.15, "Л=ru_RU");
27. Jevgeni Lvov (zekan23) 06.06.12 22:06 Сейчас в теме
(26) SoftIce,
А можно по-русски ) поподробнее плиз. К бухгалтеру ехать через день, а я сырой как мясо.
28. Jevgeni Lvov (zekan23) 06.06.12 23:41 Сейчас в теме
где именно эти слова находятся сто двести пятьсот ???????
29. Денис Гончаренко (SoftIce) 39 06.06.12 23:54 Сейчас в теме
Слушай, ты можешь подробно описать чего тебе нужно сделать и в какой версии. И пиши в личку уже.
30. Jevgeni Lvov (zekan23) 07.06.12 00:29 Сейчас в теме
Чат закончился. Недостаточно средств для общения. Ппц что за сайт. Как мне теперь общаться ?
31. Jevgeni Lvov (zekan23) 07.06.12 00:32 Сейчас в теме
Денис ты написал используй Формат(<Число>, "Л=et_EE");. А как и что ? я не могу писать личку.
32. Jevgeni Lvov (zekan23) 07.06.12 00:40 Сейчас в теме
Денис спасибо. Я понял твою наводки. Всё верно!!! Как ты и сказал !
33. Jevgeni Lvov (zekan23) 07.06.12 01:04 Сейчас в теме
Поменял. Но почему то всё равно не работает =(
34. Макс Зеленский (mzelensky) 53 27.10.14 09:59 Сейчас в теме
Встала необходимость такой обработки, а тут есть практически готовое! Автору +, спасибо за старания