7.14_()
Service_Creatio_()

Добрый день ! Необходимо построить запрос к DataService SelectQuery() с фильтром по следующему условию:

where s."StnServiceBillingId" in (400000521, 400000522) and s."StnProductId"= '4d254a15-8236-46b1-bb95-39584223e792'

Подскажите правильный c# код добавления такого фильтра через DataService SelectQuery

 

Нравится

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

Не факт, что сервис умеет с условием in. Преобразуйте в обычный фильтр из трёх условий, соединённый условиями «и» и «или». Посмотреть пример запроса с фильтрами можно прямо в разделе, настроив сложный фильтр, применив его, а затем посмотрев уходящий JSON-запрос в Fiddler или «инструментах разработчика».

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

Спасибо, получилось через группу фильтров вида ((id=1) or (id=2))

Показать все комментарии
Портал самообслуживания
сообщения
7.15_()
Service_Creatio_()

При создании портального сообщения из БП происходит его создание во вкладке "Хронология" обращения, но само сообщение не появляется во вкладке "Обработка".

Каким образом перенести сообщение в обработку? (как я понимаю, оно просто не публикуется, хотя признак установлен)

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

Нравится

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

Попробуйте найти в PortalMessage запись о корректно отображаемом пользователям портала сообщении и сравнить с Вашим, создаваемым в БП. Возможно, отличаются значения полей (в частности, HideOnPortal и IsNotPublished) или в связанной таблице прав доступа не хватает разрешений портальным пользователям на эту запись.

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

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

"Хронология" (поле опубликован так же выставлял как "Да"). Сообщение не отображается в "Обработке" нигде (ни в системе, ни на портале, ни под один пользователем)

Проблема найдена - не было указано значение поля

"Уникальный идентификатор схемы". Нет ли ни у кого решения как можно получать данный идентификатор стандартными методами из БП?

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

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

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

Так он же везде одинаковый для одинакового раздела, независимо от версии и даже вертикали.

Если Вам нужно именно программно по названию объекта, то:

var ContactSchemaUId = UserConnection.EntitySchemaManager.GetInstanceByName("Contact").UId;

 

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

Всем доброго дня. Версия 7.15.

Сделали анонимный сервис по инструкции: https://academy.terrasoft.ru/documents/technic-sdk/7-15/sozdanie-anonimnogo-veb-servisa

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

Общий вид кода примерно такой:

var activityId = entity.GetTypedColumnValue<Guid>(colId.Name);
Entity entityActivity = entitySchema.CreateEntity(SystemUserConnection);
entityActivity.FetchFromDB(activityId);
                
entityActivity.SetColumnValue("WSFromService", true);
// Сохранение измененного объекта в базе данных.
entityActivity.Save(false);

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

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

Как всё-таки вызвать сигнал?

Нравится

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

Мне кажется самый простой способ в вашем случае запускать БП кодом, на этом форуме множество примеров как это реализовать. Например посмотрите эту ветку форума.

 

Мне кажется самый простой способ в вашем случае запускать БП кодом, на этом форуме множество примеров как это реализовать. Например посмотрите эту ветку форума.

 

Показать все комментарии
email-шаблон
7.13_()
Service_Creatio_()

Добрый день.

Удалось в шаблон email достать из детали запись.

А как достать вторую запись из детали, если их не одна?

 

Нравится

1 комментарий
7.14_()
Service_Creatio_()

Добрый день!

В событийном подпроцессе "При сохранении" объекта Obj в пакете Package1 имеется метод, реализация которого мне совершенно не нравится, но пакет залочен и вносить изменения в его исходном коде я не могу. Для этого у меня есть дочерний пакет Package2 с замещающим объектом Obj, в котором я создал другой класс с исправлением данного метода и передал в него сущность объекта на обработку. В результате мой метод отработал, но также отработал и метод из Package2, чего мне не нужно. Каким образом мне изменить(расширить) метод из Package1??

Нравится

1 комментарий
Портал самообслуживания
7.15_()
Service_Creatio_()

Каким образом возможно протестировать портал самообслуживания в рамках тест-драйва продуктов service? В тестовых системах в наличии только лицензия bpmonline ITIL service customer portal on-demand, а Self-Service Portal отсутствует.

Так же есть следующий вопрос - мобильное приложение не поддерживает портальных пользователей. Планируется ли мобильно приложение для портала самообслуживания?

Нравится

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

Портал самообслуживания доступен для таких продуктов: Service customer center, Service enterprise и Financial Services customer journey. Дополнительных лицензий не нужно, на демо-версии уже есть «Портальный пользователь 1» с доступом на Self Service Portal:

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

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

Добрый день!



Можно ли на коммуникационную панель выводить кол-во элементов в едином окне? (без танцев с бубном и изменением модулей в версии 7.13)

Нравится

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

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

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

Всем добрый день. Версия 7.12.

Есть стандартная функциональность комментирования - Лента https://academy.terrasoft.ru/documents/customer-center/7-14/predstavlenie-lenta

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

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

Нравится

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

Логика детали ленты сделана в схеме SocialFeed, там при нажатии кнопки «Опубликовать» или Enter на клавиатуре вызывается функция onPostPublishClick.

Как вариант, добавить в интересующий раздел новое логическое поле (не забыв запретить его менять тем, кому не надо) и в доработанной onPostPublishClick проверять это значение у текущей записи раздела, если такое поле в разделе есть. Или сделать проверку в вызываемой при обновлении детали функции initModuleViewModel, а также функции onRender, чтобы при запрете отключить возможность отправки вообще.

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

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

Добрый день ! Тестирую метод создания пользователей через DataService.

Предварительно авторизуюсь через POST http://localhost/ServiceModel/AuthService.svc/Login от имени supervisor. В BPM supervisor имеет орг.роль System administrators, с разрешением управления справочником пользователей. После авторизации добавляю header BPMCSRF в заголовок запроса POST http://localhost/0/DataService/json/reply/InsertQuery.

Получаю ответ 500 SecurityException

"responseStatus": {

    "ErrorCode": "SecurityException",

    "Message": "Текущий пользователь не имеет прав на объект \"SysAdminUnit\"",

    "Errors": []

  }

Просьба прокомментировать, каких прав пользователю supervisor не хватает для создания пользователя в SysAdminUnit, возможно надо использовать другой способ

Текст запроса создания пользователей и ответ приложены

 

 

Нравится

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

См. причину тут.

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

Есть ли рабочее решение для программного создания пользователей через DataService или другой интерфейс ?

Страница UserPageV2 работает через методы AdministrationService, такие как метод UpdateOrCreateUser.

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

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

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

Нравится

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

На сколько я помню - никак. Используйте преднастроенную страницу.

На сколько я помню - никак. Используйте преднастроенную страницу.

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