AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: За рубежом > DAX в Украине
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.08.2007, 11:16   #1  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
RNumDateInWordConverter - корректное отображение Гривны (UAH)
Привет, граждане Украинцы.

Искал по форуму, но так и не нашел вопроса такого.
Неужели всех устривает то, как выводятся суммы в гривнах прописью?

К примеру, какие результаты получается в результате выполнения задания:

X++:
static void tutorial_RNumDateInWordConverterExample(Args _args)
{
    RNumDateInWordConverter converter = RNumDateInWordConverter::construct();
    ;
    info(converter.numeralsToCurrency(1312332.34));
}
у меня получалось
Цитата:
Один миллион триста двенадцать тысяч триста тридцать два гривны 34 копейки
В приложении доработанный класс RNumDateInWordConverter, в нем я добавил учет пола валюты (Гривна, все таки, женского пола).

Самое странное, что в АХ4 уже нет поля "пол" у валюты. Получается, что там даже подправить не получиться
Проверил, у меня тоже выводит с ошибкой.

Это только у меня? Или этот недостаток класса никого не смущает? Или может я что-то неправильно делаю??
Вложения
Тип файла: xpo Class_RNumDateInWordConverter.xpo (10.0 Кб, 368 просмотров)
Старый 14.08.2007, 12:40   #2  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
602 / 167 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
на форме Главная Книга / Настройки / Валюта выбираем в справочнике валюту и жмем Склонение...
Старый 14.08.2007, 12:57   #3  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Цитата:
Неужели всех устривает
не устраивает
Приходилось допиливать

В методе numeralsToCurrency()
public str numeralsToCurrency(real _sourceNumber,
CurrencyCode _currencyCode,
boolean _grn = false)// Added
.......
/* get rubles */
// Changed -->
if(_grn)
resultStr = this.numeralsToTxt_UA(rubles) + ' ';
else
resultStr = this.numeralsToTxt(rubles) + ' ';
//resultStr = this.numeralsToTxt(rubles) + ' ';
// Changed <--

И был добавлен новый метод
Tempstr numeralsToTxt_UA(real _sourceNumber,
boolean _prepCase = false,
boolean _pages = false)
копия метода numeralsToTxt(), где был переделан
макрос makeParm
// Changed -->
/* #localMacro.makeParm
_prepCase ? hundredsprep : hundreds,
_prepCase ? tensprep : tens,
_prepCase ? first1prep + second1prep + from3till19prep : first1 + second1 + from3till19
#endMacro*/

#localMacro.makeParm
_prepCase ? hundredsprep : hundreds,
_prepCase ? tensprep : tens,
_prepCase ? first2prep + second2prep + from3till19prep : first2 + second2 + from3till19
#endMacro
// Changed <--
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
За это сообщение автора поблагодарили: kashperuk (2).
Старый 14.08.2007, 13:28   #4  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Russland Посмотреть сообщение
не устраивает
Приходилось допиливать

В методе numeralsToCurrency()
public str numeralsToCurrency(real _sourceNumber,
CurrencyCode _currencyCode,
boolean _grn = false)// Added
.......
/* get rubles */
// Changed -->
if(_grn)
resultStr = this.numeralsToTxt_UA(rubles) + ' ';
else
resultStr = this.numeralsToTxt(rubles) + ' ';
//resultStr = this.numeralsToTxt(rubles) + ' ';
// Changed <--

И был добавлен новый метод
Tempstr numeralsToTxt_UA(real _sourceNumber,
boolean _prepCase = false,
boolean _pages = false)
копия метода numeralsToTxt(), где был переделан
макрос makeParm
// Changed -->
/* #localMacro.makeParm
_prepCase ? hundredsprep : hundreds,
_prepCase ? tensprep : tens,
_prepCase ? first1prep + second1prep + from3till19prep : first1 + second1 + from3till19
#endMacro*/

#localMacro.makeParm
_prepCase ? hundredsprep : hundreds,
_prepCase ? tensprep : tens,
_prepCase ? first2prep + second2prep + from3till19prep : first2 + second2 + from3till19
#endMacro
// Changed <--
Понятно, Спасибо.
Хорошо, видимо не я один все же такой.

Мое решение, имхо, немного более элегантное. Правда на 4ке видимо придется все равно делать что-то похожее, как у вас.
Единственное, что я все таки бы делал наследника, как RNumDateInWordConverter_RU, и у него вызывал бы этот метод.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Kernel Rollup 3 и отображение даты AX3.0 SP4 Sada DAX: Программирование 1 12.02.2010 17:41
Upgrade механизма (склад->отображение аналитики) miklenew DAX: База знаний и проекты 0 25.11.2007 16:35
отображение складской аналитики fialka DAX: Программирование 8 19.06.2007 15:55
Отображение номера Документа ГК gaenar DAX: Программирование 0 11.05.2005 12:00
Автоматическое отображение изменений данных Yuri Safronov DAX: Программирование 8 20.12.2002 12:08

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:54.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.