Hi Team,

 

We have installed the Field Management (Open Street Map) in our instance map configurations is working as we expected in web app but same thing we configured in the Mobile app, fields are displaying but the map UI is not showing in mobile.

And we have tried to install the Field Sales connector, DB error occurred while installing please help us to achieve the Mobile map configuration.

 

Error log on Filed Sales:

 

2024-09-23 14:09:41,557 Error occurred while installing data "SysModuleInWorkplace" in package "FieldForce". UId 5f69e597-9acb-4852-9f3d-e4d278c7b02b: The UPDATE statement conflicted with the FOREIGN KEY constraint "FKd5jrT2KFY0lXcOnqZCi4dxhomfE". The conflict occurred in database "Creatio8DB_GL_250424", table "dbo.SysModule", column 'Id'.

The statement has been terminated.

 

Thanks,

Prem

Like 0

Like

4 comments

You look like to be dealing with two different problems. It can be a platform-specific usability or setup problem with the mobile app map user interface. Examine any settings unique to mobile devices and see if the mobile map feature is properly supported. Regarding the Field Sales connector DB error, there can be an oversight or a problem with database compatibility. In addition to making that the connector is compatible with the version of your system, check the logs for detailed problem messages.

Hi Joshua,

 

We have the requirement to build map functionalities on web and mobile app it is like a (google map) for that we have implemented on web applications using  Field force connector it is working as we expected in web app and same things we configured on the mobile application wizard but we are not able to see the map in mobile as in web app. Please find the snap for the reference for map UI in web app, we are expecting the Open Street Map hyper link in mobile.
 

Web app Map Snap
 

Prem Kumar,

Hi!

This is not currently available in the mobile app.
You can inspect the Account address detail as an example of integration with OpenStreetMaps in the system and Field Force application as an example of maps functionality on mobile apps. 

And also, 

You can find information in these posts:

https://community.creatio.com/questions/account-address-map-mobile-application

https://community.creatio.com/questions/maps-mobile-application

 

Best regards,

Anton

Anton Starikov,

Hi Anton,

 

We have tried above mentioned approaches also but we couldn't get exact UI  as we expected  on mobile app.

We are expecting like a google map in mobile, it is used for delivering the Freight to the customer place. Please help us to achieve this functionalities in mobile.

Thanks,
Prem

Web app Map Snap

 

Show all comments

Hello

Is there a way to do something like the list of products in order in the mobile application?

I am creating a custom section with the same functionality, but it has to be able to be reflected in the mobile application.

I would like to know if it is possible to do it in the mobile application or an alternative since the idea is that users can select records from a catalog and have them included in a new record. 

Like 1

Like

1 comments

Hi Laura,
 

You can find an example of this implementation in the following link:
https://community.creatio.com/questions/enable-product-catalog-list-ord…

Additionaly, here you can find a link tree with all the information you would need for mobile application development.
 

I hope this helps. Have a great day!

Show all comments

When making changes to the section list and/or section pages for the mobile app, should I create a new packages or is it ok to leave the current package as "custom" and make the changes via the mobile application wizard?

Like 0

Like

1 comments

Hi!

It is normal to leave the current package as "custom". You can change the package only if you want to keep some functionality in a separate package. 

Best regards, 
Anton

Show all comments

I have added attachment section from mobile app wizard which shows uploaded images but I want user to be able to upload the images or docs from mobile app attachment section. How do I do that?

Like 0

Like

2 comments

Hi!

Basically, there is no way to display Attachments as a separate section. Please contact our support team at support@creatio.com to discuss this further. 

Best regards,
Anton
 

Hi Tony, I have just run into the same problem, needing to upload documents as part of our Order process... Did you have any luck with Creatio Support on this issue?

Show all comments

Hello, We've followed the steps here https://academy.creatio.com/docs/8.x/no-code-customization/customizatio… to create a Freedom UI page for an existing object (Leads) and can view the Freedom UI in the web interface, however we do not see the option to enable the Freedom UI for this section in the Mobile Application Wizard. There should be a checkbox next to the Leads section to enable the freedom UI but we do not see it. How do we do this?

 

Thank you,


Eric

Like 0

Like

3 comments

Good afternoon!
 

To do this, you need to enable the "UseMobileFlutterFirst" feature here:

https://mywebsite.creatio.com/0/flags


image.png

Regards,
Anton

Hi Anton, thank you for the reply. I enabled "UseMobileFlutterFirst" as you described but I still do not see the checkbox to enable freedomUI in the mobile app wizard for our leads section. Is there anything else I need to do?

 

Also, it looks like you posted an image but it didn't load for me in case that included an additional step.

 

Eric

Eric Curran,

Please contact technical support at support@creatio.com

Show all comments

Добрий день.
Допоможіть, будь ласка, відфільтрувати записи у кастомному розділі в мобільному додатку.

Потрібний фільтр "Створив = поточний користувач"

Створив фільтр 

Terrasoft.sdk.Module.addFilter("UsrMyNotes", Ext.create("Terrasoft.Filter", {
   type: Terrasoft.FilterTypes.Group,
   logicalOperation: Terrasoft.FilterLogicalOperations.And,
   subfilters: [
       {
           property: "CreatedBy",
           comparisonType: Terrasoft.ComparisonType.EQUAL,
           value: Terrasoft.sdk.CurrentUser.getContactId()
       }
   ]
}));

та зберіг у файл UsrMobileNotesModuleConfig та додав файл до маніфесту робочого місця. 


},
"UsrMyNotes": {
   "RequiredModels": [
       "UsrMyNotes"
   ],
   "ModelExtensions": [],
   "PagesExtensions": [
       "UsrMobileUsrMyNotesActionsSettingsBlyzenkoWS",
       "UsrMobileUsrMyNotesGridPageSettingsBlyzenkoWS",
       "UsrMobileUsrMyNotesRecordPageSettingsBlyzenkoWS",
       "UsrMobileNotesModuleConfig"
   ]
}
Але фільтр не працює. Допоможіть, будь ласка. 
 

Like 0

Like

1 comments

Доброго дня,
Наведений вами приклад актуальний для класичних секцій мобільного додатку, однак, вочевидь ви використовуєте інтерфейс Freedom UI для мобільного розділу вашого об'єкту. 
Для реалізації вашої задачі в даному випадку необхідно змінити схему Mobile[Object]GridPageSettings[Workplace].
В цій схемі всередині масиву [ ] необхідно додати блок з кодом фільтру:
{
    "operation": "merge",
    "name": "settings",
    "values": {
        "viewModelConfigDiff": "[{\"operation\":\"merge\",\"name\":\"Attribute_Items_ModelConfig\",\"values\":{\"filterAttributes\":[]}},{\"operation\":\"insert\",\"name\":\"MyFilter\",\"values\":{},\"parentName\":\"Attribute_Items_ModelConfig\",\"propertyName\": \"filterAttributes\"},{\"operation\":\"merge\",\"name\":\"Attributes\",\"values\":{\"MyFilter\":{ ВАШ ФІЛЬТР }}}]"
    }
}
Для отримання самого фільтру варто використати наступний метод:
1) В дизайнері Freedom UI для довільної сторінки додаєте новий список на ваш об'єкт 
2) В цьому списку налаштовуєте фільтр, який який ви хочете застосувати в мобільному додатку
3) Зберігаєте фільтр і саму сторінку
4) Відкриваєте код самої сторінки і всередині неї можете знайти повний код фільтру:
5) Цей код і треба вставити всередину {\"MyFilter\":{ ВАШ ФІЛЬТР }}.
Важливо, в ньому треба екранувати символи " за допомогою штриха \, тобто таким чином \" і код фільтру не повинен містити табуляцій.
В результаті ваша сторінка Mobile[Object]GridPageSettings[Workplace] має виглядати приблизно наступним чином:
[
{
    "operation": "merge",
    "name": "settings",
    "values": {
        "viewModelConfigDiff": "[{\"operation\":\"merge\",\"name\":\"Attribute_Items_ModelConfig\",\"values\":{\"filterAttributes\":[]}},{\"operation\":\"insert\",\"name\":\"MyFilter\",\"values\":{},\"parentName\":\"Attribute_Items_ModelConfig\",\"propertyName\": \"filterAttributes\"},{\"operation\":\"merge\",\"name\":\"Attributes\",\"values\":{\"MyFilter\":{\"value\": {\"items\": {\"154ca683-b9f9-4359-88ca-e9dfbd10481a\": {\"filterType\": 4,\"comparisonType\": 3,\"isEnabled\": true,\"trimDateTimeParameterToDate\": false,\"leftExpression\": {\"expressionType\": 0,\"columnPath\": \"Status\"},\"isAggregative\": false,\"dataValueType\": 10,\"referenceSchemaName\": \"CaseStatus\",\"rightExpressions\": [{\"expressionType\": 2,\"parameter\": {\"dataValueType\": 10,\"value\": {\"Name\": \"In progress\",\"IsFinal\": false,\"Id\": \"7e9f1204-f46b-1410-fb9a-0050ba5d6c38\",\"Image\": \"\",\"StatusColor\": \"#FFAC07\",\"value\": \"7e9f1204-f46b-1410-fb9a-0050ba5d6c38\",\"displayValue\": \"In progress\"}}}]},\"d819453a-7122-4f49-92e8-3b0d7e4601f5\": {\"filterType\": 4,\"comparisonType\": 3,\"isEnabled\": true,\"trimDateTimeParameterToDate\": false,\"leftExpression\": {\"expressionType\": 0,\"columnPath\": \"Status\"},\"isAggregative\": false,\"dataValueType\": 10,\"referenceSchemaName\": \"CaseStatus\",\"rightExpressions\": [{\"expressionType\": 2,\"parameter\": {\"dataValueType\": 10,\"value\": {\"Name\": \"New\",\"IsFinal\": false,\"Id\": \"ae5f2f10-f46b-1410-fd9a-0050ba5d6c38\",\"Image\": \"\",\"StatusColor\": \"#0058EF\",\"value\": \"ae5f2f10-f46b-1410-fd9a-0050ba5d6c38\",\"displayValue\": \"New\"}}}]}},\"logicalOperation\": 1,\"isEnabled\": true,\"filterType\": 6,\"rootSchemaName\": \"Case\"}}}}]"}
}
]
Після цього зберігаєте зміни і синхронізуєте мобільний додаток, в результаті розділ має бути відфільтрованим.

Show all comments

It is necessary to configure the filter CreatedBy=CurrentUser in the mobile application.

The filter is saved in the file UsrMobileNotesModuleConfig and referenced in the manifest.

The file is specified in the manifest:

},
"UsrMyNotes": {
   "RequiredModels": [
       "UsrMyNotes"
   ],
   "ModelExtensions": [],
   "PagesExtensions": [
       "UsrMobileUsrMyNotesActionsSettingsBlyzenkoWS",
       "UsrMobileUsrMyNotesGridPageSettingsBlyzenkoWS",
       "UsrMobileUsrMyNotesRecordPageSettingsBlyzenkoWS",
       "UsrMobileNotesModuleConfig"
   ]
}

Filter code:

Terrasoft.sdk.Module.addFilter("UsrMyNotes", Ext.create("Terrasoft.Filter", {
   type: Terrasoft.FilterTypes.Group,
   logicalOperation: Terrasoft.FilterLogicalOperations.And,
   subfilters: [
       {
           property: "CreatedBy",
           comparisonType: Terrasoft.ComparisonType.EQUAL,
           value: Terrasoft.sdk.CurrentUser.getContactId()
       }
   ]
}));

But it does not work. Please help.
 

Like 1

Like

1 comments

Hello,

The example you provided is relevant for the classic sections of the mobile application; however, it appears that you are using the Freedom UI interface for the mobile section of your object. To implement your task in this case, you need to change the Mobile[Object]GridPageSettings[Workplace] schema. In this schema, inside the array [ ], you need to add a block with the code:
{
    "operation": "merge",
    "name": "settings",
    "values": {
        "viewModelConfigDiff": "[{\"operation\":\"merge\",\"name\":\"Attribute_Items_ModelConfig\",\"values\":{\"filterAttributes\":[]}},{\"operation\":\"insert\",\"name\":\"MyFilter\",\"values\":{},\"parentName\":\"Attribute_Items_ModelConfig\",\"propertyName\": \"filterAttributes\"},{\"operation\":\"merge\",\"name\":\"Attributes\",\"values\":{\"MyFilter\":{ YOUR FILTER }}}]"
    }
}

To obtain the filter itself, you should use the following method:

  1. 1) In the Freedom UI designer, add a new list to your object on any page.
  2. 2) In this list, configure the filter you want to apply in the mobile application.
  3. 3) Save the filter and the page.
  4. 4) Open the code of the page and find the complete filter code inside it.
  5. 5) Insert this code inside the {"MyFilter":{ YOUR FILTER }}.

It's important to escape the " characters with a backslash, like this \", and the filter code should not contain tabs. As a result, your Mobile[Object]GridPageSettings[Workplace] page should look something like this:

[
{
    "operation": "merge",
    "name": "settings",
    "values": {
        "viewModelConfigDiff": "[{\"operation\":\"merge\",\"name\":\"Attribute_Items_ModelConfig\",\"values\":{\"filterAttributes\":[]}},{\"operation\":\"insert\",\"name\":\"MyFilter\",\"values\":{},\"parentName\":\"Attribute_Items_ModelConfig\",\"propertyName\": \"filterAttributes\"},{\"operation\":\"merge\",\"name\":\"Attributes\",\"values\":{\"MyFilter\":{\"value\": {\"items\": {\"154ca683-b9f9-4359-88ca-e9dfbd10481a\": {\"filterType\": 4,\"comparisonType\": 3,\"isEnabled\": true,\"trimDateTimeParameterToDate\": false,\"leftExpression\": {\"expressionType\": 0,\"columnPath\": \"Status\"},\"isAggregative\": false,\"dataValueType\": 10,\"referenceSchemaName\": \"CaseStatus\",\"rightExpressions\": [{\"expressionType\": 2,\"parameter\": {\"dataValueType\": 10,\"value\": {\"Name\": \"In progress\",\"IsFinal\": false,\"Id\": \"7e9f1204-f46b-1410-fb9a-0050ba5d6c38\",\"Image\": \"\",\"StatusColor\": \"#FFAC07\",\"value\": \"7e9f1204-f46b-1410-fb9a-0050ba5d6c38\",\"displayValue\": \"In progress\"}}}]},\"d819453a-7122-4f49-92e8-3b0d7e4601f5\": {\"filterType\": 4,\"comparisonType\": 3,\"isEnabled\": true,\"trimDateTimeParameterToDate\": false,\"leftExpression\": {\"expressionType\": 0,\"columnPath\": \"Status\"},\"isAggregative\": false,\"dataValueType\": 10,\"referenceSchemaName\": \"CaseStatus\",\"rightExpressions\": [{\"expressionType\": 2,\"parameter\": {\"dataValueType\": 10,\"value\": {\"Name\": \"New\",\"IsFinal\": false,\"Id\": \"ae5f2f10-f46b-1410-fd9a-0050ba5d6c38\",\"Image\": \"\",\"StatusColor\": \"#0058EF\",\"value\": \"ae5f2f10-f46b-1410-fd9a-0050ba5d6c38\",\"displayValue\": \"New\"}}}]}},\"logicalOperation\": 1,\"isEnabled\": true,\"filterType\": 6,\"rootSchemaName\": \"Case\"}}}}]"}
}
]

After that, save the changes and synchronize the mobile application. As a result, the section should be filtered.

 

 

Show all comments

Hi team, 

 

I have a case when after trigger record.save() on the page I want to reload the embedded details. The record is saved correctly and entered on the success method. How can force the reload of the store for the detail?

 

Thanks!

Like 0

Like

1 comments

Hello Federico,

 

It should be tested, but if I remember correctly if controller is used for the action the

 

controller.refreshDirtyData();

 

method can be called to force reload all details on the page. You can also find its uage in the MobileActivityGridPageControllerV2 from the Mobile package.

 

There is also an option that our R&D team used, the case was the following: changes were applied on the edit page and data on all previous pages should've been updated. For this purpose the following approach was used:

completeDataSaving: function(operation) {
		let operationConfig = this.createPageOperationConfig(operation);
		return Terrasoft.BaseEditPageController.superclass.completeDataSaving.apply(this, arguments).then(() => {
			let pageHistoryItem = this.getPageHistoryItem();
			let useOptimisticEditing = this.useOptimisticEditing();
			if (useOptimisticEditing) {
				Terrasoft.PageNavigator.refreshPreviousPages(operationConfig, pageHistoryItem);
			} else {
				Terrasoft.PageNavigator.markPreviousPagesAsDirty(operationConfig);
			}
			this.doAfterSaving(operationConfig);
		});
	}

But this is more for the previous edit pages rather than for the current edit page. Examples of Terrasoft.PageNavigator.refreshPreviousPages() can be found in base-edit-page-controller.js and in the base-preview-page-controller.js

Show all comments

Dear colleagues

 

Hi all, I wanted to know if anyone knows of a way to have a "drawable" field in the mobile app, so I can get the "drawn" signature of the customer in the app.

 

Thanks in advance

 

Best regards

Julio Falcón

Like 1

Like

3 comments

Hello!

The idea to implement e-signature as basic functionality in further releases is already registered for our R&D team. We will add your case to it's backlog so to increase it's priority.
As f​​​​or now, this issue has already been discussed in another post, this may help you:

https://community.creatio.com/questions/capture-signature-mobile-applic…
 

Thank you for contacting the Creatio technical support team. 

Anton Starikov,

Thanks Anton, I'm Already see this post, but it's not clear to me the solution, not too much detail where to introduce the code and so in..

Show all comments

Hello team,

 

Is it possible to add a custom button in a mobile application that uses the html5-qrcode javascript library to read qr code?

 

Like 1

Like

1 comments

Hello Stefano,

 

Our R&D team has a task to implement a QR scanner in the mobile application (was also discussed here). The task is still in progress on their end and we expect this functionality to appear in the app in the next application releases. Currently it won't be an easy task, html5-qrcode is an external library and cannot be added to the client module.

Show all comments