BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 апр 2024, 02:46

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Штрих-код в квитанции
СообщениеДобавлено: 26 фев 2014, 17:35 
Не в сети

Зарегистрирован: 10 окт 2013, 15:00
Сообщения: 16
Карма: 0
Здравствуйте.

Вопрос по функции doSomething, которая используется при формировании штрих-кода.
Код:
select="script:invoke('default', 'doSomething', $cid, $sid)"


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих-код в квитанции
СообщениеДобавлено: 26 фев 2014, 17:37 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
непонятно... что за функция doSomething? покажите весь шаблон

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих-код в квитанции
СообщениеДобавлено: 26 фев 2014, 18:11 
Не в сети

Зарегистрирован: 10 окт 2013, 15:00
Сообщения: 16
Карма: 0
вот код формирования штрих-кода
Код:
<fo:block xsl:use-attribute-sets="table_text_center">
<fo:block space-before="0.05cm" margin-left="-0.1cm">
<xsl:variable name="cost">
<xsl:value-of select="format-number(script:invoke('serviceCost', 'getCost', $cid, $sid), '0.00')"/>
</xsl:variable>
<xsl:variable name="sal">
<xsl:value-of select="@saldo"/>
</xsl:variable>
<xsl:variable name="temp">
<xsl:value-of select="format-number(@saldo*(-1)+$cost+$cost, '0.00')*100"/>
</xsl:variable>
<xsl:variable name="itog">
<xsl:choose>
<xsl:when test="$temp &gt; 0">
<xsl:value-of select="ceiling($temp)"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="'000000000000'"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="zero">
<xsl:choose>
<xsl:when test="string-length($itog) = 1"><xsl:value-of select="'00000000000'"/></xsl:when>
<xsl:when test="string-length($itog) = 2"><xsl:value-of select="'0000000000'"/></xsl:when>
<xsl:when test="string-length($itog) = 3"><xsl:value-of select="'000000000'"/></xsl:when>
<xsl:when test="string-length($itog) = 4"><xsl:value-of select="'00000000'"/></xsl:when>
<xsl:when test="string-length($itog) = 5"><xsl:value-of select="'0000000'"/></xsl:when>
<xsl:when test="string-length($itog) = 6"><xsl:value-of select="'000000'"/></xsl:when>
<xsl:when test="string-length($itog) = 7"><xsl:value-of select="'00000'"/></xsl:when>
<xsl:when test="string-length($itog) = 8"><xsl:value-of select="'0000'"/></xsl:when>
<xsl:when test="string-length($itog) = 9"><xsl:value-of select="'000'"/></xsl:when>
<xsl:when test="string-length($itog) = 10"><xsl:value-of select="'00'"/></xsl:when>
<xsl:when test="string-length($itog) = 11"><xsl:value-of select="'0'"/></xsl:when>
<xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="code_start" select="script:invoke('default', 'doSomething', $cid, $sid)"/>
<xsl:variable name="code" select="concat($code_start, $zero, $itog)"/>
<xsl:variable name="formula">
<xsl:value-of select="(substring($code, 1, 1)*1) + (substring($code, 2, 1)*3) + (substring($code, 3, 1)*7) + (substring($code, 4, 1)*9) + (substring($code, 5, 1)*1) + (substring($code, 6, 1)*3) + (substring($code, 7, 1)*7) + (substring($code, 8, 1)*9) + (substring($code, 9, 1)*1) + (substring($code, 10, 1)*3) + (substring($code, 11, 1)*7) + (substring($code, 12, 1)*9) + (substring($code, 13, 1)*1) + (substring($code, 14, 1)*3) + (substring($code, 15, 1)*7) + (substring($code, 16, 1)*1) + (substring($code, 17, 1)*3) + (substring($code, 18, 1)*7) + (substring($code, 19, 1)*9) + (substring($code, 20, 1)*1) + (substring($code, 21, 1)*3) + (substring($code, 22, 1)*7) + (substring($code, 23, 1)*9) + (substring($code, 24, 1)*1) + (substring($code, 25, 1)*3) + (substring($code, 26, 1)*7) + (substring($code, 27, 1)*9)"/>
</xsl:variable>
<xsl:variable name="code_finish">
<xsl:value-of select="concat(substring($code, 1, 15), substring($formula, string-length($formula), 1), substring($code, 16, 27))"/>
</xsl:variable>
<fo:external-graphic content-height="20cm" content-width="7cm">
<xsl:attribute name="src"><xsl:value-of select="concat('barcode:///128a|', $code_finish)"/></xsl:attribute>
</fo:external-graphic>
<fo:block xsl:use-attribute-sets="table_text_center_new">
<xsl:value-of select="$code_finish"/>
</fo:block>
</fo:block>
</fo:block>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих-код в квитанции
СообщениеДобавлено: 15 мар 2014, 21:16 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Так что именно делает у вас функция doSomething?

_________________
I'm clever. I've got a computer.


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

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


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

Сейчас этот форум просматривают: Bing [Bot] и гости: 1


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

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