BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 02 дек 2023, 11:03

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: MPS sbrf формат REC_SUM
СообщениеДобавлено: 31 май 2023, 21:42 
Не в сети

Зарегистрирован: 16 ноя 2011, 18:30
Сообщения: 115
Карма: 0
Как можно изменить формат в REC_SUM, чтобы десятичным разделителем стала точка? Сейчас там запятая.
Сбер говорит сделайте точку и рекомендованная сумма будет показываться.
Cумма вычисляется в событии и там формат "0.00"

Код:
public class RecSumEvent extends EventScriptBase<MPSBeforeRequestEvent>
{
    private DecimalFormat sumFormat = new DecimalFormat("0.00") {
    };

   public void onEvent( MPSBeforeRequestEvent event, Setup setup, ConnectionSet set )
      throws Exception
   {
                 /*вычисляем result*/
                 event.getResponse().getParameters().put( "SUM", this.sumFormat.format(result) );
        }
}


В результате имеем:
<response>
<CODE>0</CODE>
<MESSAGE>Договор найден, возможен прием платежей</MESSAGE>
<FIO>ФИО</FIO>
<BALANCE>0</BALANCE>
<ACCOUNT_BALANCE>0</ACCOUNT_BALANCE>
<SUM>390,00</SUM>
<REC_SUM>390,00</REC_SUM>
</response>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MPS sbrf формат REC_SUM
СообщениеДобавлено: 01 июн 2023, 00:26 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Емнип DecimalFormat по-умолчанию использует системную локаль. И если там Ru - то скорее всего оттуда и растёт запятая.

Если в data.properties не прописано
Код:
locale.default.decimalformatsymbols.decimalseparator=,

то можно просто
Код:
import ru.bitel.common.Utils;
...
event.getResponse().getParameters().put("SUM", Utils.formatCost(result));


Если прописано (чтобы в клиенте вместо точек была запятая во многих местах), то
Код:
Utils.formatBigDecimalSumm()

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MPS sbrf формат REC_SUM
СообщениеДобавлено: 01 июн 2023, 13:58 
Не в сети

Зарегистрирован: 16 ноя 2011, 18:30
Сообщения: 115
Карма: 0
Я так понимаю там дальше, при формировании xml, сумма из строки опять в децимал превращается и форматируется системным форматом.
Поэтому что-то форматировать в своем коде бесполезно.
Пришлось поменять локаль.
Код:
locale.default.decimalformatsymbols.decimalseparator=.

Стала точка. Надеюсь эта смена формата в других местах негативно не вылезет.
Спасибо за подсказку.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.053s | 24 Queries | GZIP : On ]