forum.bitel.ru http://forum.bitel.ru/ |
|
Как создать Event через JEXL? http://forum.bitel.ru/viewtopic.php?f=49&t=13095 |
Страница 1 из 1 |
Автор: | Dog [ 31 окт 2018, 14:28 ] |
Заголовок сообщения: | Как создать Event через JEXL? |
через данный код не кидается event LinkAddedEvent Код: #
# Создание и привязка договора при переходе в статус "В работе" # onProcessEvent.{@inc:cnt}.events=statusChanged:{@STATUS_IN_WORK} onProcessEvent.{@cnt}.doExpression=<<END curdate = new("java.util.Date"); contractDao = new("ru.bgcrm.plugin.bgbilling.proto.dao.ContractDAO", ctxUser, "{@BILLING_ID}"); docDao = new("ru.bgcrm.plugin.document.dao.DocumentDAO", conSet.getConnection()); linkDao = new("ru.bgcrm.dao.process.ProcessLinkDAO", conSet.getConnection()); contractLink = u.getFirst(linkDao.getObjectLinksWithType(process.getId(), "contract%")); if (contractLink == null) { contract = contractDao.createContract({@CONTRACT_PATTERN}, tu.format(curdate, "ymd"), null, null); link = new("ru.bgcrm.model.CommonObjectLink", "process", process.getId(), "contract:" + contract.getBillingId(), contract.getId(), contract.getTitle()); linkDao.addLink(link); } else { contract = new("ru.bgcrm.plugin.bgbilling.proto.model.Contract", "{@BILLING_ID}", contractLink.getLinkedObjectId()); } END |
Автор: | Dog [ 31 окт 2018, 14:55 ] |
Заголовок сообщения: | Re: Как создать Event через JEXL? |
сам отвечу! Код: ... linkEvent = new("ru.bgcrm.event.link.LinkAddedEvent", form, link); ep = ru.bgcrm.event.EventProcessor; ep.processEvent(linkEvent, "ru.bgcrm.dyn.listeners.ProcessListener", conSet); где: ru.bgcrm.dyn.listeners.ProcessListener - это класс-слушатель, которым нужно обработать (extends DynamicEventListener) |
Автор: | Администратор [ 31 окт 2018, 15:26 ] |
Заголовок сообщения: | Re: Как создать Event через JEXL? |
Можно так, либо делали public static методы в классах акшенов. Посмотрите для примера: ru.bgcrm.struts.action.ProcessAction.processGroupsUpdate(DynActionForm, Connection, Process, Set<ProcessGroup>) Может вам проще плагин поправить BGBilling? |
Автор: | Dog [ 31 окт 2018, 18:30 ] |
Заголовок сообщения: | Re: Как создать Event через JEXL? |
ок. гляну. пока решил оставить так, потому что есть идеи где это можно еще использовать! |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |