Добрый день. я хочу показать более подробную ошибку пользователю, который запускает бизнесс процесс из кастомной кнопки. Бизнесс процесс запускает C# код, который бросает исключение. Но я не могу найти информацию по результатам выполнения бизнесс процесса.

Я получаю вот такой JSON в коллбеке ProcessModuleUtilities.executeProcess

 

'"{\\"message\\":\\"Произошла ошибка во время выполнения процесса. Пожалуйста, проверьте журнал процессов для получения детальной информации\\",\\"success\\":false,\\"errorInfo\\":{\\"initialConfig\\":{\\"errorCode\\":null,\\"message\\":\\"Произошла ошибка во время выполнения процесса. Пожалуйста, проверьте журнал процессов для получения детальной информации\\",\\"stackTrace\\":null},\\"errorCode\\":null,\\"message\\":\\"Произошла ошибка во время выполнения процесса. Пожалуйста, проверьте журнал процессов для получения детальной информации\\",\\"stackTrace\\":null,\\"instanceId\\":\\"8a078ebd-540c-476a-aab0-98fa4c42ce83\\",\\"hasListeners\\":{},\\"events\\":{\\"destroyed\\":true}}}"'

 

Здесь есть instanceId (8a078ebd-540c-476a-aab0-98fa4c42ce83), но когда я пробую сделать поиск по нему в базе данных, то не нахожу никакой ошибки. 

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

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

 

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

 

Как другим способом можно найти ошибку выполнения бизнесс процесса который запускает C# код?

 

Спасибо

Нравится

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

Или может быть я делаю неправильно когда кидаю исключение в бизнес процессе. Как правильно создать исключение, если бизнес процесс должен быть остановлен?

Добрый день, instanceId о котором вы говорите не совсем относиться к бизнес-процессу. В данном случае удобнее всего искать в SysProcessLog сортировав его по дате создания и добавив фильтр на название нужного процесса. 

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

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

Добрый день. Возможно ли данный функционал добавить? Это выглядит очень удобно когда надо при нажатии на кнопку запустить бизнесс процесс и показать ошибку если она появилась.

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

Подскажите, пожалуйста как использовать созданные страницы созданные в Freedom UI Designer

Нравится

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

Добрый день!



Страницы будут доступны для использования сразу же после создания интерфейса данной страницы.



Больше информации о настройке станиц в новом Freedom UI дизайнере можно найти здесь.



С уважением,

Богдан

 

Спасибо!

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

Как реализовать функционал который позволит в письме поставить кнопку при нажатии которой в Creatio запуститься процесс? 

-------------



1 - Мы отправляем письмо с кнопкой контакту

2 - пользователь получает письмо в почте email

3 - нажимает в письме на кнопку 

4 - в Creatio запускается процесс

Нравится

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

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



Для выполнения подобной логики реализован сервис ProcessEngineService.svc( подробнее тут). 



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



С уважением,

Юрий.

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



Для выполнения подобной логики реализован сервис ProcessEngineService.svc( подробнее тут). 



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



С уважением,

Юрий.

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

Доброго дня. 

В нас є продукт, в якому близько 15 нових розділів.

Звісно є потреба "конвертувати" його у новий пакет та перевести до нового дизайну. 

Спробували це зробити на 8.0.1 та 8.0.2. Не дивлячись на помилки які є зараз не хватає створення розділу та деталі по наявному об'єкту.



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

 

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

Богдан, добрий день!

 

Вже є зареєстроване побажання щодо створення розділу та деталі по об'єкту. Ми додамо ваше звернення для підвищення пріоритету реалізації функціоналу в майбутніх версіях.

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

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

Нравится

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

Добрый день.



Вы можете ознакомиться с инструкцией по работе с push-уведомленями на сайте академии:

https://academy.terrasoft.ua/docs/7-17/user/biznes_processy/primery_nas…



Подробная информация по работе с коллекциями данных:

https://academy.terrasoft.ua/docs/user/biznes_processy/nastrojka_proces…



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



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

Спасибо за ответ. Это всё понятно. Вопрос был именно в реализации, а не в теории. 

 

Разобрался сам - в коллекцию нужно брать "Объекты администрирования", которые относятся к нужной очереди.



Может кому-то это поможет

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

Здравствуйте, установили приложение https://marketplace.terrasoft.ua/template/vydelenie-cvetom-zapisey-v-razdele-zakazy на дев среду (установись успешно по логу),  при загрузке в разделе Заказы, выдает ошибку в консоле:

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

Текущая версия:

Sales, 8.0.2.2446

Делали полную компиляцию, не помогло.

Нравится

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

Анастасия, добрый день!

Проверил пакет на аналогичной сборке. Ошибка не воспроизвелась.

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

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

Прошу также проверить этот кейс на чистой сборке последнего релиза.

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

Хочу добавить в сотрудники в Карьеру фильтруемое справочное поле, не получается составить запрос

"DerivedClients": {

                                "dataValueType": Terrasoft.DataValueType.LOOKUP,

                                "lookupListConfig": {

                                     /* Массив фильтров, которые применяются к запросу для формирования данных поля-справочника. */

                                    "filters": [

                        function() {

                            var filterGroup = Ext.create("Terrasoft.FilterGroup");

                            filterGroup.add("IsUser", Terrasoft.createColumnIsNotNullFilter("[SysAdminUnit:Account].UsrLookup3"));

                            filterGroup.add("IsActive",

                                Terrasoft.createColumnFilterWithParameter(

                                    Terrasoft.ComparisonType.EQUAL,

                                    "[SysAdminUnit:Account].UsrLookup3",

                                    true));

                            return filterGroup;

                        }

                    ]

                              }

                        },

нужно сравнить со значением справочника "наш сотрудник" только не понимаю как, накорябал что-то но не уверен что это правильно

Нравится

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

Александр, добрый день!

Привожу пример построения фильтра по справочному полю.

Есть объект StTrip и необходимо отфильтровать справочное поле StTransport по определённому параметру:

"StTransport": {
                "dataValueType": Terrasoft.DataValueType.LOOKUP,
                "lookupListConfig": {
                    "filters": [
                        function() {
                            var filterGroup = Ext.create("Terrasoft.FilterGroup");
                            filterGroup.add("IsActive",
                                Terrasoft.createColumnFilterWithParameter(
                                    Terrasoft.ComparisonType.GREATER,
                                    "[StTransport:Id].StMaxWeight",
                                    this.get("StWeight")));
                            return filterGroup;
                        }
                    ]
                }
            }

Обратите внимание на формулировку StTransport:Id. Надеюсь данный пример поможет вам с вашей задачей.

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

В итоге я сделал как в документации, переопределил модуль EmployeeCareerPag

схему  

define("EmployeeCareerPage", [], function() {
    return {
        /* Название схемы объекта страницы записи. */
        "entitySchemaName": "Employee",
        /* Атрибуты модели представления. */
        "attributes": {
            /* Колонка модели представления. */
            "DerivedClients": {
                /* Тип данных колонки модели представления. */
                "dataValueType": Terrasoft.DataValueType.LOOKUP,
                /* Конфигурационный объект атрибута типа LOOKUP. */
                "lookupListConfig": {
                    /* Массив фильтров, которые применяются к запросу для формирования данных поля-справочника. */
                    "filters": [
                        function() {
                            var filterGroup = Ext.create("Terrasoft.FilterGroup");
                            //filterGroup.add("IsUser", Terrasoft.createColumnIsNotNullFilter("[Account:UsrLookup3].Id"));
                            filterGroup.add("IsUser", Terrasoft.createColumnIsNotNullFilter("[Account:AccountType].Name"));
                            filterGroup.add("IsUser",
                                Terrasoft.createColumnFilterWithParameter(
                                    Terrasoft.ComparisonType.EQUAL,
                                   "[Account:AccountType].Name" === "наш сотрудник",
                                    true));
                            return filterGroup;
                        }
                    ]
                }
            }
        }
    };
});

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

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

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

Нравится

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

Добрый день, Никита!

 

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

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



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

На самом деле можно достать идентификатор пользователя Телеграм. Таблица с идентификаторами как раз зарегистрирована как объект (ContactIdentity).



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




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

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

При тестировании приложения Zoom Meeting (https://marketplace.terrasoft.ua/app/zoom-meeting-connector-creatio) столкнулась с вопросом, почему при переходе по ссылке у участника просит регистрацию и как это изменить, потому что при создании встречи в зум вручную сбрасываешь приглашение и никаких проблем нет. Несколько скринов: 

Нравится

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

Елена, добрый день!

Со своей стороны провели полную настройку. Кейс не удалось воспроизвести. Прошу направить скриншоты настройки приложения в зуме, а также пошагово описать действия в Creatio для воспроизведения проблемы.

то есть, вы когда в Creatio создали активность, поставили галочку Zoom и другой пользователь пытается перейти по ссылке его сразу пускает без регистрации?

настройки приложения в zoom

Елена, добрый день!

Кейсы воспроизвели в базовой сборке и передали на анализ разработчикам решения. 

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

Есть ли список всех формул (к примеру Reverse().ToArray() и тд.), которые могут использоваться в елементе Формула в Бизнес-процессе?

Нравится

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

Максим, добрый день!

Данная информация подробно описана в статье на академии:

https:/academy.terrasoft.ua/docs/user/biznes_processy/nastrojka_processov/formuli/formuly_v_biznes-processakh

Формулы в бизнес процессах работают с С#.

С уважением, Алексей.

Aleksei Efimenko,

Спасибо, Алексей.

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