forum.bitel.ru http://forum.bitel.ru/ |
|
Прошу помощи в XLS шаблоне! http://forum.bitel.ru/viewtopic.php?f=14&t=2201 |
Страница 1 из 1 |
Автор: | Jimson [ 17 апр 2009, 13:59 ] |
Заголовок сообщения: | |
я работу с датой делал через mysql вначале выделяем день месяца из даты, эта переменная будет так же полезна для заголовков документов если надо написать что то вроде "счет № .... от 1 марта 2009г" <xsl:variable name="day_of_month" select="format-number( substring(/data/bill/@date, 1, 2), '0' )" /> затем формируем дату в формате mysql в переменной xsl <xsl:variable name="dt" select="concat('"e;', /bill/data/@yy, '-', /bill/data/@mm, '-', $day_of_month, '"')" /> затем обращаемся к mysql для суммирования дат, для примера прибавляем 3 дня <xsl:variable name="newdt_query" select="sql:select( concat( 'SELECT ADDDATE(', $dt, ', INTERVAL 3 DAY) AS dt' ) )" /> ну и собственно выбираем значение из выборки <xsl:variable name="newdt" select="$newdt_query/row[1]/@dt" /> |
Автор: | Amir [ 17 апр 2009, 17:14 ] |
Заголовок сообщения: | |
Для 4.6 Обновитесь. Далее сюда http://wiki.bgbilling.ru/index.php/XSLT (Выполнение скрипта из библиотек скриптов (версия 4.6)). Создаем библиотеку bill, добавляем код: Код: import java.util.Calendar;
import bitel.billing.common.TimeUtils; public String dateAdd( date, days ) { Calendar result = TimeUtils.parseCalendar( date, "dd.MM.yyyy" ); result.add( Calendar.DATE, (int)days ); return TimeUtils.format( result, "dd.MM.yyyy" ); } В xsl: Добавляем атрибуты в ветку xsl:stylesheet xmlns:xalan="http://xml.apache.org/xalan" xmlns:script="bitel.billing.server.util.exslt.Scripting" далее <xalan:component prefix="script" functions="invoke"> <xalan:script lang="javaclass" src="xalan://bitel.billing.server.util.exslt.Scripting"/> </xalan:component> а в коде будет, например так: <xsl:value-of select="script:invoke('bill','dateAdd',string(/data/bill/@date),3)" /> |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |