Hi, 

Is is possible to have quick filters for detail similar to the Owner and Date filters on the Activity Section? If so, is there any academy article on that? 

Thank you, 

Hatim

Like 0

Like

3 comments

Dear Hatim,

Your detail object needs to have the Owner or Date columns to be able to display them in the filter. Here is the example.

Lets add the owner lookup field based on the contacts to the Noteworthy Events detail. As the result, you can get apply the filter to the detail http://prntscr.com/ozg26u and select the owner  http://prntscr.com/ozg2bf

You can also set up the columns of the detail http://prntscr.com/ozg2jf http://prntscr.com/ozg2oh and display the  owner http://prntscr.com/ozg2uc 

Best regards,

Dean

Dean Parrett,

Thank you for your response. 

We do have owner and date fields in the date to filter on, however we want these filters available as quick filters (just like Owner and Date Quick filters in Activity Section). These quick filters should automatically appear next to the Detail as soon as the Page with this Detail is rendered. 

Intended Quick filter on the Detail is shown below

Dear Hatim,

Here is the example of how to add these filters to a section

https://academy.bpmonline.com/documents/technic-sdk/7-13/adding-quick-filter-block-section

You can analyse it and implement for the detail.

Best regards,

Dean

Show all comments

Hi Community,

In mobile application Conditional columns is not working in rule type requirement. Below is my code.

Terrasoft.sdk.Model.addBusinessRule("Case", {

    ruleType: Terrasoft.RuleTypes.Requirement,

    requireType : Terrasoft.RequirementTypes.Simple,

    events: [Terrasoft.BusinessRuleEvents.Save],

    triggeredByColumns: ["UsrIsClosed"],

    conditionalColumns: [

        {name: "UsrIsClosed", value: true}

    ],

    dependentColumnNames: ["UsrComments"]

});

I want column UsrComments to be required if column UsrIsClosed is true. The code above is not working, please suggest

 

Like 0

Like

7 comments

Eugene Podkovka,

Hi Eugene, Thanks for your reply

Module appears on the client end, manifest is also correct.

Using below code without conditionalColumns rule is working fine:

Terrasoft.sdk.Model.addBusinessRule("Case", {

    ruleType: Terrasoft.RuleTypes.Requirement,

    requireType : Terrasoft.RequirementTypes.Simple,

    events: [Terrasoft.BusinessRuleEvents.Save],

    triggeredByColumns: ["UsrComments"],

    columnNames: ["UsrComments"]

});

But the above code will not serve our purpose, we only require "UsrComments" to be mandatory if "UsrIsClosed" field is true.

That's why I created below code:

Terrasoft.sdk.Model.addBusinessRule("Case", {

    ruleType: Terrasoft.RuleTypes.Requirement,

    requireType : Terrasoft.RequirementTypes.Simple,

    events: [Terrasoft.BusinessRuleEvents.Save],

    triggeredByColumns: ["UsrIsClosed"],

    conditionalColumns: [

        {name: "UsrIsClosed", value: true}

    ],

    dependentColumnNames: ["UsrComments"]

});

Please suggest, how I can use "conditionalColumns" attribute for rule type requirement.

Fulgen Ninofranco,

The code seems like correct. Try to restart the application pool and synchronize the mobile application again. 

http://prntscr.com/oyo0vz

Eugene Podkovka,

Thanks Eugene.

We already did the restart and synchronize but still not working. I also noticed one thing in the documentation. "conditionalColumns" is not discussed here as part of the attributes of rule type requirements but from other rule type it is included. Please suggest how we can achieve our condition if "conditionalColumns" will not work.  

https://academy.bpmonline.com/documents/technic-sdkmob/7-12/business-rules-mobile-application

Eugene Podkovka,

Hi Eugene, any update on this. Thank you

Fulgen Ninofranco,

Try to debug the mobile application, find how business rules work and find how to adjust them according to your needs.

https://academy.bpmonline.com/documents/technic-sdkmob/7-12/mobile-application-debugging

Start from the executeApplicableRules method in the BusinessRulesManager module.

Hi, did you find a resolution to your issue? I am facing the same thing.

Show all comments

I am running this code as a script task in a business process.

string POid = Get<string>("PurchaseOrderID");
var arParts = POid.Split('_');
 
 
		int i = Convert.ToInt32(arParts[1]);
		int newid = i + 1;
		string prefix = string.Empty;
		if(newid<10){
			prefix="00000";
		}
		else if (newid<100)
		{ prefix="0000";
		}
		else if (newid<1000)
		{
			prefix="000";
		}
		else if (newid<10000)
		{
			prefix="00";
		}
		else if (newid<100000)
		{
			prefix="0";
		}
 
		string intstringid = newid.ToString();
		string name = prefix + intstringid; 
		string newPOid = "PO_" + name;
		Set("NewPurchaseOrderID", newPOid);
return true;

I have "PurchaseOrderID" and "NewPurchaseOrderID" as the parameters that I've defined for this business process. They are spelled as in the code, I've checked that.

 

When I try to run this process, I get the error: Object reference not set to an instance of an object.

 

Can't seem to find which object I have not initiated.

 

Any help would be appreciated.

 

Thanks.

-AK

Like 0

Like

1 comments

It seems that  "PurchaseOrderID"  parameter has no value, so in the following row

var arParts = POid.Split('_')

the error "Object reference not set to an instance of an object" occurs because POid is null. To know for sure please debug the code. The article by the link below will be helpful in that: https://academy.bpmonline.com/documents/technic-sdk/7-13/server-code-debugging

Show all comments

Hi Community,

Any Idea how can I achieve below scenario in Mobile Application.

If case status is "closed", when saving record i need to show pop up message if there is no attachment. 

 

Like 0

Like

7 comments

Dear Fulgen,

You can achieve such task using push notifications for mobile application. Such push notifications are created via business process and corresponding  “Send push notifications” element.

By status change signal on the Case object you read the quantity on attachments on the record, which triggered process and based on the result you show push notification.

Check the following article on step-by-step implementation:

https://academy.bpmonline.com/documents/technic-bpms/7-14/how-set-push-notifications-mobile-application-users

Regards,

Anastasia

Anastasia Botezat,

Hi Anastasia, Thanks for your reply

Currently in mobile, we enable the status field in case form. So user can select the status to closed. Now when saving case record on mobile and if status is 'Closed', I need to do some validation if there is attachment in 'CaseFile'. This logic is achievable in web using esq to check if there are records in 'CaseFile' and use 'asyncValidate' method for validation. Now in mobile how can i implement the same logic? 

 

Fulgen Ninofranco,

Please check the following example. There is a query to Contact section, where we select Name, Id, Account. This is the corresponding to ESQ mobile version.

var store = Ext.create('Terrasoft.store.BaseStore', {
    model: 'Contact'
});
var queryConfig = Ext.create('Terrasoft.QueryConfig', {
    columns: ['Name', 'Id', 'Account'],
    modelName: 'Contact'
});
store.loadPage(1, {
    queryConfig: queryConfig,
    filters: Ext.create('Terrasoft.Filter', {
        property: 'Name',
        value: 'test'
    }),
    callback: function(records, operation, success) {
        var loadedRecord = records[0];
        if (loadedRecord) {
            var contact = loadedRecord.get('Account');                                                                                                    
            if (contact) {                                                                                                                   
                ...
            }
        }
    },
    scope: this
});

Regards,

Anastasia

Anastasia Botezat,

Hi Anastasia, Thanks for your reply

From which OOB Schema this source code is added?

Fulgen Ninofranco,

Also, here is an example of how to write direct query to database:

// sql requry to DB
var sqlText = "select pf.Id as ProductFolderId from ProductFolder pf " +
    "where pf.FolderTypeId = '9dc5f6e6-2a61-4de8-a059-de30f4e74f24' and " +
    "exists(select pif.Id from ProductInFolder pif where pif.FolderId = pf.Id and exists(" +
    "select p.Id from Product p where p.Id = pif.ProductId and " +
    " p.Active = 1 and p.TypeId = 'f1795fc3-36cc-4771-9222-178b339eb9f2'))";
 
// variable to which results will be stored
var records = [];
 
// executing query to DB
Terrasoft.Sql.DBExecutor.executeSql({
    sqls: [sqlText],
    success: function(data) {
        if (data.length &gt; 0) {
            var columnMap = {
                'ProductFolderId': 'Id'
            };
            var queryConfig = Ext.create('Terrasoft.QueryConfig', {
                modelName: 'ProductFolder',
                columns: ['Id']
            });
 
            var ids = data[0].rows;
            for (var i = 0, ln = ids.length; i &lt; ln; i++) {
                var sqlData = ids.item(i);
                var record = Terrasoft.SqlDataToRecordConverter.convert(sqlData, queryConfig, columnMap);
                records.push(record);
            }
        }
    }
});

You can check MobileCaseGridPageController, MobileActivityActionsUtilities schemas.

Regards,

Anastasia

Anastasia Botezat,

Hi Anastasia, Thanks for your reply

For 'asyncvalidate' method in web. What is its counterpart in mobile? I want to execute this esq on click of save button. So I need the same functionality as asyncvalidate in web.

Fulgen Ninofranco,

Unfortunately, there is no exactly same functionality for mobile application. However, you can use business rules instead. I have prepared an example of RegExp validation, hope it suits your task:

Terrasoft.sdk.Model.addBusinessRule('Contact', {
    ruleType: Terrasoft.RuleTypes.RegExp,
    regExp : /^([0-9\(\)\/\+ \-]*)$/
    triggeredByColumns: ['HomeNumber', 'BusinessNumber']
});

Regards,

Anastasia

Show all comments

Hi Community,

Is it possible to do the reverse geocoding, we will move the pin on the map and based on that Address will auto populate. Currently it is working the opposite way.

 

Like 0

Like

1 comments

Dear Fulgen,

It cannot be done since it data is pulled from the OpenStreeMap service. For instance, if you zoom out http://prntscr.com/oxeh7f, you will not be able to move the pin around the map or tick it by clicking on any country. That happens since you cannot do it in the service map view as well http://prntscr.com/oxehiv When on the map service website, you will have to select some particular country, city or address through the search bar, so that the pin could appear and then it can be moved around. Apart from that, a lot of the cities and addresses will not populate the application fields and you will have to fill the addresses table first for this purpose. That is why there is no possibility to tick the pin and populate the fields automatically. 

Best regards,

Dean

Show all comments

Hi Community,

Is there available QR Code scanner sdk to be used for mobile application?

 

Like 0

Like

6 comments

Dear Fulgen,

Unfortunately it is not possible to use QR code scanner in the mobile application. Apart from that we do not have any examples of such implementation. We will register this idea for our R&D team for implementation in future application releases.

Best regards,

Dean

Dear Team,

 

Any update on QR code scanner to make available in the mobile app. we are waiting for these features.

 

Best regards,

Prakash

Dear Prakash, 



This idea was accepted by the responsible R&D team but there is no ETA on when it will be implemented yet. 

I will add your comment to it's backlog so to increase the priority of the idea of adding this functionality in future. 



Kind regards,

Roman

Hello Akshay Patil,

 

Unfortunately, at the moment we still don't have the option to use QR code scanner in the mobile application. However, we already have this idea registered for more detailed consideration and implementation in future releases of the application.



Best regards,

Malika

 

 

Roman Brown writes:

Dear Prakash, 



This idea was accepted by the responsible R&D team but there is no ETA on when it will be implemented yet. 

I will add your comment to it's backlog so to increase the priority of the idea of adding this functionality in future. 



Kind regards,

Roman

 


Hello Roman Brown,

 

Is this feature finished? we are really looking forward to this feature..

 

 

Kind Regards,


Agus Sulistiawan

 

Agus Sulistiawan,

 

Unfortunately this feature is not available yet. However, I have attached your request to the registered idea to raise its priority.

Show all comments

Hi Community,

Is it possible to put suggestions in a text field. Lets say when creating new lead in lead mini page, when entering account name, it will show suggestions of accounts from account object to avoid creating duplicate account in lead. 

Like 0

Like

1 comments

Dear Fulgen,

You can remove the default account field and replace with new account lookup field based on the object, so that you will have the list of the accounts to choose http://prntscr.com/oxeca6.

Best regards,

Dean

Show all comments

There is only a String field available for text in Pre-configured pages. Is there any way that information from a Notes field in a record can be transferred to a Pre-configured Page and displayed with images and other formatting?

I have reference information for answering questions that will not transfer correctly as text only.  I know that I could convert the reference information to an image format and attach it, but that requires additional clicks when answering the question and makes it more likely that the reference information will be ignored or used incorrectly. I prefer Pre-configured pages to Edit pages because I can change the buttons at the top to eliminate confusion about the Close button and to add additional functionality.

Like 0

Like

1 comments

Dear Janine,

In order to display text with images as it is on the Notes tab, you need to modify the control  of your pre-configured page. 

1. Go to configuration section, find the created pre-configured page.

2. In the diff section find the string field, which supposed to display text with images.

3. Take EmailPageV2 "Body" diff element as an example and apply the control config with needed classes and content-type.

Save pre-configures page schema and clear browser cache.

Hope you find it helpful.

Regards,

Anastasia

Show all comments

Hi,

I have created a "Requests" section and created a business process that would run from the “Requests” section page. The process must

send the request for approval (the person seeking the approval manually selects the approver). In case of a positive result, the process terminates, 

In cases of a negative result, the person approving the request must fill in the reasons for the rejection after which the system notifies the person seeking the approval. I have used the [Send Email] element to deliver the message.

The email should send from the selected approver Email Id. But I am unable to send the email from the selected approver, from option is showing only synchronization mail.

Like 0

Like

1 comments

Hello,

The send email element uses the email boxes that are integrated with bpm'online and used for sending emails. In other words only those email boxes that are synchronized with the application and can be found in [Mailbox synchronization settings] lookup. Therefore, the users who approve the requests should have their email boxes synchronized with the application to be able to send the emails on their behalf.

Best regards,

Dean

Show all comments

Hi Community,

Any idea how we can import data from excel to "Forecast by Customer". Thanks

 

 

Like 0

Like

3 comments

Dear Fulgen,

Unfortunately, there is no functionality for data import of export in the forecasts section since it is based on multiple tables. Theoretically it might be possible to import the data into ForecastItemValue and ContactForecast however it is quite complicated to match all the data and map the columns correctly and we do not recommend doing that. We already had similar requests from different customers, therefore most likely this option will be available in the future application releases.

Best regards,

Dean

Thanks Dean,

What are the tables involved on this module? I am trying to insert data directly on the database.

Fulgen,

The tables that are used in Forecast module are: Forecast, ForecastColumn, ForecastCoulmnType, ForecastDimension, ForecastIndicator, ForecastItem, ForecastitemValue, ForecastRow and ForecastSheet. And as Dean mentioned - it will be very difficult to map all data between these tables and unfortunately there is no documentation on this topic. If you need to do that - you need to explore all connections between those tables and only after that you can start data import.

Best regards,

Oscar

Show all comments