gifts2017

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

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

Здесь качалка , а не говорилка (с)
и не кричи - никто тебя не услышит :D
6. Денис Гончаренко (SoftIce) 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) 23.09.11 09:49
(9)Смотри на дату и вообрази в контексте того времени.
(это время ГЛОБАЛЬНОЙ ТИШИНЫ в БИБЛИОТЕКЕ
и если ты немного поворошишь форум то поймешь , что я всегда был против
тишины и всегда был в активе, сколько раз меня тут банили за нарушение режима
я думаю даже администрация - уже не помнит
И хороший тебе мой совет - научись отличать сарказм
11. Элина Витяганец (Elisha) 06.10.11 16:44
Мне обработка оказалась очень полезной, Нужно было выводить большие числа с большой дробной часью прописью, переделала по себя, оч помогло)
12. Денис Гончаренко (SoftIce) 06.10.11 17:03
Рад что кому-то пригодилась.
13. Виктор Мазитов (VicGuru) 06.10.11 17:13
нужная вещь, в свое время писал сам руками
15. Стас Веселов (StasssiK) 07.12.11 11:28
Делаю свою конфигурацию для диплома (в 8.2), решил воспользоваться вашей обработкой. Подскажите, как с помощью ее вывести сумму прописью из обычного макета? Как я понимаю, она выводит стационарное число, а в документах (например "счет на оплату") итоговые числа разные
16. Денис Гончаренко (SoftIce) 08.12.11 02:18
Не совсем понял, но если нужно вывести число прописью в макете - можно создать в общем модуле функцию с параметрами соответствующими свойствам обработки, в которой будет создаваться обработка и т.д. как указано в описании и которая будет возвращать результирующую строку. И вызывайте её из нужного места.
17. Asdam (Asdam) 12.01.12 10:26
Если ввести число 10 и отметить все флаги, получаем:
Десять копейка
18. Asdam (Asdam) 27.01.12 17:21
Нужная вещь, исправьте, пожалуйста, ошибку.
19. Денис Гончаренко (SoftIce) 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) 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) 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) 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) 27.10.14 09:59
Встала необходимость такой обработки, а тут есть практически готовое! Автору +, спасибо за старания
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа