BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 07 июл 2025, 17:59

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 24 июл 2014, 22:24 
Не в сети
Клиент

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

Разрешает создание процесса во вкладке Процессы объекта.

Переменная в конфигурации типа процесса:

Код:
create.in.objectTypes=<типы объектов через запятую>
create.in.copyParams=перечень пар <с параметра>:<на параметр>, разделённых точкой с запятой
# открывать (1) либо не открывать (0) вкладку с созданным привязанным процессом
create.in.<тип объекта>.openCreated=1

Копирование параметров поддерживается только для объектов, использующих стандартную систему параметров системы.

Типы объектов ядра:

customer - контрагент.
Типы объектов плагинов описаны в документации плагинов.

Пример. Возможность создания процесса с привязкой контрагента, копированием параметра с кодами 1 и 5 в контрагента в параметры процесса с кодами 3 и 6 соответственно:

Код:
create.in.objectTypes=customer
create.in.copyParams=1:3;5:6


сделал так:
Код:
#Привязка к объектам и копирование параметров
create.in.objectTypes=contract:1
create.in.copyParams=1:15

где 1 - код параметра типа:адрес из биллинга, 15 - код параметра типа:адрес из процесса. адреса синхронизированны. выдает
Код:
Ошибка: Different copy param types.

и по логам:
Код:
07-24/20:20:01 ERROR [http-bio-9088-exec-6] ProcessAction - Different copy param types.
ru.bgcrm.model.BGException: Different copy param types.
        at ru.bgcrm.dao.ParamValueDAO.copyParam(ParamValueDAO.java:1317)
        at ru.bgcrm.dao.ParamValueDAO.copyParams(ParamValueDAO.java:1266)
        at ru.bgcrm.struts.action.ProcessAction.linkedProcessCreate(ProcessAction.java:1659)
        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:288)
        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:256)
        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)

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


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

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
еще, сделал вот такую настройку в типе процесса
Код:
onProcessEvent.2.commands=bgbilling:linkedContractCommentToParam:1:5;bgbilling:getLinkedContractAddressParam:1:1:15;bgbilling:getLinkedContractAddressParam:1:2:4
onProcessEvent.2.events=linkAdded

в итоге, при привязке договора комментарий копируется в 5 параметр процесса, адрес (1) копируется в 15 параметр, а вот телефон (2) не копируется.

+ еще, когда привязываешь договор, к процессу в котором уже есть адрес - то получается два адрес в одном параметре процесса, при том что в настройках параметра нет опции "multiple=1"


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Параметр
Код:
create.in.copyParams
копирует только параметры BGCRM между объектами. Т.е. он не будет копировать параметр договора биллинга в параметр ЦРМки.

Вот это правильный путь:
Код:
onProcessEvent.2.commands=bgbilling:linkedContractCommentToParam:1:5;bgbilling:getLinkedContractAddressParam:1:1:15;bgbilling:getLinkedContractAddressParam:1:2:4
onProcessEvent.2.events=linkAdded


Только непонятно, почему вы макросом bgbilling:getLinkedContractAddressParam пытаетесь получить телефон? Используйте bgbilling:getLinkedContractParam и скопируйте телефон в текстовое поле.


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

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Администратор писал(а):
Параметр
Код:
create.in.copyParams
копирует только параметры BGCRM между объектами. Т.е. он не будет копировать параметр договора биллинга в параметр ЦРМки.

Вот это правильный путь:
Код:
onProcessEvent.2.commands=bgbilling:linkedContractCommentToParam:1:5;bgbilling:getLinkedContractAddressParam:1:1:15;bgbilling:getLinkedContractAddressParam:1:2:4
onProcessEvent.2.events=linkAdded


Только непонятно, почему вы макросом bgbilling:getLinkedContractAddressParam пытаетесь получить телефон? Используйте bgbilling:getLinkedContractParam и скопируйте телефон в текстовое поле.

это видимо copy-paste не правильно сработал =) а из поля phone в поле phone не получится? не хочется плодить 100 параметров в одной заявке.


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Рекомендую в заявке делать поле с номером текстовым и копировать туда строковое представление параметра.
Хранить в поле Phone есть смысл только параметры, которые в дальнейшем учитываются и правятся. Например, в контрагенте.
А в заявке - только лишняя морока.


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

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


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
bgbilling:getLinkedContractParam:<billingId>:<billingParamId>:<crmParamId> - копировать из привязанного договора BGBilling строковое представление параметра (как в таблице параметров) в текстовый параметр процесса; <billingId> - идентификатор биллинга, <billingParamId> - числовой идентификатор параметра в биллинге, <crmParamId> - числовой код параметра BGCRM типа text;


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

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


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

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


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

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