Версия 7.12.4.

Добавил деталь в р. "Обращения портала"

При инициализации детали получаю ошибку: 

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

После отладки выявлено, что ошибка связана с вызовом не существующего сallback в методе initDetailRunProcessButtonMenu миксина  ProcessEntryPointUtilities.

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



 

 

Нравится

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

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

/**
 * Initializes "Run process" menu items in detail.
 * @param {Function} callback Callback function.
 * @param {Object} scope Execution context.
 * @protected
 */
initDetailRunProcessButtonMenu: function(callback, scope) {
	var processButtonMenu = this.get("RunProcessButtonMenuItems");
	if (!processButtonMenu) {
		processButtonMenu = this.Ext.create("Terrasoft.BaseViewModelCollection");
		this.set("RunProcessButtonMenuItems", processButtonMenu);
	}
	if (Terrasoft.ProcessEntryPointUtilities.getCanRunProcessFromSection()) {
		this._initDetailAvailableProcessList(processButtonMenu, callback, scope);
	} else {
		callback.call(scope);
	}
},

Возможно, для стандартной детали до else и не доходит.

Илья, добрый день.

В том то и дело, что 

Terrasoft.ProcessEntryPointUtilities.getCanRunProcessFromSection() и проверяет, не является ли пользователь пользователем портала, и в интерфейсе сотрудника возвращает true, и как следствие выполняется this._initDetailAvailableProcessList(processButtonMenu, callback, scope);

НО если пользователь является пользователем портала, то выполняется callback.call(scope);, а callback в этот метод не передается и равен undefind

Т.о. при выводе детали для пользователя портала  получаем ошибку

Сравните с другой деталью тоже на портале, как там работает эта функция.

Мотков Илья,

Деталей на портале нет. 

Вопрос в том, почему в initDetailRunProcessButtonMenu не передаётся callback

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

Мотков Илья,

Метод initDetailRunProcessButtonMenu  вызывается в BaseGridDetailV2 в методе initData и не принимает аргументы (см. https://yadi.sk/i/UoJ5M8kHo9s1kw)

Но в условии else вызывается callback.call(scope);, который по определению вернёт ошибку( т.к. initDetailRunProcessButtonMenu  не принимает аргументов)

Сам метод initDetailRunProcessButtonMenu   описан в схеме-миксине ProcessEntryPointUtilities



Я пытаюсь указать на баг базовой функциональности, который ограничивает использование деталей на портале пользователей.



Для себя временной решение я уже нашёл, но хотелось бы получить исправление в коробочной версии.

Либо переделайте initData, чтобы передавала в функцию эти два параметра, либо в самой initDetailRunProcessButtonMenu добавьте проверку на заполненность параметра, либо, если initData — это единственное место в системе, где функцию initDetailRunProcessButtonMenu вызывают и else не сможет отработать в принципе, исключите нижнюю ветвь.

Мотков Илья,

Илья, решение я уже нашёл (заместил 

BaseGridDetailV2 и метод initDetailRunProcessButtonMenu.)

Целью этой публикации на community является обратить внимание поддержки Terrasoft на не корректную реализацию метода initDetailRunProcessButtonMenu и на проблемы, которые, эта реализация вызывает. 

Чтобы это по возможности было исправлено в следующих релизах.

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

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

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

Статья в академии: 

https://academy.terrasoft.ru/documents/technic-sdk/7-12/kak-polnostyu-z…



Поля блокируются, всё хорошо.

НО при открытии страницы в мастере раздела получаю ошибку: https://yadi.sk/i/Iw8x4ARU_TBGbw

Нравится

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

Первое, что приходит на ум, это необходимость проверить на странице наличие следующего:

 

    details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
    diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
    businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/
​​​​​​​    modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,

Хотя, то, что у вас отображено, скорее связано с чем-то другим

Литвинко Павел,

Дизайнер не может поменять видимость. Он отрабатывает только то что задано в diff и onEntityInitialized. Т.е. если у вас программно (не правилами) скрыты все поля на карте по умолчанию, то конечно вот так и будет. Я в свое время писал на поддержку пожелание об исключении кастомной логики из дизайнера... но увы. 

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

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

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

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

О компании

Компания Ticketland.ru — крупнейший билетный оператор России в сегменте «живых» развлечений: спектакли, концерты, мюзиклы, фестивали, классическая музыка, спорт, а также любые мероприятия для детей. Приоритетами компании являются высокое качество обслуживания клиентов и удовлетворение их желания найти для себя наиболее интересное событие.

 Предпосылки внедрения bpmonline

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

Основные задачи проекта

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

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

Команда внедрения системы, в которую вошли сотрудники компании Ticketland, совместно с CSM менеджером bpm’online добавили справочные поля Подкатегория сервиса и Линия в разделе [Обращение]. Далее был изменён объект системы Объект администрирования, куда были добавлены колонки Линия, Группа ответственных и проставлены взаимосвязи между подкатегориями сервиса, линиями поддержки и группами ответственных.

Далее с помощью мастера раздела в разделе [Обращение] на вкладке Бизнес-правила были созданы правила, в соответствии с которыми выполняется фильтрация полей, например:

1. При выборе определённого сервиса доступны только подчинённые подсервисы.

2. При выборе подсервиса доступны только определённые группы ответственных, которые могут решить обращения данной специфики.

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

Согласно базовым настройкам, после сохранения обращения группа ответственных получает email–уведомление. Таким образом система позволяет максимально быстро подключить компетентного специалиста к решению вопроса. Как только обращение взято в работу, клиент получает уведомление на почту.

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

В случае не вовремя обработанного обращения (например, через 24 часа после уведомления руководителя группы ответственных) система уведомит об этом руководителя подразделения. Ещё через 48 часов уведомление получит руководитель всего технического департамента.

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

Помимо уведомлений на почту, в системе настроен раздел [Итоги], в котором операторы и руководители могут увидеть:

1. обращения, которые не были обработаны в срок;

2. количество обработанных обращений по ответственному;

3. количество обращений по каждой подкатегории сервиса;

4. динамику решения обращений;

5. уровень удовлетворенности по обращениям в разрезе отделов;

6. общие данные по всей технической поддержке.

Результат

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

Благодаря построенному бизнес-процессу руководство компании получает уведомления о сложных или просроченных обращениях, а настроенный раздел [Итоги] даёт возможность в любое время увидеть полную картину как отдельного оператора, так и всей поддержки в целом.

Нравится

Поделиться

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

Добрый день.

Настраиваю интеграцию с телефонией Infinity.

После установки BPMonline Messaging Service и настройки в логах

BPMonline Messaging Service получаю ошибку:

ERROR Terrasoft.Messaging.Core.MessagingServer - AgatInfinityConnector.AgatInfinityConnectorException: Plugins path does not exists

   в AgatInfinityConnector.AgatInfinityConnectorManager.GetAvailableFactories(String pluginsPath_, String logFileName_)

   в Terrasoft.Messaging.Infinity.InfinityConnectionFactory.CreateConnection(IDictionary`2 connectionParameters, IDictionary`2 sessionServiceParameters)

   в Terrasoft.Messaging.Core.MessagingServer.ProcessMsgCommand(MsgCommandInfo msgCommand, WebSocketSession session)

Что и где надо еще настроить? Что за папка Plugins? Где должна находится?

 

Спасибо.

 

Нравится

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

Сбой возникает внутри библиотеки AgatInfinityConnector, предоставляемой авторами телефонии. На их сайте есть описание этой функции:

/// <summary>
/// Возвращает список доступных фабрик коннекторов. Каждая фабрика - это плагин,
/// расположенный рядом с этой сборкой. В ближайшее время предполагается три фабрики:
/// Infinity 4
/// Infinity X
/// IP-АТС Agat-UX
/// </summary>
/// <returns>Список фабрик</returns>
 
public static IEnumerable<IAgatInfinityConnectorFactory> GetAvailableFactories(
string pluginsPath_ = "",
string logFileName_ = "");
}
 
 

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

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

Добрый день.

Есть следующий кейс:

Необходимо создать рабочие места на портале самообслуживания для разных ролей пользователей портала  (Клиенты и партнёры) с различным набором разделов и соответствующими доступами для конкретного пользователя. Данный подход уже реализован на портале самообслуживания Terrasoft. 

Как можно решить данный кейс? 



Обнаружил, что в группу "Все пользователи портала" нельзя добавить подчинённые группы. И даже добавить их с помощью sql-инъекции, права для портала на них не распространяются.

  

 

Нравится

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

Специальной логики с разными разделами на портале Terrasoft нет. Для разграничения прав на обращения только своей компании используются обычные группы (например, по контрагентам), не входящие в группу  «Все пользователи портала».

Мотков Илья,

Меня интересует именно создание разных рабочих мест на портале самообслуживания, и предоставление на них доступа для разных дочерних ролей (Клиенты/Партнёры) роли "Все пользователи портала".

С точки зрения разработки, портал является одним отдельным рабочим местом со своими разделами. 

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

Мотков Илья,

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

Прошу поделится кейсом реализации подобной функциональности.

 

Игорь, это настраивается при помощи стандартных механизмов рабочих мест и прав доступа на них для разных пользователей.

Мотков Илья,

Прошу предоставить инструкцию по реализации такой настройки.

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

1. Для пользователя портала нельзя добавить функциональные роли.

2. Для орг. группы "Все пользователи порта" нельзя добавить подчинённые орг. группы.

3. Как быть с настройкой аналитики на главной странице портала для разных групп пользователей?

И получается, что если я буду добавлять доступ на конкретное рабочее место для отдельных пользователей, то всё равно эти пользователи будут видеть все рабочие места всех пользователей портала.

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

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

Тогда это новое место будет доступно для всех пользователь портала, а мне нужно только для определённой подгруппы

Да, всё верно. Для группы «All portal users».

Мотков Илья,

Т.е. для обеих рабочих мест дан доступ только для пользователей портала?

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

Да, рабочее место создать можно.

Но вопрос в другом: Как отобразить рабочие места в зависимости от роли пользователя портала (партнёр/клиент)?

Все пользователи портала входят в одну и ту же роль.

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

Как добавить печатные формы пользователям портал?

В печатные формы добавил, установил галки "для раздела", "для карточки", но "Печать" со списком доступных печатных форм не появилfсь.

Нравится

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

Добрый день, Евгений!



На данный момент функционал печатных форм не доступен для пользователей портала.

Данная задача уже зарегистрирована у разработчиков, но к сожалению, срок ее реализации точно не известен.

Анна Журавель,

спасибо, может подскажете в какую сторону смотреть с точки зрения доработки?

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

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

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

 

О компании

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

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

До внедрения bpm’online сотрудники Сервис Групп не использовали системы управления работы с клиентами, что усложняло контроль обработки обращений операторами и подрядчиками.

 

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

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

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

 

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

 

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

У компании появилась возможность формировать отчеты для анализа таких показателей, как соблюдение сроков решения обращений подрядчиками, загруженность операторов и подрядчиков, количество закрытых обращений за период, средний бал удовлетворенности, среднее время решения обращений. Настройка аналитики выполнена не только базовыми возможностями раздела [Итоги], а и с помощью интеграции bpm’online с MS Power BI. Настройка интеграции достаточна проста, а возможности для составления аналитики значительные.

Результат

Запуск bpm’online позволил:

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

Нравится

Поделиться

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

Добрый день,

Не подскажете, как фильтрами в разделе Обращение найти все обращения указанного в фильтре пользователя системы, который перевел Обращение из состояния Новое в состояние в Работе?

Спасибо.

 

Нравится

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

Доброго времени суток, Дмитрий!

Используйте примерно следующий фильтр.

В данном случае будут отображаться записи когда пользователь переводил в работу обращение из любого состояния. 

Чтобы найти именно записи из состояния Новое в Работу можно в первом блоке фильтра указать = 1

Так же в Обращениях на вкладке "Информация по обращению" есть деталь "Жизненный цикл обращения". На этой детали можно посмотреть как изменялись статусы по обращению

Доброго времени суток, Дмитрий!

Используйте примерно следующий фильтр.

В данном случае будут отображаться записи когда пользователь переводил в работу обращение из любого состояния. 

Чтобы найти именно записи из состояния Новое в Работу можно в первом блоке фильтра указать = 1

Так же в Обращениях на вкладке "Информация по обращению" есть деталь "Жизненный цикл обращения". На этой детали можно посмотреть как изменялись статусы по обращению

Игорь, огромное спасибо, Ваши ответы всегода предельно ясны и точны.

 

Гриценко Игорь,

Игорь, огромное спасибо, Ваши ответы всегода предельно ясны и точны.

Игорь, у меня еще дополнительный вопрос по этой теме, я настраиваю дашборд.

Настраиваю колонки по объекту Обращение:

Настраиваю поиск обращений, как вы и подсказали, в которых состояние с новое на в Работе изменила Наталья 

 

Параметры отображения:

Игорь вопрос, как добавить в Настройку колонок, чтобы добавлялась ФИО Натальи, напротив тех обращений, где она перевела обращение из состояние Новое в работе. 

 

Спасибо.

 

 

 

 

 

 

 

 

Гриценко Игорь,

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

Спасибо

Мачулин Дмитрий,

если список строится по объекту "Обращение", то вывести ФИО сотрудника, который перевел обращение из статуса "Новое" в "В работе" не получится. В колонках списка по связанному объекту (в данном случае - "Жизненный цикл обращения") можно выводить только агрегирующие колонки (например, сумму или среднее значение по колонке "Продолжительность" или максимум/минимум по колонке "Дата изменения"). Так как ФИО того, кто изменил у каждой записи в жизненном цикле обращения свое, их никак нельзя собрать, просуммировать и т. п. Можно только вывести отдельным списком контактов (в одной колонке) и количество обращений, которые они перевели в работу.

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

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

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

Как можно это реализовать? 

Нравится

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

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

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

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

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

Почему автоматические не перебрасывает на страницу редактирования?

Нравится

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

Добрый день, Евгений!

В последних версиях bpm'online для элемента процесса "Сигнал"

появилось свойство "Выполнять в фоновом режиме"

 

Рекомендую выключить его и проверить работу процесса без этой функции

Гриценко Игорь,

Помогло, спасибо.

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