Hi community!

How are you?

Any example for call a API Rest from c# script in a businessProcess?

 

I have a list of processes to call from a detail, one of them must call an API and process the response but I can not use the "Call Web service" element because the request needs a json structure with many nests and I can not complete it in any other way that is not a script, any suggestions?

King Regards,

 

Ezequiel

Like 0

Like

1 comments



Dear Ezequiel,

Configuring the method for "Call web service" business process parameter please use quick setup:

In this case, for example, if you provide the JSON with a nested element or even with a nested array:

The system will automatically configure correct JSON paths:

Afterward, choosing this method in "Call web service" business process parameter, you will be able to fill in any nested parameter:

The only thing that may be uncomfortable for now is that for the nested array you can fill only the first element.

In case you need to fill a bunch of the array elements please try to use any synchronous C# methods in scrip-task instead, for example, the first answer in this topic may work for you: https://stackoverflow.com/questions/9145667/how-to-post-json-to-a-server-using-c

Regards,

Anastasia

Show all comments

I see that we have in repo a couple of data packages with SysDcmSettings that were probably generated automatically and I'm wondering what's their purpose. My guess is it has something to do with some filtering but I'm not sure. Do you know the answer?

Like 0

Like

3 comments

Dear Carlos,

SysDCMSettings contains setting for section cases. It contains binding to the section, stages of the DCM, filters and default case. In UI it looks like this: http://prntscr.com/lkk1nq

Ok, thank you. So if I have something like this in the Filters column:

[{"columnUId":null}]

and my StageColumnUId has only nulls, it means I can delete those settings? It seems they were created by accident.

Carlos Zaldivar Batista,

Sure, but we recommend you to save those settings before deleting in order to restore it if something goes wrong. 

Show all comments

Hi,

I've configured Azure AD to my BPM. Other external application (web app) uses same Azure AD. I am trying to figure it out, how to do this:

1) Logged (via Azure AD) user on external web app, clicks button which will send request to BPM (to execute some process)

2) BPM should receive request and somehow assign executing process to currently logged user on external web app

Do you know the way to do this? Maybe I should do something like this:

1) Create technical user on BPM

2) Use this technical user credentials to login via BPM AuthService 

3) Send request to BPM (one of sent parameters will be username or email of currently logged user on web app)

4) BPM can somehow assign this username/email to executed process (how to do this?)

Maybe there is some better way to make it work? I saw that on BPM 7.13 there is some OAuth 2.0 integration -> https://academy.bpmonline.com/documents/technic-bpms/7-13/setting-oauth-20-application

Best regards,

Tomasz

Like 0

Like

1 comments

Hello Tomasz,

The idea is to authorize your external web app to bpmonline using user`s credentials. More about authentication by the link: 

https://academy.bpmonline.com/documents/technic-sdk/7-13/choosing-metho…

Afterwards, business processes will run under this user. Other way to run process under certain user are not available due to security reasons.



One more way to implement this is to log in as technical user e.g. Supervisor and include information about target user in request, After that it`s up to you how to process it in business process.

Regards,

Alex

Show all comments

Hi Team,

             Here I created Candidate entry section the records entered by Supervisor. and section have vendors lookup(vendor-1,vendor2,---etc) here i assign vendor to the record for example 

X- Record assign to vendor-1 

Y-Record assign to Vendor-2

My requirement is when ever Vendor-1 is login to Portal only visible X-Record in Candidate Entry Section. How to do this functionality?

Regards,

Sekhar.

 

  

Like 0

Like

5 comments

Hello Sekhar!



You can grant access rights to a group of users or organizational roles in the element itself. So the solution is to grant access to each record based on vendor.  An example is on the picture below. Also, you can change access to records via business processes: https://academy.bpmonline.com/documents/technic-bpms/7-13/change-access…



Best wishes,

Alex

Hi Alex,

           It should not work.Please explain in detail way if possible put the screen shots.

Hi Sekhar,



Could you please provide more detailed explanation of your requirements. Based on the information that you has provided the option with granting access rights to records is a solution. If the solution doesn`t work please specify why



Best wishes,

Alex

Sekhar,

Also, you can find more information about access rights if you check this link:

https://academy.bpmonline.com/documents/base/7-13/access-rights

Alex_Tim,

Thanks Alex we got it

 

Show all comments

Hi;

Where I can find the values of parameters the running process was started with?

 

Regards

Tomek

Like 0

Like

3 comments

Hello.

It is not enabled by default for the sake for performance. However, you can enable process tracing in order to see which values were passed on the every stage of the process. You can read more about it below:

https://academy.bpmonline.com/documents/technic-bpms/7-13/how-trace-pro…

Best regards,

Matt

Matt Watts,



thanks Matt;

I describe a case I have

we run the process in Call Center.

the customer Action Element is open but the connection has been broken.

New conection has been taken by another worker.

So I would like to find the old proces by proces id and input paramenter to close it.

So i would like to query Database looking for parameters for patiqular process

Regards

Tomwek

tomasz.branicki,

Unfortunately it is not possible to get the parameters of the business process that has already started without process tracing checkbox. 

Best regards, 

Dennis

Show all comments

Hi community!

How are you?

When i select a row from a detail, appear the business Process list that i can run

 

How can I hide a business process option from the list based on the condition of some field in that row?

King Regards,

Ezequiel

Like 0

Like

1 comments

The menu is bound to the "RunProcessButtonMenuItems" attribute in the "BaseGridDetailV2" module. You can override the getProcessButtonVisible method in the detail module or change the attribute after modifying a value by the mentioned condition. 

Show all comments

Dear Team,

                  Here I Created one web service. Here my problem is the Web service working fine when already login with credentials. 

 My question:  How to access web service without authentication(without login)?

  Here I attached below my screen shots

 

Like 0

Like

2 comments

Bpm'online - its an asp.net application. Please deploy it on-site and modify the web service for working without authorization using Microsoft documentation. If you need to modify the application files for this, please send a list of the modifications to support@bpmonline.com and the team will apply them in the cloud. 

Please use GeneratedObjectWebFormService as an example. It doesn't require authorization. 

Thank You Eugene.

Show all comments

Hi;

I run the process from button on editpage

but when i want to move to process page it doesnt work

I do it this way:

this.sandbox.publish("PushHistoryState", {hash: "ProcessCardModuleV2/AutoGeneratedPageV2/377caef9-d9ed-48ee-8458-3106e61dfdc6"});

When i Change the hash to {hash: "IntroPage/StudioIntro"} it work

by the way.

What is the syntax for this when i want to do it from c#

i try Terrasoft.Configuration.MsgChannelUtilities.PostMessage(Get("UserConnection"),"PushHistoryState","{{hash: \"IntroPage/StudioIntro\"}}"); but it dosn't work

 

Regards Tomek

 

Like 0

Like

1 comments

Dear Tomek,

Seems like the provided URL is not correct and does not exist. Please try to use https://webplatform.github.io/docs/apis/location/assign/ using relative or full path to the page. This approach will save browser history like that you're trying to use before.

What about changing the browser location from the back-end (C#) code, of course, this is impossible to do directly, but you can use web-sockets to publish message from C#, subscribe to this message on some page. And if this page will be opened when back-end message will appear, you can change window.location inside the callback function of the javascript subscribe method.

Here the example of the publishing and subscribing described in the comments:

https://community.bpmonline.com/questions/refresh-page-fields-after-pro…

Hope you will find it helpful.

Regards,

Anastasia

Show all comments

Hi Community,

In the database where is this Access rights lets say of [Product Record] being saved?

 

 

Like 0

Like

1 comments

Dear Fulgen, 

The information about Rights for records of certain object is stored in the Sys<objectname>Right, in your case - SysProductRight. 

Best regards, 

Dennis

Show all comments

Hi community!

I need that instead of navigating the tabs by means of the arrow ->, they are shown in a list below, to be able to see them all together without having to navigate. That is, they are displayed in various rows depending on the amount that exists.

 

Any idea?

King Regards,

Ezequiel

Like 0

Like

2 comments

Hello Ezequiel,

You'll need to add the following CSS:

.ts-tabpanel {
    height: auto;
}
 
.ts-tabpanel-items {
    overflow: visible;
    white-space: normal;
    margin: 0 !important;
}
 
.ts-tabpanel-scroll-left {
    display: none;
}
 
.ts-tabpanel-scroll-right {
    display: none;
}

This will change the tabs to wrap onto new rows if needed. If the display is wide enough it will look like this: 

If not, they will wrap like this:

Hope this helps.

Ryan

Ryan Farley,

Thank you for a very thorough explanation!

Best regards,

Matt

Show all comments