forum.bitel.ru http://forum.bitel.ru/ |
|
Штрих-код в квитанции http://forum.bitel.ru/viewtopic.php?f=14&t=8998 |
Страница 1 из 1 |
Автор: | Lyncs [ 26 фев 2014, 17:35 ] |
Заголовок сообщения: | Штрих-код в квитанции |
Здравствуйте. Вопрос по функции doSomething, которая используется при формировании штрих-кода. Код: select="script:invoke('default', 'doSomething', $cid, $sid)" В одном виде квитанций, она почему-то не дописывает последнюю цифру вида платежа, из-за чего ломается весь штрих-код. Может быть, кто-нибудь может подсказать, как она реализована? |
Автор: | dimOn [ 26 фев 2014, 17:37 ] |
Заголовок сообщения: | Re: Штрих-код в квитанции |
непонятно... что за функция doSomething? покажите весь шаблон |
Автор: | Lyncs [ 26 фев 2014, 18:11 ] |
Заголовок сообщения: | Re: Штрих-код в квитанции |
вот код формирования штрих-кода Код: <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 > 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> |
Автор: | dimOn [ 15 мар 2014, 21:16 ] |
Заголовок сообщения: | Re: Штрих-код в квитанции |
Так что именно делает у вас функция doSomething? |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |