Существует ли возможность создание пользователя, функциональной или организационной роли с помощью бизнес процесса (или иным способом пр. скриптом в БП)?

 

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

 

Нравится

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

Добрый день.

Описанную логику можно реализовать с помощью ScripTask элемента в бизнес процессе.
Подробнее про элемент процесса [Задание-сценарий]:
https://academy.terrasoft.ua/docs/7-17/user/biznes_processy/spravka_po_…

Также вы можете создавать пользователя с помощью событийного слоя, подробнее на сайте:
https://academy.terrasoft.ua/docs/7-17/developer/back_end_razrabotka/bi…

Также рекомендую ознакомиться с другим постом, в нем подробно рассматривалась логика добавления пользователя:
https://community.terrasoft.ua/questions/zapusk-processa-po-sozdaniyu-p…

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

Добрый день. Было установлено приложение Invoice payment schedule for Creatio, в котором есть поле Плановая дата, которое автоматически заполняется в Исходном коде InvoicePaymentScheduleManager пакета InvoicePaymentsSchedule. Можно ли убрать эту логику? 

Нравится

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

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

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

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

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

Нравится

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

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

Владимир Соколов,

Старые версии бизнес процессов можно удалять через конфигурацию. Для того, чтобы понять, какую версию БП нужно удалить - необходимо знать Название версии БП (не заголовок). Его можно посмотреть в Дизайнере процессов, открыв данную версию. На вкладке "Настройки" в пол "Имя".

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

Добрый день!
 

Был ли у кого-то опыт отображения конструктора процесса в карточке объекта?

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

 

В стиле того, как это сделано в "кампаниях" продукта маркетинг

Нравится

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

Вадим, добрый день!

Чисто технически возможно реализовать что-то подобное на схему кампании, однако, для этого необходимо большое  количество трудозатрат. Наподоби вкладки "Обработка" в обращениях, "Схема кампании" является уникальным функционалом для раздела. Для его повторение необходимы навыки разработки, системой не предусмотрено повторение такого пользовательскими средствами. Если же вы всёже желаете это реализовать, то необходимо будет проанализировать содержимое пакетов Campaigns, CampaignDesigner, CampaignElements и тд.

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

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

Добрый день!
Выполняю автонумерацию записей по статье:
 https://academy.terrasoft.ru/docs/developer/elements_and_components/bas….
На клиентской части все работает.
На серверной части Номер записи не формируется,
стал разбираться - не срабатывает действие [сгенерировать номер по порядку],
класс объявлен, но никакой обработки в нем нет:
public partial class GenerateSequenseNumberUserTask
    {
    }

Как на данный момент формируется автонумерация через БП?

Версия 7.17.4.

Нравится

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

Реализация лежит в файле GenerateSequenseNumberUserTaskPartial

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

Добрый день.

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

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

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

  Права все выданы как и на операции так и по записям - 100%.
*Компилировал, генерировал схемы, чистил редис.
**Что интересно, для все старых схем права работают.

 

Нравится

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

Посмотрите, есть ли ваши объекты в справочнике "список объектов, доступных пользователю портала"

Посмотрите, есть ли ваши объекты в справочнике "список объектов, доступных пользователю портала"

Трефилов Павел Сергеевич,

Spasibo!

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

При создании сценария через JMeter создаются обращения и переводятся в работу. Необходимо чтобы и наряды переходили в статусы дальше, но через штатные решения jmetr'а решения не было найдено. Пришла идея что возможно нужно что-то отключить в системе, потому что отправляя запросы со сгенерированными через jmeter guid для нарядов система заменяет на автоматически созданные. У кого какие есть идеи? Возможно ли отключить проверку и ставить свои значения?

Нравится

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

Можете написать свой сервис и в методе этого сервиса менять статус обращения и сохранять обращение без валидации полей.

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

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

Нужно смотреть, какие запросы к DataService или другим стандартным сервисам Вы отправили. Например, в Fiddler или встроенными средствами браузера.

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

Доброго дня, имеется bpm которая при GET запросе 0/ServiceModel/EntityDataService.svc/ContactColletion возвращает xml с контактами, можно ли GET запросом возвращать JSON и если да, то где про это написанно? Если нельзя, то как вернуть JSON для oData 3?

Нравится

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

Добавьте header к запросу

Accept: application/json;odata=verbose

Добавьте header к запросу

Accept: application/json;odata=verbose

я смог сделать это в постмане, но все же не понятно, мб подскажете возможно ли в террасофте возвращать json по обращению к uri, если можно сделать это не переписывая сервис, буду благодарен за подсказку)
условно я иду по адресу /0/ServiceModel/EntityDataService.svc/ContactCollection и мне падает 
 

{

    "d": {

        "results": [

            {

                "__metadata": {

                    "id": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…",

                    "uri": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…",

                    "type": "Terrasoft.Configuration.Contact"

                },

                "Photo": {

                    "__deferred": {

                        "uri": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…"

                    }

                },

                "Owner": {

                    "__deferred": {

                        "uri": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…"

                    }
...и т.д.

Насколько понял, только заголовком. Такой формат здесь не поддерживается: «ContactCollection?$format=json». А в OData 4 по умолчанию идёт JSON.

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

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

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

Собственно вопрос - кто как работает и оповещает пользователей о технических работах в системе?

Нравится

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

Ну помимо предложенного способа с Бп, есть таблицы в базе данных. Можете подсоединится, вытянуть активных пользователей и уже как-то уведомить их письмом на почту, в мессенджер и т.д Сделать это можно прямо на сервере где развернут IIS простой консолькой на c#, запуск консольки делать планировщиком Windows по таймеру или триггеру

Ну помимо предложенного способа с Бп, есть таблицы в базе данных. Можете подсоединится, вытянуть активных пользователей и уже как-то уведомить их письмом на почту, в мессенджер и т.д Сделать это можно прямо на сервере где развернут IIS простой консолькой на c#, запуск консольки делать планировщиком Windows по таймеру или триггеру

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

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

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

Добрый день,

 

При попытке зайти в Террасофт установленный на сервере (Windows Server 2008 R2 Enterprise), возникает ошибка:

К сожалению, многочисленные попытки решить данную проблему не принесли результата.

Также было замечено, что при добавлении новой конфигурации при нажатии на кнопку выбора имени драйверов Oracle (Home) возникает другая ошибка:

Насколько я понял проблема возникает из-за того, что на сервере были установлены несколько версий Oracle и в данный момент версия 11.2.0 отсутствует на сервере. Вместо нее установлена версия 12.2.

Попытка очистить следы Oracle 11.2.0 и в дальнейшем даже переустановка Oracle привела лишь к тому что в данный момент выходит пустой список в котором невозможно выбрать версию Oracle:

 

Прошу помочь в решении данной проблемы.

 

Благодарю.

 

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

Нравится

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

Обратите внимание на рекомендацию по поводу «Ошибка открытия конфигурации: Cannot find OCI DLL»:

Для приложения Terrasoft под Oracle обязательно необходимо, чтобы на компьютерах всех пользователей, использующих конкурентные лицензии, был установлен клиент Oracle одной и той же версии. Имя сервера на компьютерах всех пользователей должно совпадать с именем, указанным в поле [Сервер] окна редактирования строки соединения компьютера, на котором заказывают и загружают лицензии, и данный сервер должен быть зарегистрирован. Имя сервера прописывается в файле tnsnames.ora, расположенном в инсталляционной директории клиента Oracle (например, d:/oracle/ora92/network/admin/ tnsnames.ora).

Также версия ядра 3.3.2.120 далеко не самая новая, есть смысл попробовать на последних файлах 3.3.2.313, поскольку в версии 175 и выше вносились изменения в механизм работы с сервером сессий для Oracle.

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

Для получения бекапа существующей базы нужно воспользоваться средствами СУБД, а также не забыть автоматически перенести или вручную завести пользователей с такими же именами, как в базе, на уровне сервера БД. Именно для Oracle инструкции не встречал. Например, для MS SQL это делается так. Если забыть перенести, то пустит только администратора SYS.

Зверев Александр пишет:
Для приложения Terrasoft под Oracle обязательно необходимо, чтобы на компьютерах всех пользователей, использующих конкурентные лицензии, был установлен клиент Oracle одной и той же версии. Имя сервера на компьютерах всех пользователей должно совпадать с именем, указанным в поле [Сервер] окна редактирования строки соединения компьютера, на котором заказывают и загружают лицензии, и данный сервер должен быть зарегистрирован. Имя сервера прописывается в файле tnsnames.ora, расположенном в инсталляционной директории клиента Oracle (например, d:/oracle/ora92/network/admin/ tnsnames.ora).

Добрый день. Данная проблема наблюдается на самом сервере (невозможно зайти в Terrasoft установленный на сервере).

По поводу бэкапа, посмотрю, большое спасибо за помощь.

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