Добрый день!

 

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

 

Нравится

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

Да, возможно.

Создать БП из трёх элементов: чтения данныхвызова веб-сервиса и изменения данных.

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

Добрый день!



Помогите пожалуйста  решение двух задач.



1.нужно сделать аналитику по скорости первого ответа и скорость закрытия обращений.



2.вывести email клиента в левый столбик в колонке обращений.



3.возможность дублировать блог в обработке чтобы в рамках одного  запроса клиента переписываться с другими клиентами.



Чтобы уточнять данные у других. 

Нравится

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

Помогаю, как и просили, с решением двух задач:

1. Как настраивать аналитику пользовательскими средствами, см. тут. Если нужных полей в объектах нет, их можно добавить и заполнять программно, производя в БП вычисления по формулам.

2. См. второй пример тут.

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

Добрый день!



Подскажите пожалуйста кто нибудь делал интеграцию с google таблицами или google data студия

.

Цель сделать онлайн аналитику в google дата студио по обращениям.

Возможно ли через бизнес правило собирать данные и отправлять их в google  таблицу?

Или например подключаться напрямую к базам Bpm &

Нравится

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

Насколько вижу, ни в маркете, ни на аналогичной странице сайта Data Studio нет такого коннектора. Инструкция по его написанию с точки зрения Google есть тут.

А со стороны 7.15, бизнес-правила тут точно не при чём, это браузерная логика для пользователя. Обычно интеграции работают с данными, доступными по OData или же делается самодельный сервис в конфигурации, возвращающий их в нужном формате. Плюс в обоих случаях сначала нужно залогиниться.

Доступ напрямую к базе возможен, но только если система развёрнута у Вас локально (on site).

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

На портале при попытке загрузить файл валиться ошибка в консоли 

Изображение удалено.

Файл сохраняется, но не обновляется деталь, приходиться обновлять страницу. Была ли у кого то такая проблема? 

Нравится

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

Для начала попробуйте отладиться и определить, в каком месте возникает ошибка.

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

Если ошибка связана с базовой логикой, Вы можете обратиться в службу поддержки Террасофт за помощью в решении этого вопроса.

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

И ещё рекомендую подумать над обновлением до более актуальной версии. На текущий день актуальной является версия 7.14.4.

Для начала попробуйте отладиться и определить, в каком месте возникает ошибка.

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

Если ошибка связана с базовой логикой, Вы можете обратиться в службу поддержки Террасофт за помощью в решении этого вопроса.

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

И ещё рекомендую подумать над обновлением до более актуальной версии. На текущий день актуальной является версия 7.14.4.

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

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

Есть такой кейс.

В bpm’ часть обращений по электронной почте регистрируются из системы Service Desk одного из Заказчиков. 

Нумерация обращений разная в нашей bpm’ и в Service Desk Заказчика.

В связи с этим, если поступают уведомления/комментарии из Service Desk, то в bpm’ регистрируются дубли обращений.

Темы уведомлений из SD разные, но всегда содержится шестизначный номер обращения и первые две цифры 1 и 0.

Например, 102456.

Создал два параметра процесса:

usrSubject - тема письма.

usrNumber - номер обращения в теме письма, либо NULL - в противном случае.

 

Изображение удалено.

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

Спасибо.

Нравится

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

Используйте чтото типа

//Regex pattern = new Regex(@"\d{5}");
Regex pattern = new Regex(@"\b[0-9]{6}\b");
var findNumber = "";
Match match = pattern.Match(text);
    if (match.Success)
        findNumber = match.Value;
    else
        findNumber = null;

 

Используйте чтото типа

//Regex pattern = new Regex(@"\d{5}");
Regex pattern = new Regex(@"\b[0-9]{6}\b");
var findNumber = "";
Match match = pattern.Match(text);
    if (match.Success)
        findNumber = match.Value;
    else
        findNumber = null;

 

Григорий, большое спасибо

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

Изображение удалено.

О компании: AIZEL – это:

  • первый в России модный маркетплейс;
  • более 700 мировых брендов онлайн;
  • предзаказ новых коллекций прямо с подиума;
  • бесплатная консультация профессиональных стилистов;
  • Private Client Service;
  • экспресс-доставка заказов по всей России и СНГ;
  • новости, модные съемки, интервью с дизайнерами.

 

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

До приобретения bpm’online customer center, сотрудники компании использовали систему автоматизации сервисного обслуживания, которая не покрывала потребности компании. Решающим аргументом при выборе bpmonline стала возможность системы агрегировать информацию о всех активностях с клиентами в одном интерфейсе с дальнейшим отслеживанием истории. Кроме этого был нужен механизм, позволяющий организовать процессный подход к работе с возможностью коммуникаций смежных отделов в единой системе.

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

  • Автоматизация процесса работы call-центра;
  • Организация процессов взаимодействия сотрудников между собой; 
  • Построение аналитики для мониторинга уровня удовлетворенности клиентов и качества выполнения задач сотрудниками.

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

 На первом этапе настройки системы в карточку контакта были добавлены колонки для фиксации необходимой информации о клиенте: ID клиента, сегмент, количество заказов и др.

Изображение удалено.

Регистрация обращений происходит по нескольким каналам: звонок и email. Поэтому была настроена синхронизация bpm’online с почтовыми ящиками службы поддержи и автоматическое создание обращений и входящих писем клиентов. Кроме этого была реализована интеграция с телефонией. Это позволяет агрегировать всю информацию о коммуникациях с клиентами компании в карточке клиента.

Далее выполнена адаптация процесса обработки обращений в кейсах раздела [Обращения]. Настройки выполнены с помощью инструмента Case Management. Добавлены стадии «Дубль» и «Спам», они нужны для исключения обращений, которые не нужно обрабатывать. После этого добавлены категории сервисов, такие как: «Оформление заказа», «Подтверждение заказа», «Возврат товара», «Технические ошибки на сайте» и др.  В процессе решения обращений используется коробочная система уведомлений клиентов о смене состояния обращений, а сотрудников - о назначении их ответственными за обращения.

Для составления аналитики был реализован вспомогательный бизнес процесс расчета продолжительности решения обращения в состоянии обработки (в часах и минутах). Время фиксируется в карточке обращения после перевода обращений в состояние «Решено»:

Изображение удалено.

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

Изображение удалено.

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

Изображение удалено.

Результат

В результате внедрения bpm’online организован процесс обработки обращений сотрудниками call-центра.  Решение этой задачи позволило: улучшить внутренние процессы взаимодействия смежных отделов в компании и ускорить процесс обработки обращений. И как следствие повысить лояльность клиентов компании.

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

 

Нравится

Поделиться

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

Спасибо, Вика! Очень нужный кейс)

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

Добрый день!

Есть некий метод который отрабатыват на событие Inserting в объекте и изменяет поле статус:

Изображение удалено.

И есть процесс который ждет изменения поля статус: 

Изображение удалено.

Собственно, проблема в том что событие в процессе не отрабатывает, и процесс остается виснуть на этом элементе. В чем может быть проблема?

Нравится

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

Процесс может не отрабатывать, так как в методе у Вас происходит изменение статуса на событие 'Добавления записи', а в БП указано, что сигнал должен сработать при возникновении события 'Изменения записи'.

В БП добавьте старт данного события ещё и по сигналу добавления записи.

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

я неверно написал, у меня метод отрабатывает на событие Updating а не Inserting

Миннекаев Айдар,

Проверьте, запускается ли Ваш бизнес-процесс при изменении статуса на нужное значение из конфигурации. Возможно, проблема в процессе.

Также уточните, откуда запускается метод SetStatus и каким образом получен объект entity, который передается в него?

Алла Савельева пишет:

откуда запускается метод SetStatus и каким образом получен объект entity, который передается в него?

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

Проверить, точно ли нет нужной в списке колонок, можно кодом из комментариев отсюда. Если нет, может, на Updating и добавить туда нужную выйдет, свойство ModifiedColumnValues доступно для чтения и записи.

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

Показать все комментарии
Добрый день, коллеги,
Не подскажете, как настроить фильтр по Сервису и Группе ответственных в карточке Обращения в продукте bpm'online Customer Center?
Что сделано и что имеем:
Продукт - bpm'online Customer Center
  1. В схему Custom добавил Объект UsrServiceEngineer
  2. В объект UsrServiceEngineer добавил два поля UsrServiceItem и UsrEngineer типа справочник
Изображение удалено.
Изображение удалено.
Изображение удалено.
 
3. Добавил новую Схему модели представления детали с реестром UsrServiceEngineerDetail
Изображение удалено.
4. В схему ServiceItemPage добавить код для добавления детали в раздел Сервисы:
==
 
define("ServiceItemPage", [], function() {
                return {
                               entitySchemaName: "ServiceItem",
                               attributes: {},
                               modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
                               details: /**SCHEMA_DETAILS*/{
                                               "UsrServiceEngineerDetail": {
                                                               "schemaName": "UsrServiceEngineerDetail",
                                                               "entitySchemaName": "UsrServiceEngineer",
                                                               "filter": {
                                                                               "detailColumn": "UsrServiceItem",
                                                                               "masterColumn": "Id"
                                                               }
                                               }
                               }/**SCHEMA_DETAILS*/
==
5. Деталь привязана и наполнена для каждого Сервиса в разделе Сервисы.

Изображение удалено.

 

 

Коллеги, не подскажете, как настроить фильтр по Сервису и Группе ответственных в карточке обращения в продукте bpm'online Customer Center?

Нужно реализовать фильтр, чтобы при выборе Сервиса в карточке Обращения, автоматически выбирались только те Группы ответственных, которые связаны с выбранным Сервисом по детали Сервисные инженеры.

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

--

С уважением,

Дмитрий.

Нравится

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

Добрый день!

Добавьте на странице обращения данный атрибут:

attributes: {
	"Group": {
		lookupListConfig: {
			"filters": [
                      function() {
                          var service = this.get("ServiceItem");
						  var filterGroup = Ext.create("Terrasoft.FilterGroup");
						  if (service) {
							var serviceFilter = Terrasoft.createColumnFilterWithParameter(
								Terrasoft.ComparisonType.EQUAL, "[UsrServiceEngineer:UsrEngineer].UsrServiceItem", service.value);
							  filterGroup.add("filter1", serviceFilter);
						  }
                          return filterGroup;
                      }
                  ]
		}
 
	}
},

 

Добрый день!

Добавьте на странице обращения данный атрибут:

attributes: {
	"Group": {
		lookupListConfig: {
			"filters": [
                      function() {
                          var service = this.get("ServiceItem");
						  var filterGroup = Ext.create("Terrasoft.FilterGroup");
						  if (service) {
							var serviceFilter = Terrasoft.createColumnFilterWithParameter(
								Terrasoft.ComparisonType.EQUAL, "[UsrServiceEngineer:UsrEngineer].UsrServiceItem", service.value);
							  filterGroup.add("filter1", serviceFilter);
						  }
                          return filterGroup;
                      }
                  ]
		}
 
	}
},

 

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

Александр, огромнейшее спасибо!!!

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

Добрый день!

После обновления пакет через мастер установки приложений, возникла такая ошибка:

"Ошибка обновления структуры таблицы для схемы "VcRequest" из пакета "HeatingCore". UId 336beaed-efb0-49f5-8506-29456cb1bbaf: У колонки "Стадия заявки" с типом справочник не указана ссылка на схему-справочник. "

В самом объекте VcRequest, такой колонки уже нет. Обновление структуры БД, генерация исходного кода и полная компиляция ошибку не устраняют.

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

Нравится

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

 

При полной компиляции должно указывать где именно нет этой колонки, также рекомендую поискать Uid и название колонки в метаданных самого объекта "VcRequest".

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

 

При полной компиляции должно указывать где именно нет этой колонки, также рекомендую поискать Uid и название колонки в метаданных самого объекта "VcRequest".

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

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

Здравствуйте. Вот например открывается страница добавления новой запси, стандартном методе.

/**
		 * Opens card in chain.
		 * @protected
		 * @param {Object} config Card configuration information
		 */
		openCardInChain: function(config) {
			this.showBodyMask();
			var historyState = this.sandbox.publish("GetHistoryState");
			var stateObj = config.stateObj || {
				isSeparateMode: config.isSeparateMode || true,
				schemaName: config.schemaName,
				entitySchemaName: config.entitySchemaName,
				operation: config.action || config.operation,
				primaryColumnValue: config.id,
				valuePairs: config.defaultValues,
				isInChain: true
			};
			this.sandbox.publish("PushHistoryState", {
				hash: historyState.hash.historyState,
				silent: config.silent,
				stateObj: stateObj
			});
			var moduleName = config.moduleName || "CardModuleV2";
			var moduleParams = {
				renderTo: config.renderTo || this.renderTo,
				id: config.moduleId,
				keepAlive: (config.keepAlive !== false)
			};
			var instanceConfig = config.instanceConfig;
			if (instanceConfig) {
				this.Ext.apply(moduleParams, {
					instanceConfig: instanceConfig
				});
			}
			this.sandbox.loadModule(moduleName, moduleParams);
		}



 где moduleName: "CardModuleV2"

moduleParams:

{
   id: "AddEmailRelation_CasePagee1a6a291-ded1-4de6-a1c8-b0db19a77f97"
   keepAlive: true
   renderTo: "centerPanel"
}

Можно ли как-то открыть модуль (страницу добавления записи), и в неё передать параметры по умолчанию, например проставить какому либо полю значение.

Нравится

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

Можно передав в функции this.openCardInChain значения в defaultValues

Пример есть тут

Можно передав в функции this.openCardInChain значения в defaultValues

Пример есть тут

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