Публикация

Вопрос:

Осуществляем триггерную рассылку из кампании, но отклики получаем с перерывами в 2-3 дня.
Пробовали по рекомендации другого сотрудника поддержки менять шаг и триггер "шаг выполнен" кампании, но результат не изменился.
Как правильно настроить рассылку, чтобы всегда получать отклик?

Ответ:

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

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

Поделиться

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

Вопрос:

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

Пример кейса:
Пользователь1 проводит Верификацию1 (права по верификации по роли1). 
Далее Пользователь1 создает Верификацию2 и назначает ответственным Пользователя2.

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

Ответ:

Для автора записи права на запись выдаются по умолчанию. Это можно проверить в настройках прав доступа на запись: https://academy.terrasoft.ru/documents/base/7-13/prava-dostupa

Если вы хотите снимать эти права с пользователя-автора записи, вы можете воспользоваться бизнес процессом. 

Примеры настройки изменения прав доступа на записи с помощью процессов в этой статье: https://academy.terrasoft.ru/documents/technic-bpms/7-12/upravlenie-pravami-dostupa-v-ramkah-biznes-processa.

Поделиться

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

Вопрос:

При использовании функционала делегирования прав происходит непонятное распределение доступа.

Кейс:

Имеем пользователей системы №1, №2 и №3.

Для объекта Активности распределены права по записям:

В настройках пользователя права Пользователь №2  делегируем пользователю №1 и пользователю №3.

Как срабатывает делегирование сейчас:

Пользователи №1 и №3 получают права пользователя №2. При этом  пользователь №2 так же получает права на записи пользователей №1 и №3.

В настройках прав доступа активности, созданной под пользователем №1 отображается следующее:

Благодаря тому, что пользователь №2 получает права на просмотр записей обоих других пользователей, то пользователь №1 так же получает право на просмотр записей пользователя №3 и наоборот.

В конечном счете, все задействованные пользователи получают доступ ко всем записям объекта.

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

Ответ:

При делегировании прав Пользователь 3 и Пользователь 1 начинают неявно входить во все группы, в которые входит Пользователь 2. По сути это эквивалентно тому, что они оба бы вошли в эти группы в явном виде. Т.о. после делегирования:
 - Пользователь 2 по прежнему входит только в Подразделение1
 - Пользователь 3 входит уже не только в Подразделение2, но и в Подразделение1 (хотя это не отображается в списке его ролей)
 - Пользователь 1 входит уже не только в Подразделение3, но и в Подразделение1 (хотя это не отображается в списке его ролей)
 Т.о. в Подразделение1, пока активно описанное делигирование прав, входят все 3 пользователя.
 
 Учитывая настройки раздачи прав на новые записи по умолчанию, при создании новой записи Пользователем 3, права на эту запись получают Подразделение1 и Подразделение2 (при создании записи пользователем из Подразделение1 получают доступ все пользователи Подразделения1, аналогично Подразделение2 -> Подразделение2). 
 Поскольку, как описано выше, Пользователь 1 входит в Подразделение1, он также имеет право на просмотр записей, созданных остальными участниками Подразделение1.

Поделиться

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

Вопрос:

Настраивал аутентификацию через LDAP. Дошел до параметра, где есть возможность сделать сквозную авторизацию, установил нужный параметр, но при переходе на страницу портала все равно запрашивает запрашивает логин  и пароль  в виде аутентификации windows:

Если ввести данные один раз, то они сохраняются в кэше до перезапуска браузера.

Как решить вопрос с отображением окна доменной авторизации?

Ответ:

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

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

  • Internet Explorer

Браузер IE по умолчанию отправляет учетные данные ресурсу и дополнительный ввод логина/пароля не требуется.

  • Google Chrome

Переходим в настройки интернета на вкладку Security, выбираем Internet Zone и жмем на Custom Level.

Далее в самом низу выбираем User Authentication -> Logon -> Automatic logon with current user name and password.

Если мы не хотим настраивать для всех сайтов — можем добавить определенный адрес в доверенные (Trusted Sites) и для этой зоны выполнить соответствующие настройки.
Если сайт локальный, такие же настройки делаем для локальной зоны.

  • Firefox
  1. Запустите Firefox и в адресной строке введите about:config и нажмите ENTER.
  2. В строке фильтров укажите ключевой слово NTLM, в результате чего перед вами останется три параметра, нас интересует параметр   network.automatic-ntlm-auth.trusted-uris.
  3. Двойной  клик по данному параметру откроет окно с текстовым полем, куда можно внести список URL (через запятую), для которых будет поддерживаться автоматическая сквозная NTLM аутентификация. Формат такой: http://project-tc, https://work.bpmonline.com. Если необходимо добавить все сайты в домене (обычно это внутренний корпоративный домен), нужно указать: .bpmonline.com.

* Если окошко авторизации постоянно появляется при работе, вышеуказанные настройки выполнены, а ввод авторизационных данных не дает результатов (после ввода данных окошко появляется вновь и вновь), то необходимо открыть в браузере Developer Tools (Google Chrome) и посмотреть в секции Network последний запрос на сервер (причина окошка авторизации) перед появлением окошка. В таком примере был запрос вида /0/ServiceModel/MsgUtilService.svc/LogInMsgServer, и проблема решилась после очистки системной настройки "Библиотека обмена сообщениями по умолчанию".

 

* * To enable support for the WebSocket Protocol on Windows Server 2012, use the following steps:

1.Open Server Manager.

2.Under the Manage menu, click Add Roles and Features.

3.Select Role-based or Feature-based Installation, and then click Next.

4.Select the appropriate server, (your local server is selected by default), and then click Next.

5.Expand Web Server (IIS) in the Roles tree, then expand Web Server, and then expand Application Development.

6.Select WebSocket Protocol, and then click Next.

7.If no additional features are needed, click Next.

8.Click Install.

9.When the installation completes, click Close to exit the wizard.

Поделиться

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

Вопрос:

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

Ответ:

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

Поделиться

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

Вопрос:

Возникла необходимость разобрать массив с большим кол-вом данным.  На академии такой пример не рассмотрен.
В курсе о возможности парсинга массива при настройке параметров JSONPath, но это работает при условии возвращения одной записи в массиве. А как быть с большим кол-вом данных?

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

Вопросы:
Что за интерфейсы IObjectList/ICompositeObject/ICompositeObjectList<TObject>, и как обрабатывать такой конвертированный массив?
Можно-ли обработать массив из ответа веб-сервиса и как это сделать?

Веб-сервис http://hetzner1.k-matika.ru:64123/0/rest/KmWebService/GenderSearchContact?GenderName={значение}, выборка по полу {Male/Female}

Выборка полей по каждому контакту: Id, Name, Phone

Ответ:

Пример реализации:
Сервис (схема):

Рекомендации: используйте контракты для передачи объектов, для формирования json, используйте возможности newtonsoft.json
Бизнес-процесс:

Сервис


Настройки элемента "Вызвать веб сервис"


Настройки элемента "Задание-сценарий":

Поделиться

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

ICompositeObjectList представляет собой массив элементов ICompositeObject. Перебирается обычным циклом (foreach).
ICompositeObject - dictionary (ключ-значение).
Получить значение можно одним из 2х методов:
 

/// <summary>Returns inner value by key.</summary>
    /// <param name="key">The key.</param>
    /// <param name="valueType">Type of the value.</param>
    /// <param name="value">Result value.</param>
    bool TryGetValue(string key, Type valueType, out object value);
 
    /// <summary>Returns inner value by key.</summary>
    /// <typeparam name="TValueType">The type of the value.</typeparam>
    /// <param name="key">The key.</param>
    /// <param name="value">Result value.</param>
    bool TryGetValue<TValueType>(string key, out TValueType value);

 

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

Вопрос:

Можно ли загружать/выгружать пакеты в файловую систему, средствами WorkspaceConsole или другими методами, при этом не заходя в раздел [Конфигурация]?

Ответ:

Вышеперечисленные операции можно так же выполнить через WorkspaceConsole, установив в External tools (Visual Studio) эти команды (7.12.0.1808+

LoadPackagesToFileSystem [путь]\Terrasoft.Tools.WorkspaceConsole.exe (например, TSBpm\Bin\Debug\Terrasoft.Tools.WorkspaceConsole.exe)--operation=LoadPackagesToFileSystem --workspaceName=Default --webApplicationPath="[путь]\Terrasoft.WebApp" (например, TSBpm\Src\Lib\Terrasoft.WebApp.Loader\Terrasoft.WebApp)

 

LoadPackagesToDB [путь]\Terrasoft.Tools.WorkspaceConsole.exe--operation=LoadPackagesToDB --workspaceName=Default --webApplicationPath="[путь]\Terrasoft.WebApp"[v][v]

Примечание. Работа с флагом UseStaticFileContent.

При включенном флаге UseStaticFileContent для применения клиентских изменений модулей и объектов необходимо выполнить генерацию контента. Это действие выполняется при компиляции из приложения, а также из WorkspaceConsole.
При компиляции через WorkspaceConsole необходимо включить флаг UseStaticFileContent в app.config консоли.
В связи с тем, что для применения изменений необходимы дополнительные действия, использовать режим работы со статическим контентом НЕЛЬЗЯ при разработке исходных кодов в ФС.

Поделиться

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

Вопрос:

Как реализовать отображение кнопки "Прослушать" в разделе Звонки?
Запись звонка создана, прикреплен аудиофайл mp3, также есть ссылка на mp3 специально для этой кнопки. Как эту кнопку вывести?

Ответ:

Для прослушивания звонков используется базовый аудиоплеер HTML5. Пример его использования Вы можете посмотреть в схеме CallSectionV2 из пакет CTIBase. Поиск выполняйте по слову audio.

Поделиться

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

Вопрос:

Нужна интеграции с сервисами телефонии на базе решение Cisco Unified Communications Manager.
Нашёл коннектор с Cisco Finesse - https://marketplace.terrasoft.ru/app/bpmonline-finesse-call-centre
Но по ощущениям это разные вещи. Это тот коннектор? И есть ли какое-то решение?

Ответ:

Cisco Unified Communications Manager имеет несколько решений:
1) Unified Contact Center Enterprise (UCCE) - коннектор CTIOS (может работать как решение 2 и 3).
2) Unified Contact Center Express (UCCX) - коннектор finesse.
3) Решение, использующее TAPI драйвер. В этом случае Вам потребуется TAPI коннектор.

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

Поделиться

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

Вопрос:

Возможно ли встроить в iFrame на другом сайте окно bpm'online?
При загрузке iFrame, заранее получить авторизационные данные и отобразить пользователю не страницу входа в систему bpm'online, а конкретную запись (например, страницу контакта). 

Ответ:

В базовой версии системы стоит заголовок X-Frame-Options: DENY, возможность его вставки в iframe с другого домена запрещена.

Если Ваш сайт развернут на Ваших серверах (on-site), то заголовок X-Frame-Options можно изменить, указав нужный заголовок в файле web.config в корневой папке. В более старых версиях он также указывался в файле web.config в Terrasoft.WebApp.
Если сайт находится в облаке, то данную манипуляцию выполнить возможность отсутствует (согласно мерам безопасности).

Отключать заголовок X-Frame-Options можно на стороне клиента, т. е. за это отвечает браузер, не приложение. Могут быть полезными, например, расширения для браузера. Для Хрома есть вот такие расширения:
https://chrome.google.com/webstore/detail/ignore-x-frame-headers/gleekbfjekiniecknbkamfmkohkpodhe/related

Данные аутентификации Вы можете передать с помощью сервиса AuthService.svc. Документация по его использованию предоставлена на Академии: 
https://academy.terrasoft.ru/documents/technic-sdk/7-13/servis-autentifikacii-authservicesvc

Документация по использованию интеграции с iframe:
https://academy.terrasoft.ru/documents/technic-sdk/7-13/integraciya-storonnih-saytov-s-pomoshchyu-iframe

Поделиться

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