BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 19 июн 2025, 02:53

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Прошу помощи в XLS шаблоне!
СообщениеДобавлено: 16 апр 2009, 18:06 
Не в сети

Зарегистрирован: 24 сен 2008, 12:50
Сообщения: 101
Откуда: Мурманск
Карма: 0
Добрый день!

Прошу помочь получить дату.
Мне надо в xls шаблоне к дате прибавить несколько дней - как сделать?

Заранее спасибо за ответ.

В приложении версия сервера и всего остального.


Вложения:
Version.png
Version.png [ 51.79 КБ | Просмотров: 2719 ]

_________________
Лучше царствовать в аду, чем служить на небесах!!!
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 17 апр 2009, 13:59 
Не в сети

Зарегистрирован: 07 май 2008, 13:34
Сообщения: 594
Откуда: Москва
Карма: 27
я работу с датой делал через 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('&quote;', /bill/data/@yy, '-', /bill/data/@mm, '-', $day_of_month, '&quot;')" />

затем обращаемся к 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" />


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Для 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)" />


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

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


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

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


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

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