Hi everyone,



I am trying to add a custom button to the contacts section in the mobile application. I followed the steps provided in: https://community.creatio.com/articles/adding-custom-user-action-mobile… to create a custom button on the user actions list, but I was unsuccessful.



Alternatively, is there a way to add buttons to the section (list) page, or to add a button in the Freedom UI section of the mobile application?



Regards,

Ramya

Like 0

Like

2 comments

Hi Ramya,

 

Currently there is no way to add custom buttons in Freedom UI (the article you refer to will only work in classic UI). I've created a suggestion for our R&D team to make it possible to add buttons in Freedom UI using no-code capabilities and pointed them to your community question.

 

Thank you for helping us in making the app better!

Hi Oleg Drobina,

Thank you for the prompt response. In the Classic UI, is it possible to add a button somewhere other than the record's edit page, maybe in the section page or a common menu like the settings? Or is it possible to override the existing 'Add Contact' button?



Regards,

Ramya



Show all comments

Hello,

I have a question: Is it feasible to enable Single Sign-On (SSO) in the Creatio mobile application, similar to how it is done in a web browser?

Like 0

Like

2 comments

If you have SSO configured for the Web App, there is a system setting "Use SSO in the mobile app" (MobileUseSSO) that you can turn on. We use it for Azure. Have not tested with others

Greetings,

 

Yes, it's possible to enter the mobile application in case if you have SSO configured on your website and it is set as a default login method. 

In order to enable SSO in mobile application you need to enable the system setting with code "MobileUseSSO"

Show all comments

Hi dear community,

We have created a new Freedom UI section in the mobile. We want that a specific 'Field Group' is hidden permanently.

We dont want to delete this field group from the wizard because this would change the positioning of the elements in the layout.

Is there any specific code we have to insert in the Manifest or RecordPageSettings schemas.

Sasori 

Like 0

Like

3 comments

Hi Community,

Any update regarding this topic.

Sasori

Hello Community,

Any update?

Sasori

Hi,

The "Feild Group" doesn't have the property "visible" so it cannot be hidden. In your case, it would be better to delete it and then change the position of the needed elements manually in the RecordPageSettings schema.

Show all comments

I want to remove the ability to add new records in lookup in mobile .

How can i hide the "+" button ?

Like 0

Like

1 comments

Hello,

Could you please clarify where exactly you want to hide "+" sign, because I can't find such in any of basic lookups. Add a screenshot if possible.

Thank you in advance!

Show all comments

Hi Team,

 

The query is related to viewing records in the mobile application. By default, when we open a section in the Creatio mobile app, the listing page is empty, with a note to search for specific conditions to display records.

 

 

Is there an option to set a default folder from the already available saved folders for the section in the web app to be used as the default folder/condition for listing records as soon as the section is opened in the mobile application? Later, if users wish to change the filter, they can do so by selecting a different folder instead of viewing empty records in the list. For example, is it possible to display records for which the user has access? How can this be achieved? Are there any code samples available if code needs to be written, and if it's a configuration, how can we configure it for the mobile app?"

 

Thanks for the help in advance!

 

Regards,

Mayan

Like 0

Like

4 comments

Hello,

 

Please feel free to use the resolution from this article:  https://community.creatio.com/articles/setting-filter-mobile-application

Also, in case you want the assignee to be "current user" you may be interested in this answer: https://community.creatio.com/questions/get-current-user-contact-mobile

 

Thanks Bogdan,

 

If I log in to an instance as a regular user and not as a supervisor in web isntancce, by default, it lists all the records in a section for which the user has access, irrespective of whether they are the owner or assignee. This happens because the user has access, and the user's name is not available in any of the fields in the record, such as the owner field or assignee field. The record is shown because the user has access to it.

 

The same functionality needs to be achieved in the mobile app. However, here, we need to add a filter condition. For the scenario described above, we need to specify a reference field. If we set the owner field to the current user, it will list only the records where the user's name is linked to the owner field. But what about the records that the user has access to but does not own? How do we achieve this in the mobile application?

Thanks Bogdan, but can you help for the below scenario:

 

If I log in to an instance as a regular user and not as a supervisor, by default, it lists all the records in a section for which the user has access, irrespective of whether they are the owner or assignee. This happens because the user has access, and the user's name is not available in any of the fields in the record, such as the owner field or assignee field. The record is shown because the user has access to it.

 

The same functionality needs to be achieved in the mobile app. However, here, we need to add a filter condition. For the scenario described above, we need to specify a reference field. If we set the owner field to the current user, it will list only the records where the user's name is linked to the owner field. But what about the records that the user has access to but does not own? How do we achieve this in the mobile application?

 

Regards,

Mayan

Hello Mayan,

You can use this method to display all data:

Enter link [NameOfYourWebSite] .creatio.com/0/Features, search for UseMobileSearchOnlyInSections on this page. Uncheck all the boxes as you see in the image:

At this stage you can see all records in the mobile app.

Next you can use an article from Bogdan’s link to add filters if needed. Also I can recommend you one No-code way of filtering:

  1. System designer -> Mobile application wizard -> Needed workplace
  2. Find needed page (for example Order) and set the default filter. It will be impossible to get data in a mobile app which does not match the criteria of this filter

Best regards, Anhelina!

Show all comments

I am trying to access a local Creatio instance(deployed in Localhost port 9010 ) from Android Studio Emulator. I am using the URL  10.0.2.2 to access my actual machine based on

https://stackoverflow.com/questions/5528850/how-do-you-connect-localhost-in-the-android-emulator)

While Logging in I get an error

While Debugging:

Exception

Type: Terrasoft.SyncException
Message: An error occurred while synchronizing
Stack trace: 
Class.logException(terrasoft-all-combined.js:7325:45)
Class.error(terrasoft-all-combined.js:7332:12)
Function.processFailure(terrasoft-all-combined.js:36689:24)
terrasoft-all-combined.js:36760:20
Object.callbackFromNative(cordova.js:295:52)
processMessage(cordova.js:1081:17)
processMessages(cordova.js:1104:9)
pollOnce(cordova.js:973:9)
pollOnceFromOnlineEvent(cordova.js:960:5)
Type: Terrasoft.Exception
Message: Could not complete request
Stack trace: 
com.creatio.core.net.RequestException: Could not complete request
	at com.creatio.core.net.RequestExceptionFactory.create(RequestExceptionFactory.java:28)
	at com.creatio.core.net.Request.getRequestException(Request.java:418)
	at com.creatio.core.net.Request.post(Request.java:355)
	at com.creatio.core.net.RequestItem.execute(RequestItem.java:30)
	at com.creatio.core.net.RequestManager.doExecuteRequest(RequestManager.java:181)
	at com.creatio.core.net.RequestManager.executeRequest(RequestManager.java:173)
	at com.creatio.core.net.RequestManager.post(RequestManager.java:87)
	at com.creatio.core.net.RequestManager.post(RequestManager.java:75)
	at com.creatio.core.service.Service.post(Service.java:133)
	at com.creatio.core.service.MobileMetadataService.load(MobileMetadataService.java:52)
	at com.creatio.app.sync.MetadataSyncAdapter.downloadMetadata(MetadataSyncAdapter.java:225)
	at com.creatio.app.sync.MetadataSyncAdapter.loadMetadata(MetadataSyncAdapter.java:86)
	at com.creatio.app.sync.MetadataSyncAdapter.startSync(MetadataSyncAdapter.java:57)
	at com.creatio.app.sync.SyncAdapter.synchronize(SyncAdapter.java:55)
	at com.creatio.app.sync.AppSyncAdapter.runSyncAdapter(AppSyncAdapter.java:121)
	at com.creatio.app.sync.AppSyncAdapter.syncMetadata(AppSyncAdapter.java:296)
	at com.creatio.app.sync.AppSyncAdapter.syncAllMetadata(AppSyncAdapter.java:153)
	at com.creatio.app.sync.AppSyncAdapter.startSync(AppSyncAdapter.java:60)
	at com.creatio.app.sync.SyncAdapter.synchronize(SyncAdapter.java:55)
	at com.creatio.app.sync.SyncRunner.runItem(SyncRunner.java:259)
	at com.creatio.app.sync.SyncRunner.doRun(SyncRunner.java:250)
	at com.creatio.app.sync.SyncRunner.run(SyncRunner.java:129)
	at com.creatio.app.sync.SyncRunner.run(SyncRunner.java:101)
	at com.creatio.cordova.plugin.tssynchronization.TSSynchronizationPlugin.runSync(TSSynchronizationPlugin.java:102)
	at com.creatio.cordova.plugin.tssynchronization.TSSynchronizationPlugin.syncApp(TSSynchronizationPlugin.java:356)
	at com.creatio.cordova.plugin.tssynchronization.TSSynchronizationPlugin.lambda$execute$6$com-creatio-cordova-plugin-tssynchronization-TSSynchronizationPlugin(TSSynchronizationPlugin.java:67)
	at com.creatio.cordova.plugin.tssynchronization.TSSynchronizationPlugin$$ExternalSyntheticLambda6.run(Unknown Source:6)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:919)
Caused by: java.net.ProtocolException: Expected leading [0-9a-fA-F] character but was 0x9d
	at com.android.okhttp.internal.http.Http1xStream$ChunkedSource.readChunkSize(Http1xStream.java:463)
	at com.android.okhttp.internal.http.Http1xStream$ChunkedSource.read(Http1xStream.java:437)
	at com.android.okhttp.okio.RealBufferedSource$1.read(RealBufferedSource.java:372)
	at java.io.FilterInputStream.read(FilterInputStream.java:133)
	at java.io.PushbackInputStream.read(PushbackInputStream.java:186)
	at com.creatio.core.util.StreamUtils.writeToOutputStream(StreamUtils.java:32)
	at com.creatio.core.net.DownloadRequest.readResponseInputStream(DownloadRequest.java:68)
	at com.creatio.core.net.Request.connect(Request.java:65)
	at com.creatio.core.net.Request.post(Request.java:340)
	... 27 more
 
Type: Terrasoft.Exception
Message: Expected leading [0-9a-fA-F] character but was 0x9d
Stack trace: 
java.net.ProtocolException: Expected leading [0-9a-fA-F] character but was 0x9d
	at com.android.okhttp.internal.http.Http1xStream$ChunkedSource.readChunkSize(Http1xStream.java:463)
	at com.android.okhttp.internal.http.Http1xStream$ChunkedSource.read(Http1xStream.java:437)
	at com.android.okhttp.okio.RealBufferedSource$1.read(RealBufferedSource.java:372)
	at java.io.FilterInputStream.read(FilterInputStream.java:133)
	at java.io.PushbackInputStream.read(PushbackInputStream.java:186)
	at com.creatio.core.util.StreamUtils.writeToOutputStream(StreamUtils.java:32)
	at com.creatio.core.net.DownloadRequest.readResponseInputStream(DownloadRequest.java:68)
	at com.creatio.core.net.Request.connect(Request.java:65)
	at com.creatio.core.net.Request.post(Request.java:340)
	at com.creatio.core.net.RequestItem.execute(RequestItem.java:30)
	at com.creatio.core.net.RequestManager.doExecuteRequest(RequestManager.java:181)
	at com.creatio.core.net.RequestManager.executeRequest(RequestManager.java:173)
	at com.creatio.core.net.RequestManager.post(RequestManager.java:87)
	at com.creatio.core.net.RequestManager.post(RequestManager.java:75)
	at com.creatio.core.service.Service.post(Service.java:133)
	at com.creatio.core.service.MobileMetadataService.load(MobileMetadataService.java:52)
	at com.creatio.app.sync.MetadataSyncAdapter.downloadMetadata(MetadataSyncAdapter.java:225)
	at com.creatio.app.sync.MetadataSyncAdapter.loadMetadata(MetadataSyncAdapter.java:86)
	at com.creatio.app.sync.MetadataSyncAdapter.startSync(MetadataSyncAdapter.java:57)
	at com.creatio.app.sync.SyncAdapter.synchronize(SyncAdapter.java:55)
	at com.creatio.app.sync.AppSyncAdapter.runSyncAdapter(AppSyncAdapter.java:121)
	at com.creatio.app.sync.AppSyncAdapter.syncMetadata(AppSyncAdapter.java:296)
	at com.creatio.app.sync.AppSyncAdapter.syncAllMetadata(AppSyncAdapter.java:153)
	at com.creatio.app.sync.AppSyncAdapter.startSync(AppSyncAdapter.java:60)
	at com.creatio.app.sync.SyncAdapter.synchronize(SyncAdapter.java:55)
	at com.creatio.app.sync.SyncRunner.runItem(SyncRunner.java:259)
	at com.creatio.app.sync.SyncRunner.doRun(SyncRunner.java:250)
	at com.creatio.app.sync.SyncRunner.run(SyncRunner.java:129)
	at com.creatio.app.sync.SyncRunner.run(SyncRunner.java:101)
	at com.creatio.cordova.plugin.tssynchronization.TSSynchronizationPlugin.runSync(TSSynchronizationPlugin.java:102)
	at com.creatio.cordova.plugin.tssynchronization.TSSynchronizationPlugin.syncApp(TSSynchronizationPlugin.java:356)
	at com.creatio.cordova.plugin.tssynchronization.TSSynchronizationPlugin.lambda$execute$6$com-creatio-cordova-plugin-tssynchronization-TSSynchronizationPlugin(TSSynchronizationPlugin.java:67)
	at com.creatio.cordova.plugin.tssynchronization.TSSynchronizationPlugin$$ExternalSyntheticLambda6.run(Unknown Source:6)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:919)

 

Like 0

Like

1 comments

Hello,

Unfortunately, we cannot help you with this problem because we don't use local environments via Android Studio. But, I can say that this is in fact possible. I managed to connect to localhost using 10.0.2.2.

Please take a closer look at the article you provided, maybe you missed some setting.

Also, look at this post, I hope it can help you fix this error.

Show all comments

Hi all ,

I have a custom business rule in mobile app were i need to set the value of a lookup filed of the records. but i just can't find the way how to do it.

for example:



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

    // The name of the business rule.

    name: "MyRULE",

    // Business rule type: custom.

    ruleType: Terrasoft.RuleTypes.Custom,

    triggeredByColumns: ["Product"],

      events: [Terrasoft.BusinessRuleEvents.Load],

    // Handler function.

    executeFn: function(record, rule, column, customData, callbackConfig) {

        record.set("Product",{value:  , displayValue: });

        // Asynchronous return of values.

        Ext.callback(callbackConfig.success, callbackConfig.scope, [isValid]);

    }

});

 

But this does not work.. i get :

record.set("Product",{value:  , displayValue: });

base-model.js:453 Uncaught TypeError: value.toLowerCase is not a function

 

Can you help ?

 

Thanks.

Eran.

 

Like 0

Like

2 comments

Hi Eran,

Here is how you should write a set function:

set(columnName, value, fireEventConfig)

Here is an example of how to set lookup fields:

record.set("ActivityCategory", ActivityCategory.Store.getById("8b16d130-313e-4b12-a12e-73a2dd8d33cf"), true);

Please note, the value parameter should always contain a record, if this lookup is not loaded in your mobile app then you should do a request to a database in order to get it instead of Store.getById.

Thanks Dmytro,

You are right, I needed to request the database to fetch the lookup record, and only then I could use the  " set(columnName, <lookup record>, fireEventConfig)  "

Show all comments

Hi 

Why when I add some attachments to case in mobile app, i didn't see this attachments on local instance on PC? (case is visible but no attachment)

Like 0

Like

1 comments

Hello,

 

This issue can happen if a user works in a mobile application in an online mode while their connection is not stable. 

 

Meanwhile, it would be better for those users who are working from mobile with a bad connection to stay in an offline mode and sync their apps when the connection gets better. 



Please contact our support team - if the issue still reproduces.

Show all comments

Hello, I want to know if somebody knows how to add a virtual detail in the mobile app. 

 

Like this functionality but build on the mobile schema. Is possible?

https://community.creatio.com/articles/add-virtual-detail-page

Like 0

Like

1 comments

Dear Federico,

 

Thank you for your question! We double-check the information and found that such an option is yet to be implemented for the mobile schema. We'll register your request to the R&D team to add the functionality in future releases. 

 

As of now, we suggest creating regular detail according to the required conditions. 

 

Best regards,

Anastasiia

Show all comments

I have a custom section that i've added to the mobile app.

This section record module has a check box.

When i "click" the checkbox, the record is automatically updated with the value of the checkbox (in the backend).

I need to update other fields on the record page, jest before it sends the update to the server.. basically what i need is to "catch" the "onClick / OnTouch" of the checkbox field -> update other field based on the checkBox field value -> (continue)send the update to the server..

 

Any Idea ? 

Thanks,

Eran.

Like 0

Like

1 comments

Hello,

The best way of doing your task would be to create a custom mobile business rule on your checkbox field with the event Terrasoft.BusinessRuleEvents.ValueChanged.

You can find more about the business rules in this article.

Show all comments