It will be easier to help you if you describe the task in general. Include from PHP works in bpm'online according to the require.js framework. Please find more information in the documentation by the link below.
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:
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?
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});
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>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 < ln; i++){
var sqlData = ids.item(i);
var record = Terrasoft.SqlDataToRecordConverter.convert(sqlData, queryConfig, columnMap);
records.push(record);}}}});
You can check MobileCaseGridPageController, MobileActivityActionsUtilities schemas.
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.
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:
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.
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.
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.
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.
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.
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.
I'm trying to create a lookup using Ext.create("Terrasoft.controls.LookupEdit" into a custom module. I created the lookup but I need to bind it for example to contacts.
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.
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.
I want to create approval based on 2 role, first approval come from supervisor role, if supervisor approve it will be appear request approval on Manager role. I'm already create process library, but the problem is request approval come to both role directly in same times.
I tried to create similar process and approvals vere created one after another. I would recommend you to contact support@bpmonline.com for detailed investigation of your process.
As for now there is no such functionality. The portal users cannot use the mobile application. Our R&D team has in plans to implement this feature in the future application versions, however we do not know when exactly.
But aside from push notification, our client also wants to show notification count on mobile app icon (like the image below). Any idea how we can achieve this?
Unfortunately, this functionality can only be implemented with the help of additional development process. As for now we do not have any examples of such implementation. We will register this idea for R&D team to develop it in the future application releases.