BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 03:05

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Интеграция штрихкода в счет
СообщениеДобавлено: 23 дек 2008, 18:35 
Не в сети

Зарегистрирован: 22 янв 2008, 16:40
Сообщения: 163
Карма: 0
http://wiki.bgbilling.ru/index.php/Квитанция_телефонии_физ._лицам
здесь описано что можно вставлять штрихкод в свою квитанцию.
взять кусок кода и вставить в свой шаблон(с изменением параметров)
не получилось ругается на неправильное описание конструкций xsl.
может оформите какую-то доку по данному вопросу или ссылки где это можно почитать более менее доступно.?

вставляю следующий код:
здесь 492 строки шаблона, далее с 493 начинается кусок взятый из wiki
Код:
<fo:block space-before="1.05cm" margin-left="-0.1cm">
   <!-- 128-тип кода, затем StartA, T, K, B, CodeC  -->
   <xsl:variable name="code_start" select="'128a|TKBÇ'"/>
   <!-- номер телефона (первый) - 7 символов -->
   <xsl:variable name="number" select="1234567"/>
   <!-- период оплаты - 4 символа -->
   <xsl:variable name="period_opl" select="1208"/>
   <!-- сумма -->
   <xsl:variable name="rub" select="100"/>
   <xsl:variable name="kop" select="00"/>
   <xsl:variable name="rub_length" select="string-length($rub)"/>

   <xsl:variable name="sum_part_c" select="substring($rub, 1, $rub_length - 1)"/>
   <xsl:variable name="sum_part_a" select="concat(substring($rub, $rub_length, 1),'.', $kop)"/>
   <fo:external-graphic width="6cm" height="1cm">
      <xsl:attribute name="src"><xsl:value-of select="concat('barcode:///', $code_start, $number, $period_opl, $sum_part_c, 'É', $sum_part_a, '&lt;SOH&gt;')"/></xsl:attribute>
   </fo:external-graphic>                 
</fo:block>                         


в итоге штрихкода нет :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 24 дек 2008, 16:36 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Более подробно можно ругань? Где ругается? И точный текст..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 24 дек 2008, 17:32 
Не в сети

Зарегистрирован: 22 янв 2008, 16:40
Сообщения: 163
Карма: 0
Администратор писал(а):
Более подробно можно ругань? Где ругается? И точный текст..


Код:
[Fatal Error] bill_bar.xsl:499:53: Element type "xsl:variable" must be followed by either attribute specifications, ">" or "/>".
org.xml.sax.SAXParseException: Element type "xsl:variable" must be followed by either attribute specifications, ">" or "/>".
   at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
   at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
   at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
   at bitel.billing.server.bill.PDFExecuter.docl2PDF(PDFExecuter.java:177)
   at bitel.billing.server.bill.PDFExecuter.doPost(PDFExecuter.java:97)
   at bitel.billing.server.bill.PDFExecuter.doGet(PDFExecuter.java:55)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:37)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
   at java.lang.Thread.run(Unknown Source)


хотя эту ошибку я уже поборол.(в первом посте код исправил)
но штрихкод пока не вижу. борюсь дальше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 24 дек 2008, 17:53 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
MiB писал(а):
хотя эту ошибку я уже поборол.(в первом посте код исправил)
но штрихкод пока не вижу. борюсь дальше.

у вас дальше ругается или просто молча не выводит ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 24 дек 2008, 18:29 
Не в сети

Зарегистрирован: 22 янв 2008, 16:40
Сообщения: 163
Карма: 0
stark писал(а):
MiB писал(а):
хотя эту ошибку я уже поборол.(в первом посте код исправил)
но штрихкод пока не вижу. борюсь дальше.

у вас дальше ругается или просто молча не выводит ?

просто не отображает. в логах все чисто.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 дек 2008, 10:46 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Биллинг 4.5?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 дек 2008, 13:51 
Не в сети

Зарегистрирован: 22 янв 2008, 16:40
Сообщения: 163
Карма: 0
Администратор писал(а):
Биллинг 4.5?

4.4.234.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 дек 2008, 14:22 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Эта возможность добавлена только с 4.5 версии.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 дек 2008, 21:56 
Не в сети

Зарегистрирован: 22 янв 2008, 16:40
Сообщения: 163
Карма: 0
Администратор писал(а):
Эта возможность добавлена только с 4.5 версии.


от ведь незадача.... чтож с вами делать.... теперь придется апгрейтится..... а так не хотелось :).

Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 янв 2009, 18:25 
Не в сети

Зарегистрирован: 22 янв 2008, 16:40
Сообщения: 163
Карма: 0
Произвел апгрейт. штрихкод рисуется.

теперь возникает вопрос: как считать контрольную сумму для штрихкода?

у нас это просто последняя цифра есть остаток от деленя на 10 от суммы всех цифр в штрихкоде.
возможно ли такое реализовать на XSLT или необходимо это делать отдельным внешним скриптом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 янв 2009, 17:10 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Ну можно в XSLT вроде - просуммируйте числа и mod 10 - вот и будет вам контрольная сумма. Можете использовать расширение counter.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 янв 2009, 22:12 
Не в сети

Зарегистрирован: 22 янв 2008, 16:40
Сообщения: 163
Карма: 0
Коллеги, в XSL не силен. может кто подсказать кусок кода который в цикле будет разбирать строку на символы?
заранее спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 фев 2009, 16:09 
Не в сети

Зарегистрирован: 22 янв 2008, 16:40
Сообщения: 163
Карма: 0
может кому поможет:
с циклами у XSLT совсем туго оказалось, поэтому пришлось изгаляться через рекурсивные вызовы.

требуется подсчитать контрольную сумму строки по определенной формуле, темплейт:
Код:
    <xsl:template name="checksumm">
      <xsl:param name="value"/>
      <xsl:param name="sum" select="0"/>
      <xsl:param name="position" select="4"/>
   
      <xsl:variable name="char" select="substring($value,$position,1)"/>

      <xsl:choose>       
        <xsl:when test="$position &lt; string-length($value)">
          <xsl:call-template name="checksumm">
            <xsl:with-param name="value" select="$value"/>
            <xsl:with-param name="position" select="$position + 1"/>
            <xsl:with-param name="sum" select="$sum + $position * $char"/>
          </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="$sum mod 10"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:template>

короче рекурсивно вызывает сам себя пока $position < длинный строки.
сумма = (сумма+ (порядковый номер цифры * значение цифры)) MOD 10

вызов темплейта:
Код:
      <xsl:variable name="sum">
        <xsl:call-template name="checksumm">
          <xsl:with-param name="value" select="concat('$code_start, $number, $period_opl, $sum_part_c, 'É', $sum_part_a, '&lt;SOH&gt;')""/>
        </xsl:call-template>
      </xsl:variable>

в переменной sum имеем число = контрольной сумме.
далее делаем concat для формирования barcode.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интеграция штрихкода в счет
СообщениеДобавлено: 29 июл 2011, 14:03 
Не в сети

Зарегистрирован: 17 июн 2008, 09:28
Сообщения: 316
Откуда: Самара
Карма: 1
а как интегрировать штрихкод в счет сделанный в iReport?


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

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


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

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


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

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