BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 04:02

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




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
СообщениеДобавлено: 06 авг 2014, 17:05 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
сделал в типе процесса такую настройку:
Код:
#
onProcessEvent.1.events=
onProcessEvent.1.commands=emailNotifyExecutors:1:Изменения в заявке

добавил себя в исполнители, добавил себе параметр email:1. делаю изменения в заявке: оставляю сообщение, правлю описание, изменяю статус, добавляю исполнителей. и ничего на почту не приходит.
ошибок в логах не вижу, хотя задача шедулера запускается.

попутный вопрос, как выглядит тело сообщения? какую информацию оно содержит? ссылка на процесс там есть? измененные объекты там есть?


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Можно скрин с параметрами пользователей? Попробуйте строку
Код:
onProcessEvent.1.events=
не указывать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 авг 2014, 00:51 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
попробовал без параметра - не помогло.
Вложение:
2e.png
2e.png [ 5.57 КБ | Просмотров: 6128 ]

ради интереса сделал параметр текстового формата, и добавли туда свою почту. в итоге после изменения процесса ЦРМ выдала предупреждение что 40 параметр не является почтовым.
и собственно нашел в логах вот такое, когда параметр все таки типа email.:
Код:
08-11/22:37:33 DEBUG [http-bio-9088-exec-48] DefaultProcessChangeListener - Process commands: [emailNotifyExecutors:1:Изменения в заявке]
java.lang.NullPointerException
        at ru.bgcrm.util.MailMsg.sendMessage(MailMsg.java:143)
        at ru.bgcrm.util.MailMsg.sendMessage(MailMsg.java:125)
        at ru.bgcrm.struts.action.ProcessAction.processDoCommands(ProcessAction.java:1037)
        at ru.bgcrm.event.listener.DefaultProcessChangeListener$ConfigRule.processEvent(DefaultProcessChangeListener.java:382)
        at ru.bgcrm.event.listener.DefaultProcessChangeListener.processEvent(DefaultProcessChangeListener.java:188)
        at ru.bgcrm.event.listener.DefaultProcessChangeListener.access$1(DefaultProcessChangeListener.java:173)
        at ru.bgcrm.event.listener.DefaultProcessChangeListener$2.notify(DefaultProcessChangeListener.java:68)
        at ru.bgcrm.event.listener.DefaultProcessChangeListener$2.notify(DefaultProcessChangeListener.java:1)
        at ru.bgcrm.event.EventProcessor.processEvent(EventProcessor.java:105)
        at ru.bgcrm.struts.action.ProcessAction.processDoEvent(ProcessAction.java:1621)
        at ru.bgcrm.struts.action.ProcessAction.processPriorityUpdate(ProcessAction.java:1253)
        at ru.bgcrm.struts.action.ProcessAction.processPriorityUpdate(ProcessAction.java:1239)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at ru.bgcrm.struts.action.BaseAction$InvokerCon.invoke(BaseAction.java:147)
        at ru.bgcrm.struts.action.BaseAction.dispatchMethod(BaseAction.java:289)
        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: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.AuthFilter.doFilter(AuthFilter.java:139)
        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:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 авг 2014, 11:29 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Вероятнее всего в конфигурации не указан параметр mail.from.email.
Добавлен вывод сообщения об этом в логе.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 авг 2014, 12:29 
Не в сети
Клиент

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

Код:
mail.transport.protocol=smtps
mail.smtp.port=465
mail.smtp.user=crm@mydomen.ru
mail.smtp.from=support@mydomen.ru
mail.smtp.host=smtp.gmail.com
mail.smtp.pswd=123456789
mail.debug=1


Код:
Добавлен вывод сообщения об этом в логе.

обновился, и что то ошибка не изменилась.


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
обновился, и что то ошибка не изменилась.

Так обновление пока не выложено. Вы поставьте параметр в конфиг и должно работать всё.
А вывод в лог на будущее добавлен.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 авг 2014, 15:29 
Не в сети
Клиент

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


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
http://www.bgcrm.ru/doc/3.0/doc/ch01s03s01.html
Код:
# параметры EMail
mail.from.email=bgcrm@xxxxxxx
mail.from.name=BGCRM


Это у вас для каждого типа сообщения свой адрес "От" стоит. А ещё есть общий From, когда отправка письма не связана с обработкой сообщения конкретного типа.
Уведомления и т.п.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 авг 2014, 17:20 
Не в сети
Клиент

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 авг 2014, 18:31 
Не в сети
Клиент

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 авг 2014, 22:42 
Не в сети
Разработчик

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


Сделано, пример настройки:

Код:
msgTempl="Изменился процесс, в котором вы числитесь исполнителем.".concat( NEW_LINE2 )
msgTempl+=.concat( "Описание:" ).concat( NEW_LINE ).concat( process.getDescription() )
msgTempl+=.concat( message == null ? "" : NEW_LINE2.concat( "Сообщение:" ).concat( NEW_LINE ).concat( message.getText() ) )
msgTempl+=.concat( NEW_LINE2 ).concat( "Открыть процесс: http://127.0.0.1:9089/user/process#" ).concat( process.getId().toString() )

onProcessEvent.1.events=messageAdded
onProcessEvent.1.commands=setStatus:10
onProcessEvent.1.commands=emailNotifyExecutors:79:Изменения в заявке:msgTempl


Если не хватает каких-то JEXL переменных - пишите. Пока передаётся только process и message, если событие было новое сообщение.
Обрабатывать следует не все события, наверное. Как минимум либо ed либо ing, а то по каждому изменению будут два письма.
Информация, которая была изменена - устроит из лога изменений процесса?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 авг 2014, 18:06 
Не в сети
Клиент

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

единственное замечание, сейчас приходит письмо с темой:
Создан процесс #process.getId() [process.getDescription()]
может быть убрать описание процесса из кадратных скобок? просто оно как бы может быть бесконечно большим. и его информативность в теме письма как то сомнительна? его можно кастомизировать? или как то заменить на другую полезную информацию (Статус, Тип процесса, если это сообщение, то Автора сообщения).

Цитата:
Информация, которая была изменена - устроит из лога изменений процесса?

устроит


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Сделано всё, что просили.
В документации описано: http://www.bgcrm.ru/doc/3.0/doc/ch01s06s05.html


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

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


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

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


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

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