Вопрос

Добрый день, коллеги. 

Был создан БП, который устанавливает значение "Доволен" в закрытых обращениях, где контакт не оценил работу, практически во всех закрытых обращениях уровень удовлетворённости клиентов  пустой. 

Процесс был успешно создан, и значение проставлено. По невнимательности не указали в фильтре самое важное, критерий, что обращение должно быть в состоянии "Закрыто", сейчас во всех жизненных циклах обращения стоит уровень удовлетворённости клиентов "Доволен". Как исправить ситуацию? Возможно ли задать установку пустого значения в БП? 

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

У меня такой же вопрос

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

Добрый день!
Можно сделать кодом в элементе скрипте:

var update = new Update(Get<UserConnection>("UserConnection"), "Case")
    .Set("SatisfactionLevel", Column.Parameter(null, "Guid"))
    .Where("Status").IsNotEqual(Column.Parameter("3e7f420c-f46b-1410-fc9a-0050ba5d6c38")) as Update;
update.Execute();

Или, если у вас есть доступ к базе, выполнить запрос напрямую в базе

Сидоров Александр В.,

Подскажите, пожалуйста, а можно ли через класс Update установить пустое значение для поля с типом 'Дата'? 

Алла Савельева,

Да, можно. Попробовал кодом:

var update = new Update(Get<UserConnection>("UserConnection"), "Contact")
    .Set("Birthdate", Column.Parameter(null, "DateTime")) as Update;
update.Execute();

 

Сидоров Александр В.,

Спасибо.

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Всем привет.

Версия 7.11.0.3122

Товарищи возникла проблема.

Пеезжаем на другой сервер, crm систему перенесли,базу тоже. В систему пускает, данные показывает.

Но перестали отображаться "Автогенерируемые страницы" в бизнес процессах. По журналу видно, что бц работает и висит на автогенерируемой странице, которая собственно требует от пользователя, какого-то выбора в рамках бизнес логики.

Компиляция, перегенерация  нифига не помогают.

Помогите пжлста

У меня такой же вопрос

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

Похоже, на новом сервере не настроили веб-сокеты.

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

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

Сталкивался ли кто с необходимостью через бизнес-процесс вытянуть организационную роль контакта?

Получилось вытянуть родительскую роль "Inherited from", для всех контактов читается значение - "All employees". 

Подскажите, реально ли без побочных "костылей" с помощью процесса прочитать орг. роль?

У меня такой же вопрос

5 комментариев

Добрый день!
У контакта может быть несколько орг. ролей, так как это деталь.
Для того, чтобы прочитать орг. роли, нужно найти пользователя контакта, далее считать роли этого пользователя


Добрый день,

Это не очень сложно: но нужно учитывать структуру таблиц где хранятся роли и вхождения в роли. Посмотрите таблицы / объекты "Объект администрирования" и "Вхождение пользователя в роли". В первой хранятся роли и сами пользователи, а во второй хранятся вхождения этих пользователей в соответствующие роли. Так же в таблицах есть тип роли, по которому можно определить организационная это роли или функциональная.

Сидоров Александр В.,

Делала в точности также, только в "Роли пользователя" читала первую запись выборки, а не коллекцию. Спасибо большое, попробую.

Тёскин Дмитрий Валерьевич,

здравствуйте, Дмитрий. 

По таблицам посмотрела. На примере одного контакта: достаточное количество записей орг. ролей вышло. Точно известно, что контакт в настоящее время состоит в одной организационной роли. Эту роль и нужно выцепить.

Вся информация о пользователях и ролях и вхождении первых во вторые хранится в таблицах SysAdminUnit, SysUserInRole и SysAdminUnitInRole. В последнюю переносится после выполнения действия актуализации. Возможно, Вы как раз ещё не актуализировали.

Если есть доступ к базе, сделайте SQL-запросами выборку из этих таблиц: сначала по имени определите Id этого пользователя, а потом посмотрите роли, в которые он входит. Когда структура и условия фильтрации станут ясны, можно будет повторить аналогичные условия выборки средствами движка процессов.

Войдите или зарегистрируйтесь, чтобы комментировать
Публикация

 

 

 

 

О компании

Компания РМ работает на рынке с 1996 года и за это время стала крупнейшим в России поставщиком совместимых расходных материалов TM ProfiLine и TM Colouring для оргтехники Hewlett Packard, Canon, Epson, Oki, Lexmark, Panasonic, Xerox, Brother, Kyocera Mita, Sharp и др. Компания предлагает широкий ассортимент высококачественной продукции по хорошим ценам и на выгодных условиях. РМ поставляет картриджи для лазерных и струйных принтеров, тонер, фотобарабаны, ЗИП, чернила, СНПЧ и ПЗК, фотобумагу, чистящие средства.

Предпосылки внедрения bpm’online

До внедрения платформы bpm’online в Компании РМ велась собственная система сбора, учета и хранения информации. Важной потребностью было всеобьемлющее хранение истории переговоров с клиентами, в связи с чем было принято решение наладить новый тип бизнес-процессов с помощью внедрения системы CRM. Решающими факторами в пользу bpm’online стали такие преимущества новой работы как: общая систематизация работы менеджера и последующих отчетов руководству, ведение истории переговоров с клиентом, входящая/исходящая корреспонденция и звонки.

Задачи внедрения bpm’online sales:

·        Построить алгоритм работы менеджера с клиентом, при котором система будет помогать менеджеру качественно коммуницировать с клиентом;

·        Настроить процесс работы таким образом, при котором права доступа будут автоматически администрироваться согласно регламенту компании.

 

Выполненные настройки

Основная работа сотрудников отдела продаж выполняется в разделе [Контрагенты]. Карточка раздела была отредактирована в соответствии с требованиями, а сам раздел переименован в [Клиенты]. В карточке Клиента был создан справочник «Тип клиента», с помощью которого при старте взаимодействия клиенту присваивается тип «Холодный прозвон».

С помощью инструмента Case Management в разделе [Клиенты] настроен алгоритм взаимодействия с клиентами в зависимости от их типа. Согласно этому алгоритму менеджеру, автоматически генерируются активности и в зависимости от их результата система подсказывает следующий шаг.

Схема процесса представлена ниже:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

По завершению процессов релевантным типу клиента «Холодный звонок», система автоматически меняет тип на «Потенциальный клиент», после чего запускается ряд процессов для этого типа.

В результате такой обработки мы можем сегментировать клиентскую базу и понимать, какое количество активных клиентов у нас в воронке.
С активными клиентами оформляются заказы и на их основании выставляются счета.

В компании РМ с клиентом работает несколько департаментов, в связи с чем была необходимость раздавать права доступа на редактирование записей. Ранее эта задача выполнялась вручную. После внедрения bpm’online стало возможным реализовать автоматическое администрирование прав доступа согласно регламентов компании.

Результат

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

Поделиться

0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Доброго дня, коллеги!

Стоит следующая задача - необходимо считать и отправить данные из объекта на удаленный веб-сервис. Удаленный веб-сервис принимает данные в формате XML. Подскажите пожалуйста, каким образом лучше всего это реализовать - используя бизнес-процессы, DataService или каким-либо другим способом? Заранее благодарю за развернутые ответы. 

У меня такой же вопрос

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

Добрый день!
Бизнес процесс, в котором скрипт С# с использованием HttpWebRequest.
Пример:

var request = (HttpWebRequest)WebRequest.Create(serviceAddress);
request.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
request.Timeout = timeout * 1000;
using (var dataStream = request.GetRequestStream())
{
    dataStream.Write(byteArray, 0, byteArray.Length);
    dataStream.Close();
}
var resp = (HttpWebResponse)request.GetResponse();

Где postData - строка XML

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

На прод среде имеется бизнес-процесс в пакете Custom. Я хочу изменить этот процесс, внести его в свой пакет разработки. Что собственно уже сделал на среде разработки. Однако при импорте на тестовую заметил, что этот БП не импортируется, так как такой уже есть в пакете Custom. Есть какие нибудь методы решения такой проблемы? только удаление из Custom на прод перед импортом? Или лучше всё таки новый бп создать?

У меня такой же вопрос

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

Добрый день!
Можно у себя на стенде перетащить БП в свой пакет (сменить пакет у БП), а при установке в прод ставить архивом изменяемые пакеты (включая Custom) через установку приложения (не импорт схемы)

Добрый день!
Можно у себя на стенде перетащить БП в свой пакет (сменить пакет у БП), а при установке в прод ставить архивом изменяемые пакеты (включая Custom) через установку приложения (не импорт схемы)

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Подскажите в данном свойстве отображаются только значения категории активности с типом "Задача". Данный тип строго зашит кодом? При необходимости отражения иных категорий, например с кастомным типом, можно ли их добавить для отражения в свойстве? Или это реализовано на уровне ядра?

У меня такой же вопрос

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

В свойстве 'Категория задачи' можно выбрать любую категорию задачи, которая внесена в справочник 'Категории активности' для типа 'Задача', в том числе и пользовательские.

Если Вы спрашиваете о категориях, которые относятся к другому типу активности, то в данном случае Вам нужно вносить изменения в методы элемента процесса 'Выполнить задачу', которые реализованы в ActivityUserTaskPropertiesPage в базовом пакете ProcessDesigner в конфигурации bpm'оnline.

Добрый день!
Данная фильтрация наложена на странице ActivityMiniPage.
При необходимости можно заместить эту страницу

В свойстве 'Категория задачи' можно выбрать любую категорию задачи, которая внесена в справочник 'Категории активности' для типа 'Задача', в том числе и пользовательские.

Если Вы спрашиваете о категориях, которые относятся к другому типу активности, то в данном случае Вам нужно вносить изменения в методы элемента процесса 'Выполнить задачу', которые реализованы в ActivityUserTaskPropertiesPage в базовом пакете ProcessDesigner в конфигурации bpm'оnline.

Войдите или зарегистрируйтесь, чтобы комментировать
Идея

Здравствуйте!
Возможно ли реализовать использование методов расширения в элементе БП формула.
Столкнулся с таким случаем нужно определить вхождение текущего времени в диапазон.
Написал метод расширения:

namespace Terrasoft.Configuration
{
    public static class AbDateTimeExtensions
    {
        public static bool IsInRange(this DateTime dateToCheck, DateTime startDate, DateTime endDate)
        {
            return dateToCheck.TimeOfDay >= startDate.TimeOfDay && dateToCheck.TimeOfDay < endDate.TimeOfDay;
        }
    }
}

 Но при использовании его в формуле выводит ошибку - http://prntscr.com/mwbc1w

Обсуждение
7 комментариев

В старом  дизайнере процессов можно было в формуле просто вызвать функцию, написанную на C# в том же БП. Сейчас так нельзя. В Вашем случае для такого вычисления вместо блока-формулы можно использовать блок-скрипт, где считать значения из параметров и вызвать функцию, а результат записать в ещё один параметр.

Очень жаль, что нельзя так. Вместо использования одной строчки текста в параметре элемента приходится заводить параметр процесса, добавлять задание сценарий, ждать его публикации и вообще выполнять много лишних действий.

Пащенко Александр Сергеевич,

Хорошая идея. Давайте её залайкаем и, возможно, когда-нибудь эта возможность в bpm'online появится wink

Пащенко Александр Сергеевич, без компиляции бы в любом случае не обошлось. В старом движке процессов компилировать нужно было всегда, а в новом — только если есть элементы на C#.

Зверев Александр,

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

Если какую-то логику нужно часто применять в процессе, можно оформить её в UserTask.

Алла Савельева,

А смысл? Проще делать хэлперы (схема исходного кода) и их использовать в скриптасках. Для чегото более навороченного можно сделать свои действия процесса.

Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Всем привет.

Кто-нибудь знает как можно получить Id экземпляра запущенного процесса в самом БП процессе?

Хочу хранить его в гуидной колонке для последующего использования в ProcessModuleUtilities.continue() для продолжения работы по процессу.

Заранее спасибо за ваши ответы.

У меня такой же вопрос

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

Читайте context.Process.InstanceUId.

Зверев Александр,

Спасибо за ответ.

Уже решил проблему через Get<Guid>("UId"); в задании сценарии. Ваш вариант тоже попробую на досуге.

Войдите или зарегистрируйтесь, чтобы комментировать
Публикация

Вопрос:

Для условного потока элемента «Выполнить задачу» в конструкторе бизнес-процессов, доступен следующий вариант результатов условного потока (см. рисунок), данное отображение работало до версии 7.8 для нашего пользовательского элемента «Действие процесса» разработанного на основе элемента «Выполнить задачу», можно ли как-нибудь сделать такое же отображение для текущей версии BPM?

Ответ:

Для того, чтобы реализовать функционал на подобии элемента "Выполнить задачу" для пользовательского элемента, рекомендуется ознакомиться с реализацией в исходном коде элемента "ActivityUserTask" (метод GetResultParameterAllValues).

Поделиться

0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать