01.04.2022, 21:33 | #1 |
Участник
|
форматирование чисел в различных языках SSRS
народ, как можно отформатировать отдельные ячейки в формате другого языка? или можно ли как-то копировать содержимое ячейки вместе с форматом?
вкратце нужно вывести отчёт, скажем, на испанском языке, где числа представлены в виде 1.000,00 в строках, а в итоговой сумме указать символ другой валюты, не евро, но формат оставить тот же. мозг плавится уже...
__________________
Felix nihil admirari |
|
01.04.2022, 22:33 | #2 |
Banned
|
Notifcaion de pago... = Payment advice?
В настройке для платежей SEPA - это готовый конфигурируемый документ. Разве нельзя все это переделать? https://community.dynamics.com/ax/f/...from-ax/499339 У меня есть готовая конфигурация ACH: https://community.dynamics.com/365/f...fer-in-d365-fo |
|
01.04.2022, 23:39 | #3 |
Участник
|
Цитата:
Сообщение от EVGL
Notifcaion de pago... = Payment advice?
В настройке для платежей SEPA - это готовый конфигурируемый документ. Разве нельзя все это переделать? https://community.dynamics.com/ax/f/...from-ax/499339 У меня есть готовая конфигурация ACH: https://community.dynamics.com/365/f...fer-in-d365-fo
__________________
Felix nihil admirari |
|
02.04.2022, 02:11 | #4 |
Banned
|
Вы можете посмотреть, как это сделано на Еxcel в конфигурациях SEPA. Отчёты в Excel более гибкие. Не гарантирую, однако, что времени уйдёт меньше.
|
|
02.04.2022, 15:23 | #5 |
Участник
|
посмотреть-то, это, конечно, можно, но это будет совсем в другую степь от заявленной темы.
копаю пока в сторону изменения символа валюты в CultureInfo, но не понимаю, как я могу её перезадать =Microsoft.Dynamics.Framework.Reports.BuiltInMethods.GetAXLanguageCultureInfo(Parameters!AX_RenderingCulture.Value).NumberFormat().CurrencySymbol
__________________
Felix nihil admirari |
|
02.04.2022, 15:40 | #6 |
Участник
|
А нельзя по-боцмански - сделать ячейки чисто текстовыми и передавать туда текст с каким угодно знаком валюты?
|
|
02.04.2022, 19:38 | #7 |
Участник
|
Мне надо правильно сформатированное значение получить как строку, а потом заменить символ валюты. Но как его получить? По ссылке на textbox можно получить значение до форматирования
__________________
Felix nihil admirari |
|
02.04.2022, 20:25 | #8 |
Участник
|
Нет, я к тому что вы в отчет сейчас передаете число 150, а рендер отчета сам туда подставляет $150.
А можно взять, сгенерить самому строку 150руб. и передать в отчет, чтобы он там отрендерил как строку, ничего не меняя. Такое костыльное, конечно, решение, но должно сработать. |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
02.04.2022, 22:36 | #9 |
Участник
|
идея вполне нормальная, но как сформатить такую строку, зная только язык?
__________________
Felix nihil admirari |
|
03.04.2022, 01:32 | #10 |
Участник
|
нашел, как сделать по-боцмански. Скоро выложу. Спасибо!
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: pitersky (2). |
03.04.2022, 22:46 | #11 |
Участник
|
X++: /// <summary> /// Replaces language rendering culture currency symbol with the given one /// </summary> /// <param name = "_languageId">language rendering culture</param> /// <param name = "_amountCur">AmountCur</param> /// <param name = "_currencySymbol">New currency symbol</param> /// <returns>Formatted string</returns> public str eogChangeCurSymbolForAmountStr(LanguageId _languageId, System.Double _amountCur, CurrencySymbol _currencySymbol) { System.Globalization.CultureInfo culture; str res; System.Exception e; str curSymbol; culture = new System.Globalization.CultureInfo(_languageId); try { res = _amountCur.ToString("C", culture); curSymbol = culture.NumberFormat.CurrencySymbol; res = strReplace(res, curSymbol, _currencySymbol); } catch(Exception::CLRError) { e = CLRInterop::getLastException(); while( e ) { error( e.get_Message() ); e = e.get_InnerException(); } throw Exception::Error; } return res; } /// <summary> /// Gets amount with currency symbol /// </summary> /// <param name = "_amountCur">Amount in currency</param> /// <param name = "_currency">Currency to present symbol</param> /// <param name = "_languageId">Language for rendering culture</param> /// <returns>Formatted string for amunt cur with currency symbol</returns> public EOGAmountStringWithCurrencySymbol eogAmountStringWithCurrencySymbol(AmountCur _amountCur, CurrencyCode _currency, LanguageId _languageId) { Currency currency = Currency::find(_currency); return this.eogChangeCurSymbolForAmountStr(_languageId, _amountCur, currency.Symbol);; } /// <summary> /// Populates <c>BankPaymAdviceVendTmp</c> and inserts the report information for a single invoice and related payment. /// </summary> protected void insertBankPaymAdviceTmp() { BankPaymAdviceVendTmp bankPaymAdviceVendTmp; str email; next insertBankPaymAdviceTmp(); bankPaymAdviceVendTmp = this.bankPaymAdviceTmp as BankPaymAdviceVendTmp; if (bankPaymAdviceVendTmp.RecId) { ttsbegin; bankPaymAdviceVendTmp.selectForUpdate(true); bankPaymAdviceVendTmp.EOGBalance01Total+=bankPaymAdviceVendTmp.Balance01; bankPaymAdviceVendTmp.EOGAmountStringWithCurrencySymbol = this.eogAmountStringWithCurrencySymbol(bankPaymAdviceVendTmp.EOGBalance01Total, bankPaymAdviceVendTmp.CurrencyCode, VendTable::find(bankPaymAdviceVendTmp.AccountNum).languageId()); bankPaymAdviceVendTmp.update(); ttscommit; } }
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: Pandasama (2). |
Теги |
currency, format, number, ssrs, symbol |
|
|