Hi Community,

Any idea how can I possibly achieved this scenario. I want to change the label of Approved/ Reject Button depending on the workflow bar stage:

Lets say for example if workflow bar is in Review stage i want to change the "Approve" to "Checked" and "Reject" to "Something else" 

 

 

Thanks

Like 0

Like

2 comments
Best reply

Hi, you can do a business process. Reading the approval use a conditional flow when the approval is approve you modify with the modify item the stage field to "Checked" and when is "Rejected" to Something else.

I hope i can help you!

King regards!

 

Hi, you can do a business process. Reading the approval use a conditional flow when the approval is approve you modify with the modify item the stage field to "Checked" and when is "Rejected" to Something else.

I hope i can help you!

King regards!

 

It's possible to do via js development. I hope the development guide below will help you. ApprovalDashboardItemViewModel module contains approved/reject button.

https://academy.bpmonline.com/documents/technic-sdk/7-13/bpmonline-development-guide

Show all comments

Hi, How am I able to return a value of a Lookup (the Name) using ESQ, JS? I have defined the Lookup as an attribute: "DevCertPublicationFrequency": { DataValueType: Terrasoft.DataValueType.LOOKUP, }, I have the following function: getLookupValue: function (DevCertPublicationFrequency, safe) { var column = this.columns[DevCertPublicationFrequency]; if (column && (column.isLookup || true)) { var columnValue = this.get(DevCertPublicationFrequency); this.set("DevCertPublicationFrequency", columnValue); } }, When the record is saved I want to check the value of the Lookup and call a function if the Lookup value selected prior to the save = 'Daily' Save: function() { this.callParent(arguments); this.getLookupValue(); var textmessage = "Verification will be performed"; //if periodical edition = daily then perform verification var DevCertPubFrequency = this.get("DevCertPublicationFrequency"); if (DevCertPubFrequency === "Daily") { Terrasoft.showInformation(textmessage); this.verification(); } },

Like 0

Like

1 comments

It's pretty easy to get a value from a lookup attribute using this.get("NameOfLookupAttribute"). Please debug your js code using the article below 

https://academy.bpmonline.com/documents/technic-sdk/7-13/client-code-debugging 

Show all comments

Hi,

 

Can someone please direct me to any documentation around how to add data to bpmonline when receiving the data through an API?

 

Does the JSON.NET work for bpmonline or do I have to use JavaScriptSerializer class?

Like 0

Like

1 comments

Hi aaykay

Please refer to the below link:

https://academy.bpmonline.com/documents/technic-sdk/7-13/integration-bpmonline-and-public-api

The above link will have all information related to API integration and the management of data recieved through them.

In the below link, you will specifically find how to do CRUD operations in BPMOnline objects like Contacts etc.

https://academy.bpmonline.com/documents/technic-sdk/7-13/working-bpmonline-objects-over-odata-protocol-wcf-client

Thanks

Abinaya

 

 

Show all comments

Hi Community,

Any idea how i can override the on click event of workflow bar. Lets say for example on click of 'In progress' i want to add some other logic, then based on that logic system will decide whether to allow user to proceed to 'In progress' or not. What method can I override so that i can put my custom logic ?

 

Like 0

Like

2 comments

Rather than override the click, maybe it would work to just wire up a change event on the property itself? See https://customerfx.com/article/triggering-an-event-when-a-field-is-changed-on-a-page-in-bpmonline/

Something like this:

attributes: {
  "StageChange": {
    dependencies: [{
      columns: ["Stage"]
      methodName: "onStageChange"
    }]
  }
},
 
//...
 
methods: {
  onStageChange: function() {
    // do something here or prompt user
    // if needed, revert back to previous value
  }
},

If you need to revert back to the previous value, what I would do is store the current Stage value in an attribute in the onEntityInitialized. Then you can use that to revert back if needed (and update the attribute if you do allow the change). 

The only thing that could cause issues with this approach is if there are processes or case steps that would have already fired before you revert the change. Anyway just an idea.

I didn't spend too much time looking at the Dcm mixin to override the logic there, but this approach would be easier so thought I would suggest it. Hope this helps.

Ryan

Click event of a workflow bar causes saving of a page. Before saving the page a validation happens. Please feel free to override the method asyncValidate to add a required functionality. For example: 

define("LeadPageV2", [],

    function() {

        return {

            entitySchemaName: "Lead",

            details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,

            attributes: {},

            methods: {

                asyncValidate: function(callback, scope){

                    this.callParent([function(resultObject){

                        resultObject.success = false;

                        resultObject.message = "Your message!";

                        callback.call(scope, resultObject);

                    }], scope);

                }

            },

            diff: /**SCHEMA_DIFF*/[

            

            ]/**SCHEMA_DIFF*/,

            rules: {},

            userCode: {}

        };

    });

 

 

Show all comments

Hi;

After migration to higer verson one of process stop working

Here is part of trace.

 

{

"Element parameters": [

{

"Parameter": "GroupGuid_Out",

"Value": {

"Before execution": "00000000-0000-0000-0000-000000000000",

"After execution": "00000000-0000-0000-0000-000000000000"

}

},

{

"Parameter": "GroupName_IN",

"Value": {

"Before execution": null,

"After execution": null

}

}

],

the GroupName_In is null but in designt it is set

 

Thanks in advance

Tomek

 

 

Like 0

Like

0 comments
Show all comments



Hi,

If I have to build a web service from bpmonline through an api which requires the method signature to be generated by taking the query string, and creating a HMAC-SHA256 signature using your API key as the secret key.

Is there a way to do that?

There is available a sample c# code, if that helps.

Generating the method signature

    <span>private</span> <span>static</span> <span>string</span> <span>GetSignature</span><span>(</span><span>string</span> <span>args</span><span>,</span> <span>string</span> <span>privatekey</span><span>)</span> 
    <span>{</span> 
        <span>var</span> <span>encoding</span> <span>=</span> <span>new</span> <span>System</span><span>.</span><span>Text</span><span>.</span><span>UTF8Encoding</span><span>();</span> 
        <span>byte</span><span>[]</span> <span>key</span> <span>=</span> <span>encoding</span><span>.</span><span>GetBytes</span><span>(</span><span>privatekey</span><span>);</span> 
        <span>var</span> <span>myhmacsha256</span> <span>=</span> <span>new</span> <span>HMACSHA256</span><span>(</span><span>key</span><span>);</span> 
        <span>byte</span><span>[]</span> <span>hashValue</span> <span>=</span> <span>myhmacsha256</span><span>.</span><span>ComputeHash</span><span>(</span><span>encoding</span><span>.</span><span>GetBytes</span><span>(</span><span>args</span><span>));</span> 
        <span>string</span> <span>hmac64</span> <span>=</span> <span>Convert</span><span>.</span><span>ToBase64String</span><span>(</span><span>hashValue</span><span>);</span> 
        <span>myhmacsha256</span><span>.</span><span>Clear</span><span>();</span> 
        <span>return</span> <span>hmac64</span><span>;</span> 
    <span>}</span>

<span>I am trying to integrate with </span>https://apidocs.unleashedsoftware.com/AuthenticationHelp

 

Like 0

Like

1 comments

It's hard to understand what is "from bpmonline through an api". Will the service be in bpm'online or somewhere else? Should bpm'online call an external web service? 

Anyway. Please find more information about calling web services in the article by the link below.

https://academy.bpmonline.com/documents/technic-sdk/7-13/executing-odata-queries-using-fiddler

Show all comments



Hi,

Is there a step-by-step guide on how to install bpmonline instance on the pc?

Please don't redirect me here:

https://academy.bpmonline.com/documents/administration/7-14/installing-…

I am new to this so don't get any of what's on that page. If someone can be kind enough to generate a list of steps to be taken in order to install the instance, that'd be really helpful.

Thanks in advance.

Regards,

AK

 

Like 0

Like

2 comments

Hello!

I'm afraid that the article you've mentioned is the most detailed instruction we have but in case you face any difficulties while installing the application, please let us know here or email us at support@bpmonline.com.

We are happy to help :)

Best regards,

Bogdan

I was able to get info from support over email. :)

Show all comments

Hi Community,

Any idea how we can customize the BPM mobile layout, including background

Like 0

Like

1 comments

Dear Fulgen,

You can apply your custom styles to the mobile application. Styles (CSS) can be changed in the configuration. To do this, use the Terrasoft.writeStyles method. Presumably, an example is available in MobileActivityGridPageV2. 

Here is more about customization possibilities within mobile application in the thread:

https://community.bpmonline.com/questions/customization-capabilities-mobile-plataform

Regards,

Anastasia

Show all comments

Hi Community,

Just like overriding the save button save() and onsave() method in web, how we can do it in bpm mobile?

 

Like 0

Like

3 comments

Dear Fulgen,

The corresponding method for mobile application is onSaveButtonTap(). Also, you can check onDataSavedSuccessfully() method, which executes after data saved.

Regards,

Anastasia

Thank you Anastasia,

Is there any available examples in OOB?

 

Fulgen Ninofranco,

Please take a look at MobileSocialMessageEditPage schema. There you can find the realization of the onSaveButtonTap method.

 

Regards,

Anstasia

Show all comments

Hi Community,

Any idea which process is behind the giving of lead name. I want to modify it and give our own naming convention.

 

Like 0

Like

2 comments

Hi Fulgen,

Create a replacing object with Lead as Parent object..

Please open the replacing object in the object designer. When you click on any events of the object, you will be navigated to the object's event designer. There you can find a method named "UpdateLeadName" which can be referred in the attached screenshot.

When you double click the method, you can find the script task where you can alter the existing naming convention for Lead name.

 

Thanks,

Abinaya

The way of implementation mentioned above is absolutely proper. Please pay attention that the Override checkbox must be checked in order for the new implementation will be applied.

Show all comments