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

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

Нравится

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

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

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

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

спасибо

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

Добрый день.

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

Terrasoft Customer Center Creatio

Нравится

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

Здравствуйте! Здесь Вам в помощь "Действия Cti панели". При звонке на Cti панели будут отображаться действия которые запускают ранее написанный Бизнес-процесс - https://prnt.sc/v4em3z

Описано в данной статье - https://academy.terrasoft.ru/documents/administration/7-16/chasto-zadav….

Предварительно создайте БП со станицей редактирования контакта в режиме добавления новой записи - https://prnt.sc/v4eo74.

Затем перейдите в Справочники и найдите справочник "Действия Cti панели" и добавьте действие с подвязкой к нему ранее созданного БП - https://prnt.sc/v4eqmn

Здравствуйте! Здесь Вам в помощь "Действия Cti панели". При звонке на Cti панели будут отображаться действия которые запускают ранее написанный Бизнес-процесс - https://prnt.sc/v4em3z

Описано в данной статье - https://academy.terrasoft.ru/documents/administration/7-16/chasto-zadav….

Предварительно создайте БП со станицей редактирования контакта в режиме добавления новой записи - https://prnt.sc/v4eo74.

Затем перейдите в Справочники и найдите справочник "Действия Cti панели" и добавьте действие с подвязкой к нему ранее созданного БП - https://prnt.sc/v4eqmn

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

Коллеги, мне необходимо реализовать БП, где триггер - добавление обращения в очередь, см. скриншот

 

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

 

Прикрепленные файлы

Нравится

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

Татьяна, на вопрос «почему» ответить несложно: вся логика наполнения этой таблицы реализована в БП «Процесс наполнения очередей единого окна», где вызывают логику функции ProcessAutoUpdateQueues из QueuesUpdateUtilities.

 

Там добавление идёт при помощи Insert, который не вызывает событий:

  /// <summary>
  /// Adds elements from queue with filtration.
  /// </summary>
  /// <param name="entitySchemaName">Entity schema name of queue element.</param>
  /// <param name="entitySelect">Query to queue object with filtration.</param>
  /// <param name="queueId">Identifier of queue.</param>
  /// <param name="queueName">Queue name.</param>
  /// <param name="itemsCount">Count of not handled elements in queue.</param>
  /// <returns>Added queue items count.</returns>
  private int AddEntityQueueItemsByFilter(string entitySchemaName, Select entitySelect, Guid queueId,
    string queueName, int itemsCount) {
   try {
    if (itemsCount >= _maximumQueueItemsInQueue) {
     QueuesUtilities.LogWarn(string.Format(GetResourceValue("QueueMaximumItemsWarning"), queueName));
     return 0;
    }
    entitySelect.Top(_insertQueueItemTopValue)
     .Column(new QueryParameter("QueueId", queueId)).As("QueueId")
     .Column(new QueryParameter("StatusId", _newQueueItemStatusId)).As("StatusId");
    var selectCondition = new QueryCondition();
    selectCondition.IsNot = true;
    selectCondition.Exists(
     new Select(_userConnection)
      .Column("QueueItem", "Id")
     .From("QueueItem")
     .InnerJoin("QueueItemStatus")
     .On("QueueItemStatus", "Id").IsEqual("QueueItem", "StatusId")
     .Where(entitySchemaName, "Id").IsEqual("QueueItem", "EntityRecordId")
     .And("QueueItem", "QueueId").IsEqual(Column.Parameter(queueId))
     .And("QueueItemStatus", "IsFinal").IsNotEqual(Column.Parameter(true)));
    if (!entitySelect.HasCondition) {
     entitySelect.Where(selectCondition);
    } else {
     entitySelect.And(selectCondition);
    }
    var insertSelect = new InsertSelect(_userConnection)
     .Into("QueueItem")
     .Set("EntityRecordId", "QueueId", "StatusId")
     .FromSelect(entitySelect);
    DateTime addedRecordsStartTime = DateTime.Now;
    int addedRecords = insertSelect.Execute();
    if (addedRecordsStartTime.AddSeconds(60) < DateTime.Now) {
     insertSelect.BuildParametersAsValue = true;
     QueuesUtilities.LogDebug(string.Format(GetResourceValue("LongInsertQueueItemsMessage"),
      queueName, _autoUpdateQueuesProcessId.ToString(), insertSelect.GetSqlText()));
    }
    return addedRecords;
   } catch (Exception e) {
    QueuesUtilities.LogError(string.Format(GetResourceValue("InvokeMethodErrorMessage"),
     string.Concat("AddEntityQueueItemsByFilter ", queueName), e.Message), e);
    throw;
   }
  }

Аналогично и с удалением из очереди.

Сам процесс запускается по планировщику, задание создаётся в QueuesUtilities в функции UpdateQueuesTrigger.

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

 

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

Благодарю за подробный ответ!

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

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

 

Не могу разобраться с правами доступа на очереди.

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

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

Если не настраивать права на объект очереди, то у операторов работает всё корректно, НО они получают доступ так же к Настройкам очередей.

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

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

 

Как настроить права таким образом, чтобы операторы могли работать в Едином Окне с процессами, как и сейчас, но не имели возможность менять Настройки Очередей, если возможно вообще не могли найти этот объект.

Нравится

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

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

 

Можно ограничить права на изменения, создание и удаление очередей, к сожалению, чтение придется оставить.

 

Например, если настроить права доступа так (см. вложение). Пользователь сможет видеть очередь, но не сможет с ними что-то сделать.

 

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

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

Здравствуйте, Игорь,

 

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

 

Версия 7.13

Тимур, здравствуйте! 

 

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

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

 

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

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

Добрый день! Согласно информации на академии: "Мобильное приложение доступно только для пользователей основного приложения Creatio и не может использоваться пользователями портала".

Чем это ограничение обусловлено?

Кейс следующий: есть мобильное приложение (нативное), которое надо прикрутить к CRM.

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

 

Нравится

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

Searcher, насколько я понял, в стороннем нативном приложении вы хотите взаимодействовать с api creatio(beckend) к примеру через DataService, как делает МП Creatio? Тогда ответ - да, можно. Мобильный клиент работает по тому же принципу что и любой web клиент, если есть открытое api - оно будет работать везде одинаково. Готовых решений(или хотябы набросков на эту тему) не встречал.

Добрый вечер.

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

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

Аналогичный вопрос рассматривался в статье:

https://community.terrasoft.ru/questions/licenzia-self-service-portal

Хочу уточнить, под нативным мобильным приложением имелось ввиду стороннее приложение (нативное для устройств IOS/Android).

МП Creatio относится к гибридным согласно информации на Академии.

Если я правильно понял, ограничений на подключение нет и через любое приложение можно обратиться к API CRM.

Пользователи Портала и мобильного приложения одни и те же. Поэтому возникает огромное желание прикрутить мобильное приложение как клиент к CRM, которое через API использует методы портала для получения/передачи данных. Это жизнеспособная схема?

 

Searcher, насколько я понял, в стороннем нативном приложении вы хотите взаимодействовать с api creatio(beckend) к примеру через DataService, как делает МП Creatio? Тогда ответ - да, можно. Мобильный клиент работает по тому же принципу что и любой web клиент, если есть открытое api - оно будет работать везде одинаково. Готовых решений(или хотябы набросков на эту тему) не встречал.

Kuchma Ivan,

Да, мы хотим взаимодействовать с api creatio (backend) через DataService с префиксом SSP и вызывать кастомные сервисы: аутентификация, авторизация и т.д.

Спасибо.

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

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

Спасибо, насчет разделения в курсе, поэтому пишу выше префикс ssp

Вы удалили последний ответ Кучмы Ивана по какой причине? Он содержал ошибку?

Ответ не удалили, а выбрали лучшим, после чего он сдвинулся вверх.

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

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

Нравится

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

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

 

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

 

Но макрос можно запустить только уже при открытии в самом Excel.

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

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

макросом я называю код который содержится в Excell файле .

да -Бейсик, Александр - Есть пример ? Может подскажите решение.

Мы купили систему 2 месяца назад, так что простите за может элементарные вещи. Задача - необходимо сформировать отчет в котором много расчетных полей сложение, проценты и тд. пробовал реализовать на фастрепорт и ворд - не то, при формировании в ворде необходимо создавать расчетные поля, поля создаются в таблице это ни к чему , ранее решал аналогичные задачи - передается из ПО курсор (сформировнаная таблица) и в сохраненном шаблоне  Excel  запускается курсор, все преобразования и красота реализуются уже  в excele , что-то подобного нет ? какой путь порекомендуете?

Попробуйте сторонние дополнения для выгрузки в Excel из маркета. Например, Excel reports builder или Advanced excel reports. В них заявлено использование шаблона файла с форматированием и формулами. Наверное, и макросами.

посмотрел, все отлично. спасибо, но не то.

Отвечаю на изначальный вопрос: нет, запускать макрос на Бейсике в момент генерации печатной формы нельзя. Производите все расчёты на уровне логики в системе, либо настроенными в ячейках Excel-файла шаблона формулами.

Спасибо

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

Коллеги,  подскажите 

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

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

Нравится

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

Здравствуйте! Деталь привязывается к разделу при настройке карточки редактирования записи раздела как через мастер раздела так и через Конфигурацию. 

Например:

В моем случае это карточка раздела Страховка - https://prnt.sc/ttpycc, я подвязываю деталь транспортное средство.

Так же прочтите данную статью.

Здравствуйте! Деталь привязывается к разделу при настройке карточки редактирования записи раздела как через мастер раздела так и через Конфигурацию. 

Например:

В моем случае это карточка раздела Страховка - https://prnt.sc/ttpycc, я подвязываю деталь транспортное средство.

Так же прочтите данную статью.

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

Спасибо, все получилось - первые шаги.

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

Добрый день!

Вопрос: Как работать с массивом?

Работаю с API Telegram через Веб-сервисы

Настроил отправку сообщений через метод sendMessage

Так же настроил обработку ответа через Быструю настройку по примеру ответа

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

Настраиваю получение сообщений через метод getUpdates

Там основная задача это обработать ответ, так же по примеру ответа, все хорошо распознает

создает все переменные с которыми можно работать

Но через какой-то массив.

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

И все эти переменные недоступны для работы в редакторе процесса

А доступен массив целиком

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

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

Собственно вопрос, как работать с этим?

Нравится

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

Если в параметр БП реально попадает строка с массивом, сериализированным в JSON, его можно разбирать программно в блоке-скрипте.

 

Либо же настроить параметры так, чтобы каждый выбирался отдельно, как писал выше.

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

Зверев Александр, создало все хорошо, только я не могу понять как с ними работать в редакторе БП, там доступен только этот массив "Тело ответа сервиса" (3 скрин)

Если в параметр БП реально попадает строка с массивом, сериализированным в JSON, его можно разбирать программно в блоке-скрипте.

 

Либо же настроить параметры так, чтобы каждый выбирался отдельно, как писал выше.

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

Спасибо, разобрался, добавил вручную все необходимые параметры. JSONPath проверял с помощью сервиса 

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

Добрый день!

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

Нравится

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

Денис, о каких именно уведомлениях речь?

 

Если это записи в таблице Reminding (Уведомление), можно включить администрирование по записям и нужным записям сразу выдавать права на чтение только тем, кому надо. Это можно в БП на событии создания (проверяя, что именно по активности с определёнными названием или связями с обращением) или, если возможно, доработать сам код, где запись создают.

 

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

 

Аналогично для записей в ленте в таблице ESNNotification (Уведомление ленты).

 

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

 

Или речь о уведомлениях в виде писем, которые отправляет система? Они отсутствуют стандартно и добавлены в дополнениях. Соответственно, поможет удаление такого дополнения или отключение ненужного БП, которые входят в устанавливаемый пакет.

Добрый день!

Аналогичный вопрос!

Как можно ограничить видимость отдельного элемента коммуникационной панели для определённых групп?

 

Создать операцию, выдать группам права на неё, а в коде страницы, где эта кнопка, привязать видимость к проверке на эту операцию.

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

Добрый день!

Цель: Кастомизировать страницу самостоятельной регистрации на портале самообслуживания. 

Описание: Т.е. нам необходимо скорректировать  существующие поля и добавить новые.

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

 

Вопрос: Кто-то сталкивался с таким? Подскажите пожалуйста, как решить проблему?

Нравится

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

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

 

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

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