forum.bitel.ru
http://forum.bitel.ru/

Как поменять наименование валюты (рубль) в сумме прописью?
http://forum.bitel.ru/viewtopic.php?f=14&t=4026
Страница 1 из 1

Автор:  nur16 [ 14 май 2010, 15:34 ]
Заголовок сообщения:  Как поменять наименование валюты (рубль) в сумме прописью?

Перекопали все шаблоны, но нигде не нашли возможность
смены рубля на другую валюту при выводе суммы прописью
в счетах и счет-фактурах. Похоже, что валюта рубль зашита
в самом модуле Билл, или мы что-то пропустили.

Просьба помочь с этой проблемой. Спасибо.

Автор:  dimOn [ 14 май 2010, 17:23 ]
Заголовок сообщения:  Re: Как поменять наименование валюты (рубль) в сумме прописью?

во многих местах зашито в код

Автор:  nur16 [ 16 май 2010, 00:10 ]
Заголовок сообщения:  Re: Как поменять наименование валюты (рубль) в сумме прописью?

Мдяя... :cry:

Что нам делать? БГБиллинг с кучкой модулей и плагинов куплен, абоненты с трех
разных биллингов перетащены, то есть назад пути нет. Нам, в принципе,
необходима смена имени валюты только в выводе суммы прописью в счетах,
слова "руб." в Акте работ к счет-фактуре, во всех других местах обходились
переделкой шаблонов. Или, как вариант, заблокировать вообще вывод суммы
прописью, обойдемся как-нибудь.

А вообще говоря, если по хорошему, нужна переменная в конфигурации сервера, типа:
currency_name=имя валюты
И чтоб эта переменная определяла везде в биллинге и во всех шаблонах имя валюты.

Мы потратили массу времени на вылавливание и замену рубля на имя нашей валюты
во всех шаблонах. То тут выскочит, то тут вылезет, установили новый модуль, в новых
услугах опять рубли полезли, это ж сколько раз пришлось разработчикам вколачивать
это слово в код :?

Автор:  Администратор [ 18 май 2010, 15:18 ]
Заголовок сообщения:  Re: Как поменять наименование валюты (рубль) в сумме прописью?

Если речь именно о замене "рублей" и "коп." в сумме прописью то можно сделать так:

Код:
<fo:block xsl:use-attribute-sets="text_bold" start-indent="1cm">
   <xsl:variable name="summa_str" select="st:summaToString(@total_sum)"/>
        <xsl:variable name="rub_str" select="substring-before($summa_str, 'рублей')"/>
   <xsl:variable name="kop_str" select="substring-after(@total_sum, '.')"/>
   Итого к оплате: <xsl:value-of  select="$rub_str"/> сом <xsl:value-of  select="$kop_str"/> сантисом.
</fo:block>


вместо
Код:
   <fo:block xsl:use-attribute-sets="text_bold" start-indent="1cm">
                        Итого к оплате: <xsl:value-of select="st:summaToString(@total_sum)" />
                     </fo:block>

Автор:  nur16 [ 18 май 2010, 16:40 ]
Заголовок сообщения:  Re: Как поменять наименование валюты (рубль) в сумме прописью?

Спасибо за поддержку.

Мы все сделали, наша валюта отображается нормально, однако
нет цифры целой части суммы, то есть копейки показываются, а
рубли - нет, к примеру

Итого к оплате: сом 22 тыйын.

Уточните пожалуйста, где исправить,

Автор:  Администратор [ 18 май 2010, 16:52 ]
Заголовок сообщения:  Re: Как поменять наименование валюты (рубль) в сумме прописью?

Строка с рублями как выглядит. И покажите как вы поправили ту часть шаблона?
У себя проверял - корректно всё отработало.
В server.error.log ошибок нет?

Автор:  nur16 [ 18 май 2010, 17:07 ]
Заголовок сообщения:  Re: Как поменять наименование валюты (рубль) в сумме прописью?

Вот код шаблона счета на оплату (не счет-фактуры):
<fo:table-body>
<fo:table-row>
<fo:table-cell number-columns-spanned="3">
<fo:block xsl:use-attribute-sets="text_bold" start-indent="1cm">

<xsl:variable name="summa_str" select="st:summaToString(@total_sum)"/>
<xsl:variable name="rub_str" select="substring-before($summa_str, 'рублей')"/>
<xsl:variable name="kop_str" select="substring-after(@total_sum, '.')"/>
Итого к оплате: <xsl:value-of select="$rub_str"/> сом <xsl:value-of select="$kop_str"/> тыйын.

</fo:block>

Изменили только слово сантисом на слово тыйын (это наши копейки).
Наименования валют сом и тыйын НЕ склоняются, как у рублей и копеек, то есть
этой проблемы у нас нет.

Строка с рублями выглядит так:
Итого к оплате: восемьсот двадцать восемь рублей 25 копеек

Ошибок в server.log нет.

Автор:  Администратор [ 19 май 2010, 12:23 ]
Заголовок сообщения:  Re: Как поменять наименование валюты (рубль) в сумме прописью?

Сделайте так, там наверное при других окончаниях рубля не отрабатывало.

Код:
<xsl:variable name="summa_str" select="st:summaToString(@total_sum)"/>
<xsl:variable name="rub_str" select="substring-before($summa_str, 'руб')"/>
<xsl:variable name="kop_str" select="substring-after(@total_sum, '.')"/>
Итого к оплате: <xsl:value-of select="$rub_str"/> сом <xsl:value-of select="$kop_str"/> тыйын.

Автор:  nur16 [ 19 май 2010, 13:36 ]
Заголовок сообщения:  Re: Как поменять наименование валюты (рубль) в сумме прописью?

Спасибо большое, все заработало, теперь полный порядок.
Ошибок нигде нет, все работает штатно.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/