My customer doesn't want to use the communication options, because he just wants to have only one phone number, one mail-address etc.

I created new text fields, respectively we use the standard phone fields on the account entity. I placed this fields in a new field group called "Communication options".

One the normal "web client" we have no problem. With a little bit of configuration in the AccountPageV2 we have some clickable fields on the page.

But I have no idea how to configure this for the mobile client. 

Has anyone implemented something like this before?

Like 1

Like

3 comments
Best reply

Hi Christian,

I assume what you're referring to is making the phone field a clickable field to dial the number in mobile, is this right? 

To do this, you need to first create a module for the account model pages extensions. See https://customerfx.com/article/creating-modules-for-the-creatio-mobile-…

Once that is created, you can add the following to the new module to make the phone field a clickable phone field (in the code below, this is for a field named "Phone" on the Account page. If your phone field is named something else like "UsrOtherPhone", you'd replace the "Phone" in the top line with that instead):

Terrasoft.sdk.RecordPage.configureColumn("Account", "primaryColumnSet", "Phone", {
	viewType: Terrasoft.ViewTypes.Phone
});

Also, this code above also assumes the phone field is in the primary column set. This is the name of the main column group of a page, however it’s possible to create other column groups. If you’ve created another column set that you've added the field to, locate the record page for the Account page that was created by the mobile wizard in the configuration. The record page will be named [Prefix + “Mobile” + EntityName + “RecordPageSettings” + WorkplaceName]. Then you can open that and see the actual name of your column set and replace "primaryColumnSet" in the code above with this name.

Ryan

Hi Christian,

I assume what you're referring to is making the phone field a clickable field to dial the number in mobile, is this right? 

To do this, you need to first create a module for the account model pages extensions. See https://customerfx.com/article/creating-modules-for-the-creatio-mobile-…

Once that is created, you can add the following to the new module to make the phone field a clickable phone field (in the code below, this is for a field named "Phone" on the Account page. If your phone field is named something else like "UsrOtherPhone", you'd replace the "Phone" in the top line with that instead):

Terrasoft.sdk.RecordPage.configureColumn("Account", "primaryColumnSet", "Phone", {
	viewType: Terrasoft.ViewTypes.Phone
});

Also, this code above also assumes the phone field is in the primary column set. This is the name of the main column group of a page, however it’s possible to create other column groups. If you’ve created another column set that you've added the field to, locate the record page for the Account page that was created by the mobile wizard in the configuration. The record page will be named [Prefix + “Mobile” + EntityName + “RecordPageSettings” + WorkplaceName]. Then you can open that and see the actual name of your column set and replace "primaryColumnSet" in the code above with this name.

Ryan

Hello. thanks for your detailed reply. At the moment I'm on vacation. I will try it as soon as possible. Best regards Chris

Ryan Farley,

I tried your solution and it works perfect.

Many thanks for your help

Show all comments

Hello Team!

I'm wondering if there is possible create a virtual column in mobile, like we are doing in the web version with attributes. There is any way to replicate that?

 

Regards,

 

Like 0

Like

1 comments

Hello Federico,

 

Hope you're doing well.

 

At the moment, the mobile application doesn't support interaction with virtual columns. We have created a request to the R&D team so they could review the possibility of further implementation of this functionality in the future versions of the mobile application. 

 

Thank you for helping us to provide better services!

 

Best regards,

Roman

Show all comments

 Hello Team.

 

There is any way to get the value of the record in the store.loadPage?

I can access to the record parameter inside of the callback.

Terrasoft.sdk.Model.addBusinessRule("ExpensesDetail", {
	name: "GetRoleFromtheUser",
	ruleType: Terrasoft.RuleTypes.Custom,
	triggeredByColumns: ["Subcategory"],
	events: [Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save],
	executeFn: function(record, rule, column, customData, callbackConfig) {
 
 
		var myrecord = record;
 		var passedTheTestAndIsValid = true;
 
		var currentUser =Terrasoft.CurrentUserInfo.userId;
		var store = Ext.create('Terrasoft.store.BaseStore', {
			model: 'SMVwUserRoles'
		});
		var queryConfig = Ext.create('Terrasoft.QueryConfig', {
			columns: ['SMId', 'SMUserName', 'SMRoleName'],
			modelName: 'SMVwUserRoles'
		});
		store.loadPage(1, {
			queryConfig: queryConfig,
 
			filters: Ext.create('Terrasoft.Filter', {
				property: 'SMId',
				value: currentUser
			}),
			callback: function(records, operation, success) {
				var loadedRecord = records[0];
				if (loadedRecord) {
					var contact = loadedRecord.get('SMRoleName');                                                                                                    
					if (contact) {                                                                                                                   
						console.log(contact);
					}
					}
				},
					scope: this
			});
 
	},
	position: 3
});

 

Like 0

Like

2 comments
Best reply

Hello Federico,

 

You have the myrecord variable and it's accessible inside the loadPage method:

So you can access the record parameters if needed there.

 

Best regards,

Oscar

Hello Federico,

 

You have the myrecord variable and it's accessible inside the loadPage method:

So you can access the record parameters if needed there.

 

Best regards,

Oscar

Oscar Dylan,

 Thanks Oscar, I my case sending the scope: this was not working but changing the scope works.

Show all comments

Hello Team!

Somebody know if there is a save validation in mobile like the method in web version:

			asyncValidate: function(callback, scope){
				this.callParent([function(resultObject){
 
						resultObject.success = false;
						resultObject.message = scope.get("Resources.Strings.SummitionNoAcepted");
 
 
					callback.call(scope, resultObject);
				}], scope);
			},

I need to validate if a detail has records added before save the record.

Like 0

Like

4 comments

Hello Federico,

 

There is an onSaveButtonTap method in the base edit page controller schema that is triggered when the record is saved. There is no async validator there, but in case you need to check something for the saved record upon saving then you need to look at that method call.

 

Best regards,

Oscar

Oscar Dylan,

 Thanks Oscar. I need to create a page controller for a custom section? There is some documentation about that?

Federico Buffa ...,

 

No we don't have such an instruction unfortunately.

 

Best regards,

Oscar

Oscar Dylan,

 Thank you so much. Just wondering if that method can be use in the module config or needs to be in another schema. I don't have much information about mobile structure.

Show all comments

Hello Community. Somebody know if there is a way to run the mobile debugger emulator in mac or linux?

I tried to change the patch and URL but something is missing.

 

@echo off
SET CHROMEPATH=C:\ChromePortable\GoogleChromePortable.exe
IF NOT EXIST %CHROMEPATH% (
  SET /p CHROMEPATH="Enter path to chrome.exe (ver. 79.x or earlier): "
)
SET PAGEPATH=..\web\MobileMainPage.html
copy NUL "..\web\cordova.js" /Y
start %CHROMEPATH% --disable-features=IsolateOrigins,site-per-process --allow-file-access-from-files --disable-web-security --disable-popup-blocking --enable-device-mode "file:///%~dp0%PAGEPATH%?platform=webkit&usecookie=true"

 

Like 0

Like

4 comments

So far Im getting this error

I managed to solve the issue but is ask me to allow store in the system, and after allowed I got an error.

Solved. The issue was in the version of chrome (Needs to be 7.9 or below) After that just create a script to run chrome. A example of the script if in case somebody wants to use it.

#!/bin/bash 
 
export PAGEPATH="\home\federico\Documents\7.18.0\web\MobileMainPage.html"
 
google-chrome --disable-features=IsolateOrigins,site-per-process --allow-file-access-from-files --disable-web-security --disable-popup-blocking --user-data-dir="/home/federico/ChromeUserData" --enable-device-mode  "file:///$PAGEPATH?platform=webkit&usecookie=true"

 

Federico Buffa ...,

Thanks for sharing this. I'll give it a try as well ??

Ryan

Show all comments

Hello

 

I was trying to validate email format and phone number format in activity section in mobile application but could not find anything.

Please provide me a way to validate these fields in mobile application.

 

Regards,

Malay

Like 0

Like

5 comments

Hello Malay,



Could you please provide us more detailed information on your business task? Could you share screenshots?



Thank you in advance!

 

Best regards,

Bogdan

Hello Bogdan,

 

Hello I want to apply validation for mobile number and email in activity section. For example, the phone number should be of 10 digits and only contain numbers and email format should be of the form abc@xyz.com.

 

I have used JavaScript for lead section to do it for the web version but how to do it for the mobile application?

 

Below is the screenshot of the mobile activity page where I want to apply this validation.

 

Regards,

Malay

Hello Malay,

You can use a custom business rule for this task. See here for an example: https://academy.creatio.com/docs/developer/mobile_development/mobile_ap…

For using the custom rule for validation, you can pass a third parameter to the callback function with a message (the validation message) and value (true or false indicating if validation passed or not).

For example:

var result = {};
if (passedTheTestAndIsValid) {
    result = {
        value: true
    };
}
else {
    result = {
        value: false,
        message: "The entered value is invalid"
    }
}
 
// now include the result in the callback
Ext.callback(callbackConfig.success, callbackConfig.scope, [result]);

Ryan

Ryan Farley,

 Thanks for share it. You have any example using esq query in custom business rules for validations?

Christian Kern,

 

1. File will be stored in configurations.

 

2. The main rule - the first word of business rule name should be the section name. Like "Contact", "Case", "Account". 

 

Best regards, 

 

Bogdan L.

Show all comments

Hello Team!

 

I need to hide one filed based of the selection of one category lookup. I follow the academy  with the steps for the rule type. But my question is whats happend when you have more values in a OR condition. I tried to placed all the conditions in the same rule and didn't work and as well like in the example separate, but only the last one is working. How is the correct process in this case?

 

Thanks,

 

Like 0

Like

1 comments

Hello Federico, 

 

We performed some tests in order to achieve your requirement, but it seems like such implementation is not possible for now. The only one business rule will be active in this case. We already informed our Core R&D team and we will work to add such functionality in our next releases. Thank you for understanding!



Best Regards, 

 

Bogdan L.

Show all comments

Are there any sdk js docs equivalent to what is here but for the mobile client?

Thanks,

Ryan

Like 2

Like

3 comments

Hello,

 

Unfortunately there is no similar docs for mobile client.

 

Regards,

Dean

dean parrett,

I figured. Thanks for confirming. It would be fantastic if there were more info available for developing for the mobile client (anything beyond using the wizard). The few pages that exist in the Academy now are pretty limited and leaves too many things undocumented. If at least the JS docs were available, it would make things easier for a developer to figure things out on their own.

Ryan

Hi Ryan,

 

I've registered your request for our developers to consider making similar sdk for mobile.

 

Regards,

Dean

Show all comments

Hi Team,

 

I want to know how we can use the functionality of open- edit pages, pre - configured pages and dialog box in Creatio mobile application.

 

Can you please help me out in figuring this out?

 

Thanks in advance

Sarika Sharma

Like 0

Like

1 comments

Hello Sarika, 

 

Unfortunately, the pre-configured pages and the dialog boxes (modal windows) are not presented in the default configuration of the mobile application yet. 

 

Detailed information about the mobile application interface (as well as information on how the edit data option works there) can be found in the Get started with the mobile app UI Academy article. 

 

Best regards, 

Olga. 

Show all comments

Hi,

I have a scenario to show a pop up message based on user action (something similar like the screenshot) in the edit page of a section in mobile application.

 

Any ideas / suggestions would be great.

 

 

Thanks,

Mohamed.

Like 2

Like

2 comments
Best reply

Hello,

 

There is no option to add similar custom notifications. But as the workaround it is possible to setup push notifications for mobile app. Here is the Academy article that has step by step description regarding this task https://academy.creatio.com/documents/technic-bpms/7-13/how-set-push-no…

 

Regards,

Dean

Hello,

 

There is no option to add similar custom notifications. But as the workaround it is possible to setup push notifications for mobile app. Here is the Academy article that has step by step description regarding this task https://academy.creatio.com/documents/technic-bpms/7-13/how-set-push-no…

 

Regards,

Dean

dean parrett,

 

Thanks a lot, Works like a charm.

Show all comments