BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: 21 окт 2018, 14:07 
Не в сети

Зарегистрирован: 24 янв 2017, 15:32
Сообщения: 86
Карма: 0
Код:
java.lang.NullPointerException at ru.bgcrm.struts.action.MessageAction.message(MessageAction.java:124) at ru.bgcrm.struts.action.MessageAction.unspecified(MessageAction.java:57) at sun.reflect.GeneratedMethodAccessor418.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at ru.bgcrm.struts.action.BaseAction$Invoker.invoke(BaseAction.java:530) at ru.bgcrm.struts.action.BaseAction.dispatchMethod(BaseAction.java:244) 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.SetRequestParamsFilter.doFilter(SetRequestParamsFilter.java:46) 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.AuthFilter.doFilter(AuthFilter.java:115) 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:472) 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.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)


Конфигурация поиска в сообщении

Код:
messageType.1.search.2.title=Контрагент (номер)
messageType.1.search.2.class=ru.bgcrm.dao.message.MessageTypeSearchCall
messageType.1.search.2.commands=customerByPhoneParam:3
messageType.1.search.2.stringExpressionNumberPreprocess=if(numberFrom.length() == 12){ numberFrom = numberFrom.substring(1)}; return numberFrom;



Код:
param.phone.format.number=+XXX (XXX) XX-XX-XX
param.phone.format.number.f33=+XXX (XXX) XX-XX-XX


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 окт 2018, 07:20 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
вы прописали?:
Код:
createOnStart=ru.bgcrm.plugin.asterisk.AMIManager,ru.bgcrm.event.listener.MessageTypeCallListener


После этого нужно црм перезапустить. Так же с црм попробуйте через telnet подключится на порт астериск AMI
Номер заняли же? на который звоните


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 окт 2018, 08:17 
Не в сети

Зарегистрирован: 24 янв 2017, 15:32
Сообщения: 86
Карма: 0
Код:
# перечень через запятую динамических или обычных классов, объекты которых создаются при старте сервера, при перекомпиляции динамических классов создание объектов производится повторно
createOnStart=ru.bgcrm.plugin.asterisk.AMIManager,ru.bgcrm.event.listener.MessageTypeCallListener


Это все давно прописано, причем номера в биллинге ищутся

Код:
messageType.1.search.1.title=Авто биллинг (номер)
messageType.1.search.1.class=ru.bgcrm.plugin.bgbilling.dao.MessageTypeSearchCall
messageType.1.search.1.billingId=mybill
messageType.1.search.1.commands=contractByPhoneParam:3
messageType.1.search.1.stringExpressionNumberPreprocess=if( numberFrom.length() == 12 ){ numberFrom = numberFrom.substring(1)}; return numberFrom;


Т е например , берем сообщение, в нем уже номер определился , показывает карточку в биллинге, но сделав поиск по контрагентам(все договора уже импортировал в контрагенты и этому договору создан контрагент-номер и все остальные параметры импортированы), контрагент не находится.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 окт 2018, 14:28 
Не в сети

Зарегистрирован: 24 янв 2017, 15:32
Сообщения: 86
Карма: 0
Проблема так и не решилась к сожалению после правки свойств mysql, как быть?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 окт 2018, 15:45 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
В ближайшее время проверю и отпишу сюда.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 ноя 2018, 00:08 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
По логу выходит, что не может найти режим поиска. Выложите полную конфигурацию messageType.1.
Это выходит не автоматический поиск не работает, а дополнительный?
Первый поиск по номерам договоров проходит корректно, далее вы нажимаете поиск по телефону контрагента - и он уже сбоит? Вы можете посмотреть с помощью инструмента разработчика браузера какой параметр searchId отправляется в запросе при этом?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 ноя 2018, 16:07 
Не в сети

Зарегистрирован: 24 янв 2017, 15:32
Сообщения: 86
Карма: 0
Все верно, поиск по номеру в контрагенте 2ой по счету. В данный момент он закоментирован.
Код:
####message#################################
messageType.1.title=Входящий звонок
messageType.1.class=ru.bgcrm.dao.message.MessageTypeCall
messageType.1.offerNumberFromParamId=2
messageType.100.title=Заметка
messageType.100.class=ru.bgcrm.dao.message.MessageTypeNote
###
messageType.1.search.1.title=Авто биллинг (номер)
messageType.1.search.1.class=ru.bgcrm.plugin.bgbilling.dao.MessageTypeSearchCall
messageType.1.search.1.billingId=mybill
messageType.1.search.1.commands=contractByPhoneParam:3
messageType.1.search.1.stringExpressionNumberPreprocess=if(true){ numberFrom = numberFrom.substring(1)}; return numberFrom;
###
#messageType.1.search.2.title=Контрагент (номер)
#messageType.1.search.2.class=ru.bgcrm.dao.message.MessageTypeSearchCall
#messageType.1.search.2.commands=customerByPhoneParam:3
#messageType.1.search.2.stringExpressionNumberPreprocess=if(true){ numberFrom = numberFrom.substring(1)}; return numberFrom;
####
messageType.1.search.3.title=По номеру/Коментарию
messageType.1.search.3.class=ru.bgcrm.plugin.bgbilling.dao.MessageTypeSearchContractByTitleAndComment
messageType.1.search.3.billingId=mybill
###
messageType.1.search.4.title=По логину
messageType.1.search.4.class=ru.bgcrm.plugin.bgbilling.dao.MessageTypeSearchContractByDialUpLogin
messageType.1.search.4.billingId=mybill
messageType.1.search.4.moduleId=1
###
messageType.1.search.5.title=Контрагент по названию
messageType.1.search.5.class=ru.bgcrm.dao.message.MessageTypeSearchCustomerByTitle
###
messageType.1.saver.class=ru.bgcrm.plugin.bgbilling.dao.MessageTypeContactSaverPhone
messageType.1.saver.paramId=3
messageType.1.saver.format=+XXX (XXX) XX-XX-XX



Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 ноя 2018, 16:11 
Не в сети

Зарегистрирован: 24 янв 2017, 15:32
Сообщения: 86
Карма: 0
Если закомментировать поиск в биллинге,а поиск по контрагентам раскоментить, то то же ексепшн.
Код:
java.lang.NullPointerException at ru.bgcrm.struts.action.MessageAction.message(MessageAction.java:124) at ru.bgcrm.struts.action.MessageAction.unspecified(MessageAction.java:57) at sun.reflect.GeneratedMethodAccessor504.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at ru.bgcrm.struts.action.BaseAction$Invoker.invoke(BaseAction.java:530) at ru.bgcrm.struts.action.BaseAction.dispatchMethod(BaseAction.java:244) 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.SetRequestParamsFilter.doFilter(SetRequestParamsFilter.java:46) 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.AuthFilter.doFilter(AuthFilter.java:118) 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:472) 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.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 ноя 2018, 16:33 
Не в сети

Зарегистрирован: 24 янв 2017, 15:32
Сообщения: 86
Карма: 0
Если поиском под номером 1 стоит поиск по контрагенту, то ексепшн не вылетает, все верно, поиск срабатывает! Спасибо!!! Т е обязательно должен быть поиск под номером 1.

И да для того чтоб корректно сработал поиск по 12 символам нужна такая конфигурация, может кому потребуется.

Код:
messageType.1.search.1.title=Контрагент (номер)
messageType.1.search.1.class=ru.bgcrm.dao.message.MessageTypeSearchCall
messageType.1.search.1.commands=customerByPhoneParam:3
messageType.1.search.1.stringExpressionNumberPreprocess=if(true){ numberFrom = numberFrom.substring(0)}; return numberFrom;

Т е numberFrom.substring(1) вместо 1 нужно указать 0. - т е не обрезать 1ый символ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 ноя 2018, 16:40 
Не в сети

Зарегистрирован: 24 янв 2017, 15:32
Сообщения: 86
Карма: 0
Проверил, в случае если поставить 2ым поиском поиск по контрагенту, с последней конфигурацией, то все работает, ищется и договор в биллинге и контрагент в срм.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 ноя 2018, 00:49 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
http://www.bgcrm.ru/doc/3.0/manual/kernel/message.html
Цитата:
Первый режим поиска применяется по-умолчанию при открытии сообщения для обработки.


Цитата:
Т е numberFrom.substring(1) вместо 1 нужно указать 0. - т е не обрезать 1ый символ.

Можете вообще убрать строку предобработки, она не обязательна.


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

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


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

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


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

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