Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 13:35

Печать Платежку на Азербайджанском языке

Автор Sanan Celilli, 10 дек 2009, 11:52

0 Пользователей и 1 гость просматривают эту тему.

Sanan Celilli

Каким образом можно получит цифры прописью на азербайджанском языке ? Благодарю заранее!

Admin

Только в этом месте (документе) должен быть азербайджанский язык?

Sanan Celilli

Я задаю формат
ФорматСтрока  = "Л=az_Latn; ДП=Ложь";
А печатаеться на английском ?

Admin

Нет. Так не получиться.

Смотрите продцедуру перевода цифр в цифры прописью. Там прописано какой цифре какое текстовое значение и склонения. И в зависимости от того везде вам надо на азербайджанский переводить или только в платежках - правьте.

А  "ФорматСтрока  = "Л=az_Latn; ДП=Ложь";" это не переводчик.

Sanan Celilli

Спасибо за совет. Дело в том, что я не знаю где искать продцедуру перевода цифр в цифры прописью. Если укажете место нахождение, то буду очень благодарен!

Admin

Вы в этой функции меняли ФорматСтрока  = "Л=ru_RU; ДП=Ложь"; ?


Функция ФорматироватьСуммуПрописи(СуммаДок,СуммаБезКопеек)

Результат     = СуммаДок;
ЦелаяЧасть    = Цел(СуммаДок);
ФорматСтрока  = "Л=ru_RU; ДП=Ложь";
ПарамПредмета = СчетОрганизации.ВалютаДенежныхСредств.ПараметрыПрописиНаРусском;

Если (Результат - ЦелаяЧасть) = 0 Тогда
Если СуммаБезКопеек Тогда
Результат = ЧислоПрописью(Результат,ФорматСтрока,ПарамПредмета);
Результат = Лев(Результат,Найти(Результат,"0")-1);
Иначе
Результат = ЧислоПрописью(Результат,ФорматСтрока,ПарамПредмета);
КонецЕсли;
Иначе
Результат = ЧислоПрописью(Результат,ФорматСтрока,ПарамПредмета);
КонецЕсли;

Возврат Результат;

КонецФункции // ФорматироватьСуммуПрописи()


Вот обратите внимание на

Результат = ЧислоПрописью(Результат,ФорматСтрока,ПарамПредмета);


Sanan Celilli

Да именно в этом месте я вставил ФорматСтрока  = "Л=az_Latn; ДП=Ложь";
В результате печатаеться английский текст прописи !!!

Admin

Азербайджанский язык не знаю, приведу пример с польским языком. По аналогии не сложно сдедать.

Замените в этой функции в трех местах

Результат = ЧислоПрописью(Результат,ФорматСтрока,ПарамПредмета);

на

Результат =  ЧислоПрописью(Результат, "L=pl_PL;SN=true;FN=true;FS=true", "złoty, złote, złotych, m, grosz, grosze, groszy, m, 2");

Для польского это будет работать.

Вам надо поменять соответственно для азербайджанского Л=az_Latn и текст в кавычках для склонения валюты "złoty, złote, złotych, m, grosz, grosze, groszy"

Sanan Celilli

Это всё понятно. Я спрашиваю про цифр, например 1000 = Одна тысяча, 225 = Двесто двадцат пять и т.д.

Admin

Так цифры у вас при этом тоже переведуться.
Вот замените целиком функцию на эту, с польским вариантом:

Функция ФорматироватьСуммуПрописи(СуммаДок,СуммаБезКопеек)

Результат     = СуммаДок;
ЦелаяЧасть    = Цел(СуммаДок);


ФорматСтрока  = "Л=ru_RU; ДП=Ложь";
ПарамПредмета = СчетОрганизации.ВалютаДенежныхСредств.ПараметрыПрописиНаРусском;

Если (Результат - ЦелаяЧасть) = 0 Тогда
Если СуммаБезКопеек Тогда
//Результат = ЧислоПрописью(Результат,ФорматСтрока,ПарамПредмета);
   Результат =  ЧислоПрописью(Результат, "L=pl_PL;SN=true;FN=true;FS=true", "złoty, złote, złotych, m, grosz, grosze, groszy, m, 2");

Результат = Лев(Результат,Найти(Результат,"0")-1);
Иначе
//Результат = ЧислоПрописью(Результат,ФорматСтрока,ПарамПредмета);
                   Результат =  ЧислоПрописью(Результат, "L=pl_PL;SN=true;FN=true;FS=true", "złoty, złote, złotych, m, grosz, grosze, groszy, m, 2");

КонецЕсли;
Иначе
//Результат = ЧислоПрописью(Результат,ФорматСтрока,ПарамПредмета);
                Результат =  ЧислоПрописью(Результат, "L=pl_PL;SN=true;FN=true;FS=true", "złoty, złote, złotych, m, grosz, grosze, groszy, m, 2");

КонецЕсли;

Возврат Результат;

КонецФункции // ФорматироватьСуммуПрописи()


После этого в платежку посмотрите, в графе Сумма прописью будет написано по польски:

Trzysta dziesięć tysięcy złotych zero groszy

(310000 - сумма платежки)

Все работает. Вам только во всех 3х местах надо еще поменять L=pl_PL;SN=true;FN=true;FS=true   на   L=az_Latn;SN=true;FN=true;FS=true
(это для цифр)

и самому написать и заменить перевод "złoty, złote, złotych, m, grosz, grosze, groszy, m, 2"
(это для наименования валюты) Валюта у вас какая будет?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск