Добрый день,

Изучаю функциональность интеграции лендингов с bpm. Правильно ли я понимаю, что для того чтобы передать пользовательские поля нового лида в  контакт необходимо добавить бизнес процесс, который по событию создания лида будет их считывать, идентифицировать связанные контакт и прописывать туда значения. 

Есть ли более оптимальный способ?

Нравится

2 комментария

Можно сразу на событие создания непосредственно в объекте, повесить данный функционал.

Либо же дорабатывать стандартную логику, которая создаёт контакт по лиду, добавить туда новые поля. Есть несколько БП, которые могут быть связаны с этим: «Квалификация лида», «Идентификация лида» и их старые версии. Нужно смотреть точно, какая из них задействована в Вашем случае.

Показать все комментарии

Здравствуйте! 

Можно ли по utm меткам определить перешел пользователь по ссылке через мобильное устройство или ПК? Или эту проблему можно решить другим способом без utm меток?

Спасибо!

Нравится

1 комментарий

Нет, UTM-метки — они совсем о другом, они ставятся на том сайте, где ссылка. Вам, скорее, нужно анализировать User Agent, параметры экрана и прочее. Наверняка, уже есть готовые библиотеки.

Показать все комментарии

Добрый день,

На систему был поставлен пакет, в котором находился запускаемый по расписанию БП. После установки на систему, он начал запускаться от имени пользователя, который поставил пакет. Этого пользователя в дальнейшем деактивировали на системе, но БП продолжает запускаться от его имени. Пробовал выключать и заново включать БП - всё равно ответственный, тот, кто и первоначально. Пробовал запускать его собственноручно, он запустился 1 раз от имени нового пользователя, но по расписанию всё равно запускается от имени старого пользователя. Как изменить ответственного для этого БП, который запускается по расписанию?

Нравится

1 комментарий
Лучший ответ

Ищите БП планировщик который запускает ваш БП, там скорее всего указано от чьего имени и какой БП запускать, либо же это может быть триггер прямо в БД, так же и там посмотрите, либо же могли сделать, это через Системную настройку, нужно смотреть, так особо и не подсказать

Ищите БП планировщик который запускает ваш БП, там скорее всего указано от чьего имени и какой БП запускать, либо же это может быть триггер прямо в БД, так же и там посмотрите, либо же могли сделать, это через Системную настройку, нужно смотреть, так особо и не подсказать

Показать все комментарии

Добрый день, формирую процесс, который бы изменял права доступа на запись раздела Контакт или Контрагент при изменении ответственного. Вопрос - как получить id пользователя, группу орг. структуры, группу руководителя и группу руководителя выше стоящего эл-та орг. структуры для контакта, который указан в Ответственном?

Нравится

2 комментария
Лучший ответ

Можно получить выполнив весьма громоздкий запрос к таблицам SysAdminUnit и SysUserInRole. Иначе никак.

Похожий вопрос обсуждали в теме: https://community.terrasoft.ua/questions/proverit-nalicie-prav-u-polzov…



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

Можно получить выполнив весьма громоздкий запрос к таблицам SysAdminUnit и SysUserInRole. Иначе никак.

Показать все комментарии

Всем доброго времени суток!

Коллеги нужна Ваша помощь. Необходимо в С# коде получить идентификатор SystemUser.

http://prntscr.com/lczocy

Хардкодом как то не очень хочется забивать.

Данный идентификатор необходим для работы в событийном слое Entity.

Заранее благодарен.

Нравится

3 комментария
Лучший ответ
//получить значение системной настройки
var mySystemUser=Terrasoft.Core.Configuration.SysSettings.GetValue(UserConnection, "SystemUser");
//получить значение системной настройки
var mySystemUser=Terrasoft.Core.Configuration.SysSettings.GetValue(UserConnection, "SystemUser");

Ну или, учитывая что система по-умолчанию работает от Supervisor-a:

UserConnection.AppConnection.SystemUserConnection.CurrentUser.Id

Не уверен, что сработает, но вроде должно)

Вставлю свои 5 копеек

в Terrasoft.Configuration определена константа id супервизора 

BaseConsts.SystemUserId 

 

 

 

 

Показать все комментарии

BPM Studio, BPM ServiceEnterprise 7.12, 7.13

ON PREMISE



Коллеги, Доброго!



Подскажите, как наполнить bpmonline тестовыми демо-данными? Есть какие-нибудь скрипты, скачиваемые или заливаемые пакеты. Например для MS сервера - есть база Northwind, для Оракла - Database Sample Schemas https://docs.oracle.com/database/121/COMSC/diagrams.htm#COMSC00016



А есть для BPMonline похожее? а то из коробки - только Andrew Baker (

В облаке же при создании тестовой площадки есть демо-данные.



Заранее спасибо!

Нравится

2 комментария
Лучший ответ

Есть пакеты с демо данными, попробуйте запросить их в тех поддержке

Есть пакеты с демо данными, попробуйте запросить их в тех поддержке

В своё время писал генератор 3 млн уникальных ФИО, как раз для Oracle. Можно взять вывод этого запроса и вставлять в таблицу контактов при помощи insert select.

Показать все комментарии

Добрый день!



Решаем следующую задачу: интеграция bpm с внешней системой для синхронизации контактов. 



Имеются порядка 40к контактов из AD, BS и ручной загрузки. Все они собраны в одной системе и обновляются там автоматически. Стоит вопрос - как лучше проводить синхронизацию контактов bpm?



Стоит ли добавлять контакты в почту Exchange и использовать готовый процесс по синхронизации или лучше использовать другие варианты? И какие вообще существуют возможные способы интеграции?

Нравится

1 комментарий

Если не в Exchange, можно придумать самые различные способы синхронизации: из внешней системы работать с веб-сервисами bpm'online по OData или DataService. Или наоборот, из bpm'online периодически обращаться к сервисам внешней системы. Если есть доступ в базу bpm'online, можно напрямую писать в таблицы контактов и деталей. Или то же самое, но с использованием шлюзовых таблиц.

Показать все комментарии

Коллеги всем доброго времени суток. Подскажите, кто нибудь работал с событийным слоем Entity.

Написал класс обработчик в качестве примера для обучения скомпилировал приложение упал сайт.

Вот пример класса обработчика:

 

using System;
using System.Web;
using Terrasoft.Core;
using Terrasoft.Core.Entities;
using Terrasoft.Core.Entities.Events;
 
 
namespace Terrasoft.Configuration
{
    [EntityEventListener(SchemaName = "Order")]
    public class OrderEntityEventListener : BaseEntityEventListener
    {
 
        private UserConnection _userConnection;
 
        private LogService _logService;
        public UserConnection UserConnection
        {
            get
            {
                if (_userConnection != null)
                {
                    return _userConnection;
                }
                _userConnection = HttpContext.Current.Session["UserConnection"] as UserConnection;
                if (_userConnection != null)
                {
                    return _userConnection;
                }
                return _userConnection;
            }
 
            set { _userConnection = value; }
        }        
 
        public LogService LogService { get => _logService; set => _logService = value; }
 
        public OrderEntityEventListener()
        {
            LogService = new LogService(UserConnection);
        }
 
        public override void OnInserting(object sender, EntityBeforeEventArgs e)
        {
            try
            {
                base.OnInserting(sender, e);
 
                var systemUserName = UserConnection.CurrentUser.ContactName;
                var systemUserId = UserConnection.CurrentUser.ContactId;
                LogService.RecInfo($"LOG:[OnInserting]:systemUserId: {systemUserId}; systemUserName:{systemUserName}");
            }
            catch (Exception exception)
            {
                LogService.RecInfo($"LOG:[OnInserting]:Exception: {exception.Message}; {exception.InnerException}");
            }
 
        }
    }
}

Подскажите, что тут не так? Если кто работал, скинте пожалуйста примеры.

Заранее благодарен

Нравится

1 комментарий
Лучший ответ

Добрый день, Алексей!

UserConnection необходимо получать из sender

Пример:

public override void OnSaved(object sender, EntityAfterEventArgs e) {

            base.OnSaved(sender, e);

            var entity = (Entity) sender;

            var userConnection = entity.UserConnection;

        }

Ошибка заключается в том, что слушатели изменений сущностей, работают не только при изменении значений через карточку (в данном случае есть HttpContext) но и в фоновом режиме (процессы, планировщик - без HttpContext).

Добрый день, Алексей!

UserConnection необходимо получать из sender

Пример:

public override void OnSaved(object sender, EntityAfterEventArgs e) {

            base.OnSaved(sender, e);

            var entity = (Entity) sender;

            var userConnection = entity.UserConnection;

        }

Ошибка заключается в том, что слушатели изменений сущностей, работают не только при изменении значений через карточку (в данном случае есть HttpContext) но и в фоновом режиме (процессы, планировщик - без HttpContext).

Показать все комментарии

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

 "UsrField": {

                dependencies: [

                    {

                        columns: ["UsrField2"],

                        methodName: "method"

                    }

                ]

            },

Нравится

1 комментарий

Выполняется интергация с другой системой. Нужно из трансферной таблицы которая находится в другой базе данных достать значения. Можно ли это сделать средствами BPM?

PS: БД Oracle Database 11g

Нравится

3 комментария
Лучший ответ

еще можно использовать openquery, либо создать вью на таблицу в другой бд через дблинк и тогда у вас будет больше стандартных методов работы с данной таблицей из bpm

 

Все мощь .net (c#) к вашим услугам, вариантов подключения множетство. Наберите в гугле using C# without Oracle Client

еще можно использовать openquery, либо создать вью на таблицу в другой бд через дблинк и тогда у вас будет больше стандартных методов работы с данной таблицей из bpm

 

Колодяжный Владислав Эдуардович,

так и решил сделать

Показать все комментарии