forum.bitel.ru http://forum.bitel.ru/ |
|
Как подставить номер договора в название услуги ? http://forum.bitel.ru/viewtopic.php?f=14&t=8940 |
Страница 1 из 1 |
Автор: | grifin [ 10 фев 2014, 00:40 ] |
Заголовок сообщения: | Как подставить номер договора в название услуги ? |
Как нужно исправить: Код: bill.pos.4.title=Услуги междугородной и международной телефонной связи по договору ______ с ОАО "Вымпелком" за {$prevmonth,date,MMMM yyyy г.} bill.pos.4.name=Услуги междугородной и международной телефонной связи по договору _______ с ОАО "Вымпелком" за {$prevmonth,date,MMMM yyyy г.} bill.pos.4.summ=SERVICE_ACCOUNT($prevmonth,12)+SERVICE_ACCOUNT($prevmonth,13) bill.pos.4.quantity=PHONE_SERVICE_AMOUNT(6, $prevmonth, 60, 12) +PHONE_SERVICE_AMOUNT(6, $prevmonth, 60, 13) bill.pos.4.unit=Минута bill.pos.4.unitCode=355 # включать ли данную позицию в сумму документа, 0 - не включать bill.pos.4.insum=1 # включать в счёт при сумме 0 bill.pos.4.awlz=0 что бы перед " с ОАО "Вымпелком" выводился номер договора ? Спасибо. |
Автор: | barguzin2 [ 10 фев 2014, 08:49 ] |
Заголовок сообщения: | Re: Как подставить номер договора в название услуги ? |
Как вариант, можно следующим образом - написать свой класс, в котором сделать метод, заменяющий ______ (хотя, на мой взгляд, вместо подчерков лучше использовать макрос типа $contract, так нагляднее ) на номер договора и возвращающий новое значение. Скомпилированный класс упаковывается в jar-ку и кладется в BGBILLING_DIR/lib/ext, после чего сервер нужно перезапустить. Далее этот класс и его метод подключается к XSL-шаблону документа и применяется в нужном месте по примеру summaToString - есть в стандартном шаблоне счета. P.S. Это Код: bill.pos.4.summ=SERVICE_ACCOUNT($prevmonth,12)+SERVICE_ACCOUNT($prevmonth,13) bill.pos.4.quantity=PHONE_SERVICE_AMOUNT(6, $prevmonth, 60, 12) +PHONE_SERVICE_AMOUNT(6, $prevmonth, 60, 13) можно написать более компактно Код: bill.pos.4.summ=SERVICE_ACCOUNT($prevmonth,12,13)
bill.pos.4.quantity=PHONE_SERVICE_AMOUNT(6, $prevmonth, 60, 12,13) |
Автор: | dimOn [ 10 фев 2014, 12:28 ] |
Заголовок сообщения: | Re: Как подставить номер договора в название услуги ? |
в xslt же там есть стандартный реплейс строковый уже. а остальное сделать как описано у barguzin2, да |
Автор: | barguzin2 [ 10 фев 2014, 15:02 ] |
Заголовок сообщения: | Re: Как подставить номер договора в название услуги ? |
во всех шаблонах пишется Код: <xsl:stylesheet version="1.0"> а replace вроде как с 2.0 появился. или я может чего-то еще не знаю ? попробовал для примера заменить @name на replace(@name,'2014','2015') - выдает BGException Кстати, с написанием своего класса я совсем уж перемудрил. Можно ведь java.lang.String подключить. |
Автор: | dimOn [ 10 фев 2014, 15:10 ] |
Заголовок сообщения: | Re: Как подставить номер договора в название услуги ? |
нене, я имею в виду типа такого, что у нас уже используется в шаблонах: Код: <xalan:component prefix="utils" functions="maskBlank, replace"> <xalan:script lang="javaclass" src="xalan://bitel.billing.server.util.Utils"/> </xalan:component> Код: select="utils:replace($blabla,'-','')"
|
Автор: | barguzin2 [ 10 фев 2014, 19:48 ] |
Заголовок сообщения: | Re: Как подставить номер договора в название услуги ? |
Уж 6.0 на дворе, а класс этот с таким методом тока в 5.1 нашел. В 5.2/6.0 есть ru.bitel.common.Utils, но там нет реплейса. |
Автор: | dimOn [ 11 фев 2014, 12:43 ] |
Заголовок сообщения: | Re: Как подставить номер договора в название услуги ? |
И правда, класса то нет) Но я поглядел в шаблонах транка, там так прописано. Вот такой класс сейчас вместо него: ru.bitel.bgbilling.server.util.ServerUtils ![]() там всё из того класса |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |