BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 30 ] 
Автор Сообщение
 Заголовок сообщения: плагин Document
СообщениеДобавлено: 18 фев 2013, 11:25 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Цитата:
2.6. Интеграция с плагином Document

Для вкладки документов карточки единого договора в конфигурации типов документов указывать scope=bgbilling-commonContract, для документов карточки договора scope=contract.


Код:
###ГЕНЕРАТОР ДОКУМЕНТОВ
document:pattern.1.title=Заказ наряд
document:pattern.1.scope=contract
document:pattern.1.script=ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator
document:pattern.1.type=pdfForm
document:pattern.1.documentTitle=Наряд-заказ.pdf
document:pattern.1.file=docpattern/zakaz.pdf
document:pattern.1.xslt=docpattern/zakaz.xsl
#
document:pattern.2.title=Заказ наряд2
document:pattern.2.scope=bgbilling-commonContract
document:pattern.2.script=ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator
document:pattern.2.type=pdfForm
document:pattern.2.documentTitle=Наряд-заказ.pdf
document:pattern.2.file=docpattern/zakaz.pdf
document:pattern.2.xslt=docpattern/zakaz.xsl

в итоге менюшки с выбором шаблона генерируемого документа не появляется.
Вложение:
1.jpg
1.jpg [ 110.09 КБ | Просмотров: 14745 ]

Вложение:
12.jpg
12.jpg [ 116.28 КБ | Просмотров: 14745 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 18 фев 2013, 13:29 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
для единого (bgbilling-commonContract) есть, а для просто contract такой возможности нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 19 фев 2013, 12:25 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Ошибка в документации. Нужно указывать.
Код:
scope=bgbilling-contract


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 20 фев 2013, 20:08 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
а как тогда тут?
Код:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:bgcrm="http://bgcrm.ru/saxon-extension"
        exclude-result-prefixes="bgcrm"
        version="2.0">
        <xsl:template match="/event">
                <data>
                        <xsl:variable name="contract" select="bgcrm:bgbilling-contract(@objectId)" />
                        <xsl:variable name="customerId" select="$contract/data/bgbilling_contract/@customer_id" />
                        <xsl:variable name="customer" select="bgcrm:customer($customerId)" />
                        <!--отладочный вывод XMLки-->
                        <xsl:copy-of select="/event"/>
                        <xsl:copy-of select="$customer" />
                        <field name="customer">
                          <xsl:value-of select="$customer/data/customer/@title" />
                        </field>
                </data>
        </xsl:template>
</xsl:transform>

на выходе имеем:
Код:
Error at xsl:variable on line 8 column 81 of zakaz.xsl:
  XPST0017 XPath syntax error at char 0 on line 8 near {...:bgbilling-contract(@object...}:
    Cannot find a matching 1-argument function named
  {http://bgcrm.ru/saxon-extension}bgbilling-contract()


а например при таком:
Код:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:bgcrm="http://bgcrm.ru/saxon-extension"
        exclude-result-prefixes="bgcrm"
        version="2.0">
        <xsl:template match="/event">
                <data>
                        <xsl:variable name="contract" select="bgcrm:bgbilling-commonContract(@objectId)" />
                        <xsl:variable name="customerId" select="$contract/data/bgbilling_common_contract/@customer_id" />
                        <xsl:variable name="customer" select="bgcrm:customer($customerId)" />
                        <!--отладочный вывод XMLки-->
                        <xsl:copy-of select="/event"/>
                        <xsl:copy-of select="$customer" />
                        <field name="customer">
                          <xsl:value-of select="$customer/data/customer/@title" />
                        </field>
                </data>
        </xsl:template>
</xsl:transform>


Код:
02-20/18:06:55 ERROR [http-bio-9088-exec-7] CommonDocumentGenerator - java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP.
net.sf.saxon.s9api.SaxonApiException: java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP.
        at net.sf.saxon.s9api.XsltTransformer.close(XsltTransformer.java:516)
        at net.sf.saxon.s9api.Processor.writeXdmValue(Processor.java:384)
        at ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator.processXslt(CommonDocumentGenerator.java:250)
        at ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator.notify(CommonDocumentGenerator.java:98)
        at ru.bgcrm.event.EventProcessor.processEvent(EventProcessor.java:134)
        at ru.bgcrm.plugin.document.struts.action.DocumentAction.generateDocument(DocumentAction.java:157)
        at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at ru.bgcrm.struts.action.BaseAction$Invoker.invoke(BaseAction.java:114)
        at ru.bgcrm.struts.action.BaseAction.dispatchMethod(BaseAction.java:225)
        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
        at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
        at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
        at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
        at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
        at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ru.bgcrm.servlet.filter.AuthFilter.doFilter(AuthFilter.java:33)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ru.bgcrm.servlet.filter.SetRequestParamsFilter.doFilter(SetRequestParamsFilter.java:42)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ru.bgcrm.servlet.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:38)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: net.sf.saxon.trans.XPathException: java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP.
        at ru.bgcrm.plugin.document.docgen.CustomerExtensionFunction$1.call(CustomerExtensionFunction.java:80)
        at net.sf.saxon.functions.IntegratedFunctionCall.iterate(IntegratedFunctionCall.java:235)
        at net.sf.saxon.expr.Expression.evaluateItem(Expression.java:411)
        at net.sf.saxon.expr.parser.ExpressionTool.evaluate(ExpressionTool.java:320)
        at net.sf.saxon.expr.LetExpression.eval(LetExpression.java:371)
        at net.sf.saxon.expr.LetExpression.process(LetExpression.java:428)
        at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:301)
        at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:254)
        at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:212)
        at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1034)
        at net.sf.saxon.trans.TextOnlyCopyRuleSet.process(TextOnlyCopyRuleSet.java:58)
        at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1022)
        at net.sf.saxon.Controller.transformDocument(Controller.java:1957)
        at net.sf.saxon.s9api.XsltTransformer.close(XsltTransformer.java:514)
        ... 47 more
Caused by: java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP.
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
        at com.mysql.jdbc.ResultSetImpl.getTimestampFromString(ResultSetImpl.java:6343)
        at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5670)
        at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5491)
        at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:213)
        at ru.bgcrm.util.XMLDatabaseSerializer.addItemsFromRS(XMLDatabaseSerializer.java:97)
        at ru.bgcrm.util.XMLDatabaseSerializer.addItemsFromRS(XMLDatabaseSerializer.java:69)
        at ru.bgcrm.util.XMLDatabaseElementSerializer.addItemsFromRS(XMLDatabaseElementSerializer.java:29)
        at ru.bgcrm.plugin.document.docgen.CustomerExtensionFunction$1.call(CustomerExtensionFunction.java:70)
        ... 60 more
Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
        at com.mysql.jdbc.ResultSetImpl.getTimestampFromString(ResultSetImpl.java:6094)
        ... 67 more


и вообще, расскажите, как смотреть все эти пути, типа:
bgcrm:bgbilling-commonContract(@objectId)
$contract/data/bgbilling_common_contract/@customer_id
$customer/data/customer/@title


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 21 фев 2013, 13:27 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Примеры смотрели?
http://wiki.bgcrm.ru/index.php/%D0%9F%D ... 0%BE%D0%B2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 21 фев 2013, 16:33 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
естественно, его как бы и обрезал.
второй вариант, там где привязано к bgcrm:bgbilling-commonContract(@objectId), это по сути пример с wiki с вырезом всех полей кроме <field name="customer"> (в первоисточнике это было что то fio_full)
кстати говоря, вот пример из вики(любой из них) выдает в лог ошибку:
Код:
CommonDocumentGenerator - java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP.

честно признаюсь, что в этих шаблонах ничего не понимаю, но помоему в моих примерах ошибиться негде. а посмотреть пример для НЕ единого, а обычного договора, негде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 25 фев 2013, 12:16 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
объясните пожалуйста хотя бы, что это за ошибка, в котором кто то что то не может в таймстамп перевести, в моем коде этого нет, это видимо где то в CommonDocumentGenerator. что это за нулевая дата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 27 фев 2013, 16:19 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Можете полностью стек ошибки дать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 27 фев 2013, 16:30 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
В bgcrm.properties приведите параметр к такому виду:
Код:
db.url=jdbc:mysql://127.0.0.1/bgcrm?jdbcCompliantTruncation=false&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull

Необходимо добавить в конце строки:
Код:
&zeroDateTimeBehavior=convertToNull


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 27 фев 2013, 17:24 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Код:
02-27/15:22:28 ERROR [http-bio-9088-exec-10] CommonDocumentGenerator - An empty sequence is not allowed as the first argument of t:dayMonthRodAndYear()
net.sf.saxon.s9api.SaxonApiException: An empty sequence is not allowed as the first argument of t:dayMonthRodAndYear()
   at net.sf.saxon.s9api.XsltTransformer.close(XsltTransformer.java:516)
   at net.sf.saxon.s9api.Processor.writeXdmValue(Processor.java:384)
   at ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator.processXslt(CommonDocumentGenerator.java:250)
   at ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator.notify(CommonDocumentGenerator.java:98)
   at ru.bgcrm.event.EventProcessor.processEvent(EventProcessor.java:134)
   at ru.bgcrm.plugin.document.struts.action.DocumentAction.generateDocument(DocumentAction.java:157)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at ru.bgcrm.struts.action.BaseAction$Invoker.invoke(BaseAction.java:114)
   at ru.bgcrm.struts.action.BaseAction.dispatchMethod(BaseAction.java:225)
   at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
   at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
   at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
   at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
   at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
   at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
   at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
   at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
   at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
   at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at ru.bgcrm.servlet.filter.AuthFilter.doFilter(AuthFilter.java:33)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at ru.bgcrm.servlet.filter.SetRequestParamsFilter.doFilter(SetRequestParamsFilter.java:42)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at ru.bgcrm.servlet.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:38)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:662)
Caused by: net.sf.saxon.trans.XPathException: An empty sequence is not allowed as the first argument of t:dayMonthRodAndYear()
   at net.sf.saxon.expr.Expression.typeError(Expression.java:1051)
   at net.sf.saxon.expr.CardinalityChecker.evaluateItem(CardinalityChecker.java:253)
   at net.sf.saxon.expr.parser.ExpressionTool.evaluate(ExpressionTool.java:320)
   at net.sf.saxon.expr.UserFunctionCall.evaluateArguments(UserFunctionCall.java:517)
   at net.sf.saxon.expr.UserFunctionCall.callFunction(UserFunctionCall.java:449)
   at net.sf.saxon.expr.UserFunctionCall.evaluateItem(UserFunctionCall.java:410)
   at net.sf.saxon.expr.Expression.evaluateAsString(Expression.java:505)
   at net.sf.saxon.expr.instruct.SimpleNodeConstructor.processLeavingTail(SimpleNodeConstructor.java:194)
   at net.sf.saxon.expr.instruct.ValueOf.processLeavingTail(ValueOf.java:245)
   at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:615)
   at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:131)
   at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:301)
   at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:254)
   at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:615)
   at net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:586)
   at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:615)
   at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:131)
   at net.sf.saxon.expr.LetExpression.process(LetExpression.java:436)
   at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:301)
   at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:254)
   at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:212)
   at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1034)
   at net.sf.saxon.trans.TextOnlyCopyRuleSet.process(TextOnlyCopyRuleSet.java:58)
   at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1022)
   at net.sf.saxon.Controller.transformDocument(Controller.java:1957)
   at net.sf.saxon.s9api.XsltTransformer.close(XsltTransformer.java:514)
   ... 48 more


сделал, теперь такой выхлоп на вот такой код:

Код:
[root@billing docpattern]# cat zakaz2.xsl
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:bgcrm="http://bgcrm.ru/saxon-extension"
        exclude-result-prefixes="bgcrm"
        version="2.0">
        <xsl:variable name="months">
                <month num="01" imen="" rod="января" />
                <month num="02" imen="" rod="февраля" />
                <month num="03" imen="" rod="марта" />
                <month num="04" imen="" rod="апреля" />
                <month num="05" imen="" rod="мая" />
                <month num="06" imen="" rod="июня" />
                <month num="07" imen="" rod="июля" />
                <month num="08" imen="" rod="августа" />
                <month num="09" imen="" rod="сентября" />
                <month num="10" imen="" rod="октября" />
                <month num="11" imen="" rod="ноября" />
                <month num="12" imen="" rod="декабря" />
        </xsl:variable>
        <xsl:template match="/event">
                <data>
                        <xsl:variable name="commonContract" select="bgcrm:bgbilling-commonContract(@objectId)" />
                        <xsl:variable name="customerId" select="$commonContract/data/bgbilling_common_contract/@customer_id" />
                        <xsl:variable name="customer" select="bgcrm:customer($customerId)" />
                        <xsl:copy-of select="$commonContract" />
                        <xsl:copy-of select="$customer" />
                </data>
        </xsl:template>
</xsl:transform>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 11 мар 2013, 12:22 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
В вашем шаблоне не вижу вызова функции:
Код:
t:dayMonthRodAndYear()
на которую ругается..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 11 мар 2013, 21:32 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
так у меня и нет задачи её вызвать. или она должна быть и её нет, потому и ругается? я так понял она где то в коде сервера?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 12 мар 2013, 10:40 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Судя по логам - вызывается при обработке XSLT шаблона. По времени ошибки в логе совпадают со временем попытки генерации документа?
Может, это какие-то старые записи просто..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 12 мар 2013, 11:32 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
да, вызов функции и выпадение экзепшена совпадает с вызовом генератора документа. специально стопал сервер, удалял все логи и стартовал его заново. до работы доберусь, сделаю полную выкладку процесса генерации документа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 12 мар 2013, 12:12 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Код:
INFO: Starting ProtocolHandler ["http-bio-9088"]
[Fatal Error] :1:2: The markup in the document preceding the root element must be well-formed.


Код:
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ModuleUtils - Get module name for path /user/pool.do
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ModuleUtils - Module name found: default
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ComposableRequestProcessor - Using processing chain for this request
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.ExceptionCatcher
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectLocale
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] AbstractSelectLocale - retrieve config...
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] AbstractSelectLocale - set context locale to ru_RU
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SetOriginalURI
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.RequestNoCache
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SetContentType
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.RemoveCachedMessages
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.AuthorizeAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.CreateActionForm
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] CreateActionForm - Look up form-bean form
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.PopulateActionForm
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils - BeanUtils.populate(ru.bgcrm.struts.form.DynActionForm@6f7e982f, {responseType=[Ljava.lang.String;@60396ed8})
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@6f7e982f, responseType, [json])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@6f7e982f
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = responseType
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert string 'json' to class 'java.lang.String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value 'json' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.ValidateActionForm
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectInput
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.ExecuteCommand
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectForward
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.SelectInclude
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.PerformInclude
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.CreateAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] AbstractCreateAction - setting action to ru.bgcrm.struts.action.PoolAction@d7b79a6
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.ExecuteAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.ExecuteForwardCommand
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.PerformForward
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ModuleUtils - Get module name for path /user/plugin/document/document.do
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ModuleUtils - Module name found: default
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ComposableRequestProcessor - Using processing chain for this request
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.ExceptionCatcher
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectLocale
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] AbstractSelectLocale - retrieve config...
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] AbstractSelectLocale - set context locale to ru_RU
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SetOriginalURI
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.RequestNoCache
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SetContentType
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.RemoveCachedMessages
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.AuthorizeAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.CreateActionForm
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] CreateActionForm - Look up form-bean form
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.PopulateActionForm
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils - BeanUtils.populate(ru.bgcrm.struts.form.DynActionForm@2c453c47, {id=[Ljava.lang.String;@75787005, scope=[Ljava.lang.String;@36029483, patternId=[Ljava.lang.String;@63644028, objectId=[Ljava.lang.String;@4ab03512, responseType=[Ljava.lang.String;@766c570c, action=[Ljava.lang.String;@42c71191, objectType=[Ljava.lang.String;@1b5268d7})
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@2c453c47, id, [])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@2c453c47
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = id
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert String[1] to class 'java.lang.String[]'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value '' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@2c453c47, scope, [bgbilling-commonContract])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@2c453c47
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = scope
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert String[1] to class 'java.lang.String[]'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value 'bgbilling-commonContract' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@2c453c47, patternId, [3])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@2c453c47
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = patternId
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert String[1] to class 'java.lang.String[]'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value '3' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@2c453c47, objectId, [4])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@2c453c47
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = objectId
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert String[1] to class 'java.lang.String[]'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value '4' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@2c453c47, responseType, [json])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@2c453c47
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = responseType
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert string 'json' to class 'java.lang.String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value 'json' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@2c453c47, action, [generateDocument])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@2c453c47
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = action
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert string 'generateDocument' to class 'java.lang.String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value 'generateDocument' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@2c453c47, objectType, [bgbilling-commonContract])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@2c453c47
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = objectType
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert String[1] to class 'java.lang.String[]'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value 'bgbilling-commonContract' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.ValidateActionForm
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectInput
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.ExecuteCommand
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectForward
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.SelectInclude
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.PerformInclude
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.CreateAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] AbstractCreateAction - setting action to ru.bgcrm.plugin.document.struts.action.DocumentAction@3f78e13f
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.ExecuteAction
03-12/10:12:05 ERROR [http-bio-9088-exec-8] CommonDocumentGenerator - An empty sequence is not allowed as the first argument of t:dayMonthRodAndYear()
net.sf.saxon.s9api.SaxonApiException: An empty sequence is not allowed as the first argument of t:dayMonthRodAndYear()
        at net.sf.saxon.s9api.XsltTransformer.close(XsltTransformer.java:516)
        at net.sf.saxon.s9api.Processor.writeXdmValue(Processor.java:384)
        at ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator.processXslt(CommonDocumentGenerator.java:250)
        at ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator.notify(CommonDocumentGenerator.java:98)
        at ru.bgcrm.event.EventProcessor.processEvent(EventProcessor.java:134)
        at ru.bgcrm.plugin.document.struts.action.DocumentAction.generateDocument(DocumentAction.java:157)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at ru.bgcrm.struts.action.BaseAction$Invoker.invoke(BaseAction.java:114)
        at ru.bgcrm.struts.action.BaseAction.dispatchMethod(BaseAction.java:225)
        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
        at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
        at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
        at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
        at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
        at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ru.bgcrm.servlet.filter.AuthFilter.doFilter(AuthFilter.java:33)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ru.bgcrm.servlet.filter.SetRequestParamsFilter.doFilter(SetRequestParamsFilter.java:42)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ru.bgcrm.servlet.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:38)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: net.sf.saxon.trans.XPathException: An empty sequence is not allowed as the first argument of t:dayMonthRodAndYear()
        at net.sf.saxon.expr.Expression.typeError(Expression.java:1051)
        at net.sf.saxon.expr.CardinalityChecker.evaluateItem(CardinalityChecker.java:253)
        at net.sf.saxon.expr.parser.ExpressionTool.evaluate(ExpressionTool.java:320)
        at net.sf.saxon.expr.UserFunctionCall.evaluateArguments(UserFunctionCall.java:517)
        at net.sf.saxon.expr.UserFunctionCall.callFunction(UserFunctionCall.java:449)
        at net.sf.saxon.expr.UserFunctionCall.evaluateItem(UserFunctionCall.java:410)
        at net.sf.saxon.expr.Expression.evaluateAsString(Expression.java:505)
        at net.sf.saxon.expr.instruct.SimpleNodeConstructor.processLeavingTail(SimpleNodeConstructor.java:194)
        at net.sf.saxon.expr.instruct.ValueOf.processLeavingTail(ValueOf.java:245)
        at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:615)
        at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:131)
        at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:301)
        at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:254)
        at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:615)
        at net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:586)
        at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:615)
        at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:131)
        at net.sf.saxon.expr.LetExpression.process(LetExpression.java:436)
        at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:301)
        at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:254)
        at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:212)
        at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1034)
        at net.sf.saxon.trans.TextOnlyCopyRuleSet.process(TextOnlyCopyRuleSet.java:58)
        at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1022)
        at net.sf.saxon.Controller.transformDocument(Controller.java:1957)
        at net.sf.saxon.s9api.XsltTransformer.close(XsltTransformer.java:514)
        ... 48 more
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.ExecuteForwardCommand
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.PerformForward
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ModuleUtils - Get module name for path /user/plugin/document/document.do
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ModuleUtils - Module name found: default
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ComposableRequestProcessor - Using processing chain for this request
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.ExceptionCatcher
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectLocale
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] AbstractSelectLocale - retrieve config...
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] AbstractSelectLocale - set context locale to ru_RU
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SetOriginalURI
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.RequestNoCache
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SetContentType
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.RemoveCachedMessages
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.AuthorizeAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.CreateActionForm
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] CreateActionForm - Look up form-bean form
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.PopulateActionForm
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils - BeanUtils.populate(ru.bgcrm.struts.form.DynActionForm@1901b54e, {scope=[Ljava.lang.String;@3f2620b5, objectTitle=[Ljava.lang.String;@602d6b76, objectId=[Ljava.lang.String;@45ea414e, objectType=[Ljava.lang.String;@16658bbe})
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@1901b54e, scope, [bgbilling-commonContract])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@1901b54e
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = scope
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert String[1] to class 'java.lang.String[]'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value 'bgbilling-commonContract' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@1901b54e, objectTitle, [02000001])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@1901b54e
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = objectTitle
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert String[1] to class 'java.lang.String[]'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value '02000001' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@1901b54e, objectId, [4])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@1901b54e
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = objectId
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert String[1] to class 'java.lang.String[]'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value '4' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -   setProperty(ru.bgcrm.struts.form.DynActionForm@1901b54e, objectType, [bgbilling-commonContract])
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target bean = ru.bgcrm.struts.form.DynActionForm@1901b54e
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] BeanUtils -     Target name = objectType
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils - Convert String[1] to class 'java.lang.String[]'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ConvertUtils -   Using converter ConverterFacade[StringConverter[UseDefault=true]]
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] StringConverter - Converting 'String' value 'bgbilling-commonContract' to type 'String'
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.ValidateActionForm
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectInput
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.ExecuteCommand
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.SelectForward
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.SelectInclude
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.PerformInclude
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.CreateAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] AbstractCreateAction - setting action to ru.bgcrm.plugin.document.struts.action.DocumentAction@3f78e13f
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.ExecuteAction
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.ExecuteForwardCommand
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] ActionCommandBase - Executing org.apache.struts.chain.commands.servlet.PerformForward
03-12/10:12:05 DEBUG [http-bio-9088-exec-8] PerformForward - Forwarding to /WEB-INF/jspf/user/plugin/document/document_list.jsp


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 13 мар 2013, 09:46 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Можете в личку бросить ССШ доступ к BGCRM серверу и логин-пароль для клиентского доступа в BGCRM?
Укажите в каком порядке куда заходить и что нажимать для воспроизведения ошибки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 14 мар 2013, 17:45 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
вам удалось попасть на сервер?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 18 мар 2013, 14:01 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Доступ прошёл.
У заказ-наряда2 используется шаблон:
document:pattern.3.xslt=docpattern/zakaz.orig.xsl
Ну и идёт вызов этой функции:
Код:
<field name="burn_month_year">
     <xsl:value-of select="t:dayMonthRodAndYear( $burnDate )" />
</field>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 11 июл 2014, 00:32 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
есть xsl

Код:
   <xsl:template match="/event">
      <data>
         <xsl:copy-of select="/event"/>
         <xsl:variable name="process" select="bgcrm:process(@objectId)" />
         <xsl:copy-of select="$process"/>
         
         <field name="cardNumber">
            <xsl:value-of select="$process/@id" />
         </field>

      </data>
   </xsl:template>
</xsl:transform>


рядом лежит docx с единственным тегом ${cardNumber}
при генерации выдает не заполненный шаблон.

настройки такие:

Код:
document:pattern.1.title=Заказ наряд
document:pattern.1.scope=process
document:pattern.1.script=ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator
document:pattern.1.file=docpattern/zakaz_card.docx
document:pattern.1.xslt=docpattern/zakaz_card.xsl
document:pattern.1.type=docxForm
document:pattern.1.documentTitle=Наряд на работы.docx


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 11 июл 2014, 10:23 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Настройте в log4j.properties

Код:
log4j.logger.ru.bgcrm=DEBUG, stdout
log4j.additivity.ru.bgcrm=false


Сгенерируйте документ и выложите вывод в логе сюда.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 11 июл 2014, 20:34 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Код:
07-11/18:30:45 DEBUG [http-bio-9088-exec-7] CommonDocumentGenerator - Transformation debug: <?xml version="1.0" encoding="UTF-8"?>
<data xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <event objectId="20" objectType="process" userId="2">
      <request>
         <param name="id" value="20"/>
         <param name="patternId" value="1"/>
         <param name="scope" value="process"/>
         <param name="objectId" value="20"/>
         <param name="responseType" value="json"/>
         <param name="action" value="generateDocument"/>
         <param name="objectType" value="process"/>
         <param name="requestUrl"
                value="/user/plugin/document/document.do?id=20&amp;scope=process&amp;action=generateDocument&amp;objectType=process&amp;objectId=20&amp;patternId=1&amp;responseType=json"/>
      </request>
   </event>
   <data>
      <process close_dt="2014-07-11 01:16:24.0"
               close_user_id="2"
               create_dt="2014-07-11 00:47:35.0"
               create_user_id="2"
               description=""
               executors="6:4"
               groups="4"
               id="20"
               priority="0"
               status_dt="2014-07-11 01:16:24.0"
               status_id="6"
               status_user_id="2"
               title=""
               type_id="6"/>
      <parameters>
         <parameter id="3" title="Контактная эл. почта" value=""/>
         <parameter id="4" title="Контактный телефон" value="+7 (903) 528-00-00;"/>
         <parameter id="5" title="Контактное лицо" value="CFF"/>
         <parameter id="6"
                    title="Начать не позднее"
                    value="Fri Jul 11 00:30:00 MSK 2014"/>
         <parameter id="8" title="Выполнить до" value="Fri Jul 11 02:30:00 MSK 2014"/>
         <parameter id="16" title="Выполнена" value="Fri Jul 11 01:15:00 MSK 2014"/>
         <parameter id="10"
                    title="Проделанные работы"
                    value="[Монтажные часы(кол-во часов)  300::1]"/>
         <parameter id="14" title="Суть обращения" value=""/>
         <parameter id="15" title="Адрес" value="Лунапарк, Луна, д. 1"/>
      </parameters>
      <links/>
      <status>
...куча статусов...
      </status>
   </data>
   <field name="cardNumber"/>
</data>

07-11/18:30:45 DEBUG [http-bio-9088-exec-7] EmptyAction - r:org.apache.catalina.connector.RequestFacade@21a038ac; f:ru.bgcrm.struts.form.DynActionForm@1de8b573; q: patternId=1&forwardFile=/WEB-INF/jspf/user/plugin/document/additional_parameters.jsp


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 16 июл 2014, 12:58 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Попробуйте вот так:

Код:
<field name="cardNumber">
   <xsl:value-of select="$process/data/process/@id" />
</field>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 17 июл 2014, 13:47 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Хорошо. так в выдаче появилось:
Код:
</status>
   </data>
   <field name="cardNumber">24</field>
</data>

рядом с файлом xsl лежит файл docx с одним макросом ${cardNumber}. при генерации этот макрос остаётся не заполненным. Так же пробовал odt шаблон. ситуация не меняется.

Код:
###Документы
document:pattern.1.title=Заказ наряд
document:pattern.1.scope=process
document:pattern.1.script=ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator
document:pattern.1.file=docpattern/zakaz_card.odt
document:pattern.1.xslt=docpattern/zakaz_card.xsl
document:pattern.1.type=odtForm
document:pattern.1.documentTitle=Наряд на работы.odt


Вложения:
zakaz_card.rar [4.2 КБ]
Скачиваний: 192
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 17 июл 2014, 22:14 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
взял файл из вики, от примера с docx документом. туда подставилось. я так понимаю в фразе:
Код:
docxForm либо odtForm - .docx либо .odt файл с макросами вида ${macros}, значения которых заменяются значениями из XML документа с параметрами, подготовленного с помощью XSLT шаблона <xslt>;

с макросами вида ${macros} - имеет какое то более глубокое значение =)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 18 июл 2014, 14:09 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
с макросами вида ${macros} - имеет какое то более глубокое значение =)

Как ни странно, там можно ошибиться. :)

Я описал ваш случай в документации:
http://www.bgcrm.ru/doc/3.0/doc/ch04s02.html

Начиная со слов: "..При использовании типов docxForm либо odtForm п.."


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 18 июл 2014, 16:39 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Администратор писал(а):
Цитата:
с макросами вида ${macros} - имеет какое то более глубокое значение =)

Как ни странно, там можно ошибиться. :)

Я описал ваш случай в документации:
http://www.bgcrm.ru/doc/3.0/doc/ch04s02.html

Начиная со слов: "..При использовании типов docxForm либо odtForm п.."

да, я уже пришёл сам к этому умозаключению, увидел, что там тег разбивается на составляющие. спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 31 мар 2015, 08:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Добавил в wiki пример


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 02 апр 2015, 13:28 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Что не так?
Код:
ERROR [EventProcessor-pool-1-thread-58] CommonDocumentGenerator - An empty sequence is not allowed as the first argument of bgcrm:customer()
net.sf.saxon.s9api.SaxonApiException: An empty sequence is not allowed as the first argument of bgcrm:customer()
   at net.sf.saxon.s9api.XsltTransformer.transform(XsltTransformer.java:433)
   at ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator.processXslt(CommonDocumentGenerator.java:298)
   at ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator.notify(CommonDocumentGenerator.java:202)
   at ru.bgcrm.event.EventProcessor$RequestTask.call(EventProcessor.java:304)
   at ru.bgcrm.event.EventProcessor$RequestTask.call(EventProcessor.java:1)
   at java.util.concurrent.FutureTask.run(FutureTask.java:262)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)
Caused by: net.sf.saxon.trans.XPathException: An empty sequence is not allowed as the first argument of bgcrm:customer()
   at net.sf.saxon.expr.CardinalityCheckingIterator.typeError(CardinalityCheckingIterator.java:123)
   at net.sf.saxon.expr.CardinalityCheckingIterator.<init>(CardinalityCheckingIterator.java:49)
   at net.sf.saxon.expr.CardinalityChecker.iterate(CardinalityChecker.java:206)
   at net.sf.saxon.functions.IntegratedFunctionCall.iterate(IntegratedFunctionCall.java:229)
   at net.sf.saxon.expr.instruct.CopyOf.processLeavingTail(CopyOf.java:473)
   at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:615)
   at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:131)
   at net.sf.saxon.expr.LetExpression.process(LetExpression.java:436)
   at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:301)
   at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:254)
   at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:615)
   at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:212)
   at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1034)
   at net.sf.saxon.trans.TextOnlyCopyRuleSet.process(TextOnlyCopyRuleSet.java:58)
   at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1022)
   at net.sf.saxon.Controller.transformDocument(Controller.java:1957)
   at net.sf.saxon.Controller.transform(Controller.java:1803)
   at net.sf.saxon.s9api.XsltTransformer.transform(XsltTransformer.java:430)
   ... 8 more

Сам бланк
Код:
<!DOCTYPE xsl:stylesheet  [
   <!ENTITY nbsp   "&#160;">
   <!ENTITY copy   "&#169;">
   <!ENTITY reg    "&#174;">
   <!ENTITY trade  "&#8482;">
   <!ENTITY mdash  "&#8212;">
   <!ENTITY ldquo  "&#8220;">
   <!ENTITY rdquo  "&#8221;">
   <!ENTITY pound  "&#163;">
   <!ENTITY yen    "&#165;">
   <!ENTITY euro   "&#8364;">
]>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:bgcrm="http://bgcrm.ru/saxon-extension"
        exclude-result-prefixes="bgcrm"
        version="2.0">
        <xsl:variable name="months">
                <month num="01" imen="" rod="января" />
                <month num="02" imen="" rod="февраля" />
                <month num="03" imen="" rod="марта" />
                <month num="04" imen="" rod="апреля" />
                <month num="05" imen="" rod="мая" />
                <month num="06" imen="" rod="июня" />
                <month num="07" imen="" rod="июля" />
                <month num="08" imen="" rod="августа" />
                <month num="09" imen="" rod="сентября" />
                <month num="10" imen="" rod="октября" />
                <month num="11" imen="" rod="ноября" />
                <month num="12" imen="" rod="декабря" />
        </xsl:variable>
        <xsl:template match="/event">
                <data>
      <xsl:variable name="commonContract" select="bgcrm:bgbilling-commonContract(@objectId)" />
                        <xsl:variable name="customerId" select="$commonContract/data/bgbilling_common_contract/@customer_id" />
                        <xsl:variable name="customer" select="bgcrm:customer($customerId)" />
                        <xsl:copy-of select="$commonContract" />
                        <xsl:copy-of select="$customer" />   
                </data> 
</xsl:template>
</xsl:transform>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 06 апр 2015, 12:08 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Видимо
Код:
$commonContract/data/bgbilling_common_contract/@customer_id
у вас возвращает пустую строку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: плагин Document
СообщениеДобавлено: 06 апр 2015, 12:18 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
для не единого договора как я понимаю надо исправить на
Код:
$commonContract/data/bgbilling_contract/@customer_id

?


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

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


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

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


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

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