Допоможіть, будь ласка.

Я створив об'єкт UsrAppMobNotifications.

В ньому є буулівська змінна UsrBoolRead, Мені необхідно на версії 8.1 налаштувати бізнес правило, щоб при відкриті ізапису цього об'єкту користувачем змінна UsrBoolRead, ставала true.



код сторінки запису мобільного додатку (UsrMobileUsrAppMobNotificationsRecordPageSettingsPortal ) не містить жодних блоків,



Питання 1. як додати своє бізнес правило. Питання



2. Намагався самостійно на основі прикладів скласти правило, але воно не працює .



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

name: "SetUsrBoolReadTrueRule",

ruleType: Terrasoft.RuleTypes.Custom,

events: [Terrasoft.BusinessRuleEvents.Load],

executeFn: function(model, rule, column, customData, callbackConfig) { model.set("UsrBoolRead", true);

Ext.callback(callbackConfig.success, callbackConfig.scope);

}

});

Нравится

2 комментария

Добрий день,

 

Відповідь на питання 2: даний підхід не працює в Freedom UI мобільному додатку, він робочий лише для 7x інтерфейсу. Для нового UI ми все ще працюємо над можливістю створювати бізнес правила через інтерфейс.

 

Якщо сторінка відкривається в мобільному додатку в старому інтерфейсі, то у старому інтерфейсі правило, яке Ви створили, має спрацювати (не забудьте його додати в маніфесті в відповідну модель UsrAppMobNotifications в масив ModelExtensions і перелогінитись в мобільний додаток)

Oscar Dylan,  Якщо при додаванні розділу у мобільний додаток встановити галочку Freedom UI, розділ відкривається у UI інтерфейсі і бізнес правила не спрацьовують.



Уточніть, будь ласка, для Freedom UI інтерфейсу мобільного додатку на даний момент не можливо додати бізнес правила навіть кодом? 

 

 

Показать все комментарии

Вітаю.

Стикнувся з відсутністю розділу візи у мобільному додатку.

Для тесту перевіряв як на DefaultWorkplace так і на нових, при цьому у майстрі такий розділ є.

Изображение удалено.Изображение удалено.

При цьому через веб інтерфейс візи доступні

Изображение удалено.

Може хтось підказати куди копати?

Нравится

2 комментария

Добрий день,

Щоб увімкнути функціонал візування у мобільному додатку, вам потрібно увімкнути наступні фічі:

UseMobileApprovals - дозволяє відображати візування в картках (з можливістю прийняти або відхилити візу).

UseMobileApprovalPushNotifications - надсилати push-повідомлення при створенні віз (з посиланням на відповідну картку схвалення).

UseMobileFlutterApprovals - Відображає розділ візи у мобільному додатку. Також перенаправляє до цього розділу при натисканні на пуш-сповіщення "затвердження".

Viktoriia Hrynchuk,

Про фічі я і забув, дякую.

Проте не бачу такого як UseMobileFlutterApprovals

Є UseMobileApprovalsSection, увімкнув, розділ зʼявився...порожній

Якщо натиснути безпосередньо на розділ візи (або через пуш) то зникають всі кнопки керування у додатку і нічого не відображено.

При цьому візування в картках та пуши приходять.

 

Показать все комментарии

Какие способы и инструменты предоставляет Flutter для кастомизации мобильных приложений? Можно ли изменять дизайн, структуру и функциональность приложения, созданного на базе Flutter, и если да, какие шаги нужно предпринять, чтобы успешно внести кастомные изменения в приложение?

Нравится

1 комментарий

Добрый день,



К сожалению, на данный момент нет статей или документации по кастомизации мобильных приложений на базе Flutter. Мы уже зарегистрировали задачу на команду R&D для добавления подобных инструкций и ожидаем обновление статей академии в ближайшем будущем. 



Благодарим вас за понимание.



С уважением,

Антон

Показать все комментарии

Добрый день. Есть созданый нами сервис (по образцу базового ReportService), который возвращает по записи детали объекта pdf-файл. На десктопной версии креатио работа с ним настроена, возникли сложности с реализацией аналогичного в мобильном приложении.

По подробностям: на десктопе сервис на странице записи детали по нажатию кнопки получает значение поля и в ответ открывает файл на новой странице. Как именно что-то подобное сделать для записей детали на мобильном приложении? Есть ли какие-то нюансы с открытием pdf в мобильном приложении креатио?

Нравится

1 комментарий

Добрый день!

 

Позвольте привести пример скачивания и автоматического открытия файла с использованием базового FileService/GetFile (сервис и метод, которые триггерятся если в декстопной версии из детали с файлами выгрузить какой-либо файл) в мобильном приложении. Для этого:

1) Была создана кастомная кнопка в действиях на странице контакта в мобильном приложении

2) Был создан обработчик для нажатия на эту кнопку

Как это было достигнуто:

1) В конфигурации создать модуль UsrMyAction с кодом

Ext.define("Terrasoft.MyAction", {
	extend: "Terrasoft.ActionBase",
	config: {
		useMask: false,
		title: "MyActionTitle",
		iconCls: Terrasoft.ActionIcons.Copy
	},
 
	execute: function(record) {
		this.callParent(arguments);
		var config = {
			url: 'https://1168222internal-demo.creatio.com/0/rest/FileService/GetFile/e9eafee9-c4e4-4793-ad0a-003bd2c6a9b4/3bbbd5a8-8f8d-4570-8526-0488eb37da28',
			success: function(fullPath, relativePath) {
				Terrasoft.FileIntent.open({
					path: relativePath
				});
			}, 
			name: "Test_" + new Date().toDateString() + ".png"
		};
 
		Terrasoft.RequestManager.issueRequest({
					requestFn: Terrasoft.FileTransfer.download,
					requestFnConfig: config,
					responseToStatusCodeFn: Terrasoft.FileTransfer.getStatusCodeFromException,
					loginFailure: function(exception) {
						Ext.callback(config.failure, config.scope, [exception]);
					},
					suppressRequestEvents: config.suppressRequestEvents,
					scope: Terrasoft.FileTransfer
				});
		this.executionEnd(true);
	}
 
});

 

В нем создать локал.строку с кодом MyActionTitle и каким-то значением для этой локал.строки (например "Call custom service").

2) В конфигурации создать модуль UsrMobileContactModuleConfig с кодом

Terrasoft.sdk.Actions.add("Contact", {
    name: "myAction",
    actionClassName: "Terrasoft.MyAction"
});



3) В манифесте мобильного приложения добавить:

"CustomSchemas": [

"UsrMyAction"

],

...

"Models": {

...

"Contact": {

...

"PagesExtensions": [

"UsrMobileContactModuleConfig"

]

Пример манифеста из демо сайта для тестов, где тестировалась логика – файл MobileApplicationManifestDefaultWorkplace.txt ниже:

{
	"CustomSchemas": [
        "UsrMyAction"
    ],
	"SyncOptions": {
		"SysSettingsImportConfig": [
			"DefaultMessageLanguage"
		],
		"ModelDataImportConfig": [
			{
				"Name": "Contact",
				"SyncColumns": []
			},
			{
				"Name": "SysLanguage",
				"SyncColumns": []
			},
			{
				"Name": "ContactFile",
				"SyncColumns": [
					"Contact",
					"CreatedOn",
					"CreatedBy",
					"Name",
					"Data",
					"Type",
					"Size"
				]
			},
			{
				"Name": "FileGroup",
				"SyncColumns": []
			},
			{
				"Name": "ContactCommunication",
				"SyncColumns": [
					"CommunicationType",
					"Number",
					"Contact"
				]
			},
			{
				"Name": "CommunicationType",
				"SyncColumns": []
			},
			{
				"Name": "ContactAddress",
				"SyncColumns": [
					"AddressType",
					"Country",
					"Region",
					"City",
					"Address",
					"Zip",
					"Contact"
				]
			},
			{
				"Name": "AddressType",
				"SyncColumns": []
			},
			{
				"Name": "Country",
				"SyncColumns": []
			},
			{
				"Name": "Region",
				"SyncColumns": []
			},
			{
				"Name": "City",
				"SyncColumns": []
			},
			{
				"Name": "ContactAnniversary",
				"SyncColumns": [
					"Date",
					"AnniversaryType",
					"Contact"
				]
			},
			{
				"Name": "AnniversaryType",
				"SyncColumns": []
			},
			{
				"Name": "FileType",
				"SyncColumns": []
			},
			{
				"Name": "SocialMessage",
				"SyncColumns": [
					"EntityId"
				]
			}
		]
	},
 
	"Modules": {},
	"Models": {
		"ContactFile": {
			"RequiredModels": [
				"ContactFile",
				"FileGroup",
				"SocialMessage"
			],
			"ModelExtensions": [],
			"PagesExtensions": [
				"UsrMobileContactFileActionsSettingsDefaultWorkplace",
				"UsrMobileContactFileGridPageSettingsDefaultWorkplace",
				"UsrMobileContactFileRecordPageSettingsDefaultWorkplace"
			]
		},
		"SocialMessage": {
			"RequiredModels": [],
			"ModelExtensions": [],
			"PagesExtensions": []
		},
		"Contact": {
			"RequiredModels": [
				"Contact",
				"SysLanguage",
				"ContactFile",
				"FileGroup",
				"ContactCommunication",
				"CommunicationType",
				"ContactAddress",
				"AddressType",
				"Country",
				"Region",
				"City",
				"ContactAnniversary",
				"AnniversaryType",
				"FileType"
			],
			"ModelExtensions": [],
			"PagesExtensions": [
				"UsrMobileContactModuleConfig"
			]
		}
	},
	"ModuleGroups": {
		"main": {}
	},
	"UseUTC": true
}



4) Обязательно выполнить рисайкл пула приложения (не перезапуск сайта в IIS, а именно рисайкл пула).

Сама логика скачивания файла и его открытие реализована в модуле UsrMyAction:

var config = {

url: 'https://1168222internal-demo.creatio.com/0/rest/FileService/GetFile/e9e…

success: function(fullPath, relativePath) {

Terrasoft.FileIntent.open({

path: relativePath

});

},

name: "Test_" + new Date().toDateString() + ".png"

};

Terrasoft.RequestManager.issueRequest({

requestFn: Terrasoft.FileTransfer.download,

requestFnConfig: config,

responseToStatusCodeFn: Terrasoft.FileTransfer.getStatusCodeFromException,

loginFailure: function(exception) {

Ext.callback(config.failure, config.scope, [exception]);

},

suppressRequestEvents: config.suppressRequestEvents,

scope: Terrasoft.FileTransfer

});

Какие здесь ключевые моменты:

1) https://1168222internal-demo.creatio.com/0/rest/FileService/GetFile/e9e… получить файл (кстати, здесь можно немного заменить код на следующий:

var config = {

url: Terrasoft.CurrentUserInfo.serverUrl + '0/rest/FileService/GetFile/e9eafee9-c4e4-4793-ad0a-003bd2c6a9b4/3bbbd5a8-8f8d-4570-8526-0488

и результат будет тот же, просто не будет использоваться явная ссылка на корень приложения). Здесь нужно будет заменить его на URL к кастомному сервису.

2) "Test_" + new Date().toDateString() + ".png" - это название файла, который будет подгружен и автоматически открыт. Здесь важно еще контролировать расширение скачиваемого файла, но если в 100% случаев будет скачиваться PDF, то можно здесь просто захардкодировать расширение .pdf.

3) За подгрузку файла отвечает метод Terrasoft.RequestManager.issueRequest, в который мы передаем в config ссылку откуда нам нужно получить файл и что делать в случае успешного выполнения метода issueRequest (здесь можно добавить и failure обработчик).

4) На success п.3 запускается метод Terrasoft.FileIntent.open который и отвечает за автоматическое открытие файла.

Почему сделано так: при загрузке файла через Terrasoft.RequestManager.issueRequest сохранение происходит не в хранилище мобильного телефона, а в локальный кэш мобильного приложения и файл автоматически открывается, чтобы была возможность его сохранить уже в хранилище самого мобильного устройства. У нас нет встроенного метода, который позволил бы загрузить файл напрямую в мобильное устройство, только ручное хранение.

Ограничение: сервис по получению файла должен быть доступен через метод GET. Если сейчас у Вас он реализован через POST, то создайте рядом еще один метод специально для мобильного приложения и вызывайте в коде его (в URL вызова можно передавать значение аргументов для метода (например, ID записей файлов или т.д.)).

Что нужно заменить:

1) Кастомную кнопку с действием я добавлял на карточку контакта. Вы же можете ее добавить в карту детали с файлами (подход тот же, только вместо Contact – название объекта детали). Ну или можете динамически вычитывать записи из детали и выбирать подходящую.

2) Продумать как реализовать названия файлов (опять же, можно считывать оригинальный файл из детали, брать его название и вставлять в параметр name).

Результат (тестировал и на iOS физическом девайсе и в эмуляторе в Android studio):

1) Сама кнопка:

 

2) Нажатие на кнопку:

 

Далее файл можно сохранить:

 

 

потестируйте и продолжайте кастомизировать под Ваш сервис.

 

 

Показать все комментарии

Добрый день!



Как можно изменить цвет текста и его стиль на странице реестра обращений?



Вижу на странице MobileCaseGridPageSettings есть описание полей следующим образом :

{
		"operation": "insert",
		"name": "7d2909658854-559e-4e3f-bedc-6a6ae43c",
		"values": {
			"row": 0,
			"content": "Состояние",
			"columnName": "Status",
			"dataValueType": 10,
			"operation": "insert"
		},
		"parentName": "settings",
		"propertyName": "subtitleItems",
		"index": 0
	},

Возможно ли поменять цвет текста и его стиль в этом месте?

Нравится

1 комментарий

Добрый день,



MobileCaseGridPageSettings — это метаданные страницы, которая не поддерживает стили CSS.

 

Чтобы изменить цвет, можно создать отдельную клиентскую схему и на вкладке less прописать соответствующие css стили. Далее схему добавить в манифест в CustomSchemas.



С уважением,

Дарий

Показать все комментарии

Доброго дня!

Не вдалось встановити доповнення з маркетплейс Field surveys for Creatio

Встановлювала через Пакет(скачала та завантажила через Установка и удаление приложений)

 

2022-07-13 13:54:21,388 Загрузка файла: SurveyMobile_v_1_3.zip 100%

2022-07-13 13:54:21,560 Началось резервное копирование конфигурации.

2022-07-13 13:54:21,576 Загрузка пакетов из архива

2022-07-13 13:54:21,935 Пакет "Survey" загружен

2022-07-13 13:54:21,935 Пакет "SurveyMobile" загружен

2022-07-13 13:54:21,951 Резервная копия конфигурации успешно создана.

2022-07-13 13:54:22,076 Установка приложения из файла началась. Имя приложения: SurveyMobile_v_1_3. Код: SurveyMobile_v_1_3.

2022-07-13 13:54:22,076 Подготовка пакетов к инсталляции

2022-07-13 13:54:22,154 Загрузка пакетов из архива

2022-07-13 13:54:22,545 Пакет "Survey" загружен

2022-07-13 13:54:22,545 Пакет "SurveyMobile" загружен

2022-07-13 13:54:22,545 Пропущено - Загрузка пакетов из базы данных (новое приложение)

2022-07-13 13:54:22,545 Сравнение пакетов

2022-07-13 13:54:22,779 Сохранена схема "AddQuestionsToVisit" в пакете "Survey"

2022-07-13 13:54:22,810 Сохранена схема "Answer" в пакете "Survey"

2022-07-13 13:54:22,841 Сохранена схема "AnswerInQuestion" в пакете "Survey"

2022-07-13 13:54:22,873 Сохранена схема "AnswerInQuestion1Page" в пакете "Survey"

2022-07-13 13:54:22,904 Сохранена схема "AnswerInQuestionDetail" в пакете "Survey"

2022-07-13 13:54:22,935 Сохранена схема "AnswerToQuestion" в пакете "Survey"

2022-07-13 13:54:22,966 Сохранена схема "AnswerToQuestion1Page" в пакете "Survey"

2022-07-13 13:54:22,998 Сохранена схема "AnswerToQuestionDetail" в пакете "Survey"

2022-07-13 13:54:23,029 Сохранена схема "AnswerType" в пакете "Survey"

2022-07-13 13:54:23,060 Сохранена схема "QuestionBlock" в пакете "Survey"

2022-07-13 13:54:23,091 Сохранена схема "QuestionGroup" в пакете "Survey"

2022-07-13 13:54:23,107 Сохранена схема "QuestionInQuestionaire" в пакете "Survey"

2022-07-13 13:54:23,138 Сохранена схема "QuestionInQuestionaireDetail" в пакете "Survey"

2022-07-13 13:54:23,154 Сохранена схема "QuestionInQuestionairePage" в пакете "Survey"

2022-07-13 13:54:23,185 Сохранена схема "QuestionInSurvey" в пакете "Survey"

2022-07-13 13:54:23,216 Сохранена схема "Questionnaire" в пакете "Survey"

2022-07-13 13:54:23,248 Сохранена схема "QuestionnaireFile" в пакете "Survey"

2022-07-13 13:54:23,263 Сохранена схема "QuestionnaireFolder" в пакете "Survey"

2022-07-13 13:54:23,295 Сохранена схема "QuestionnaireInFolder" в пакете "Survey"

2022-07-13 13:54:23,310 Сохранена схема "QuestionnaireInTag" в пакете "Survey"

2022-07-13 13:54:23,341 Сохранена схема "QuestionnairePage" в пакете "Survey"

2022-07-13 13:54:23,357 Сохранена схема "QuestionnaireSection" в пакете "Survey"

2022-07-13 13:54:23,388 Сохранена схема "QuestionnaireTag" в пакете "Survey"

2022-07-13 13:54:23,404 Сохранена схема "SetDisplayAnswer" в пакете "Survey"

2022-07-13 13:54:23,435 Сохранена схема "Survey" в пакете "Survey"

2022-07-13 13:54:23,451 Сохранена схема "SurveyFile" в пакете "Survey"

2022-07-13 13:54:23,482 Сохранена схема "SurveyFolder" в пакете "Survey"

2022-07-13 13:54:23,498 Сохранена схема "SurveyInFolder" в пакете "Survey"

2022-07-13 13:54:23,529 Сохранена схема "SurveyInTag" в пакете "Survey"

2022-07-13 13:54:23,545 Сохранена схема "SurveyPage" в пакете "Survey"

2022-07-13 13:54:23,576 Сохранена схема "SurveySection" в пакете "Survey"

2022-07-13 13:54:23,591 Сохранена схема "SurveyTag" в пакете "Survey"

2022-07-13 13:54:23,732 Сохранены данные "Answer" в пакете "Survey"

2022-07-13 13:54:23,841 Сохранены данные "AnswerType" в пакете "Survey"

2022-07-13 13:54:23,935 Сохранены данные "FieldForceActionType" в пакете "Survey"

2022-07-13 13:54:23,998 Сохранены данные "Lookup" в пакете "Survey"

2022-07-13 13:54:24,060 Сохранены данные "SysDetail_DetailManager_17396969e0b34798915239d4d7f7cc38" в пакете "Survey"

2022-07-13 13:54:24,138 Сохранены данные "SysDetail_DetailManager_481fb5ff7bd2493cab932248d5204901" в пакете "Survey"

2022-07-13 13:54:24,201 Сохранены данные "SysDetail_DetailManager_5627b3788df24640b92f64534979b21e" в пакете "Survey"

2022-07-13 13:54:24,248 Сохранены данные "SysDetail_DetailManager_59f8ab035a774daeaf963c05589b930a" в пакете "Survey"

2022-07-13 13:54:24,295 Сохранены данные "SysDetail_DetailManager_68bd35ad11704d46b62614046fc9d817" в пакете "Survey"

2022-07-13 13:54:24,341 Сохранены данные "SysDetail_DetailManager_b602520de7c541948917ced426001f0d" в пакете "Survey"

2022-07-13 13:54:24,373 Сохранены данные "SysImage_77b52baab31c41e7a8077eba29701fc6" в пакете "Survey"

2022-07-13 13:54:24,404 Сохранены данные "SysImage_9aa0224fa2f941e3a0d93162798a5204" в пакете "Survey"

2022-07-13 13:54:24,483 Сохранены данные "SysModuleEdit_SysModuleEditManager_0025147610664656926b60679e27f195" в пакете "Survey"

2022-07-13 13:54:24,561 Сохранены данные "SysModuleEdit_SysModuleEditManager_ad7609be3dbf4cec9631ddb74f3bbc43" в пакете "Survey"

2022-07-13 13:54:24,624 Сохранены данные "SysModuleEdit_SysModuleEditManager_d7a8f0f8a35a487ba0266399131d3ef3" в пакете "Survey"

2022-07-13 13:54:24,703 Сохранены данные "SysModuleEdit_SysModuleEditManager_dd0cc098660140c6ae8ae04935bbba88" в пакете "Survey"

2022-07-13 13:54:24,812 Сохранены данные "SysModuleEdit_SysModuleEditManager_dd8558319b834d898f022c6d53f89f67" в пакете "Survey"

2022-07-13 13:54:24,828 Сохранены данные "SysModuleEntity_SysModuleEntityManager_28fc2e882c334e7b82a9af81c296be15" в пакете "Survey"

2022-07-13 13:54:24,828 Сохранены данные "SysModuleEntity_SysModuleEntityManager_42fd143017f643e3a0f9ba855b39ba22" в пакете "Survey"

2022-07-13 13:54:24,843 Сохранены данные "SysModuleEntity_SysModuleEntityManager_8387f17d17b7450d9f3d70072cd8f09b" в пакете "Survey"

2022-07-13 13:54:24,859 Сохранены данные "SysModuleEntity_SysModuleEntityManager_f10275f4d7914307b8c157a265994026" в пакете "Survey"

2022-07-13 13:54:24,874 Сохранены данные "SysModuleEntity_SysModuleEntityManager_f60c0ffd39174f15bf6c469d4e659ace" в пакете "Survey"

2022-07-13 13:54:24,890 Сохранены данные "SysModuleInWorkplace_SectionInWorkplaceManager_4dbd15cd925541cc8bcfe66862497b8e" в пакете "Survey"

2022-07-13 13:54:24,921 Сохранены данные "SysModuleInWorkplace_SectionInWorkplaceManager_9a426ce68bf14a4397d55abb3b1e3bdc" в пакете "Survey"

2022-07-13 13:54:25,015 Сохранены данные "SysModule_SectionManager_1ec018aa54c941c6ab943f4f50512f1f" в пакете "Survey"

2022-07-13 13:54:25,109 Сохранены данные "SysModule_SectionManager_d7ddaa53677b482fa5b78ef2e39f1300" в пакете "Survey"

2022-07-13 13:54:25,218 Сохранены данные "SysProfileData" в пакете "Survey"

2022-07-13 13:54:25,296 Сохранены данные "SysWidgetDashboard_WidgetDashboardManager_0636dd1b41e84d19bb6afa4e63337bac" в пакете "Survey"

2022-07-13 13:54:25,296 Пакет "Survey" сохранен

2022-07-13 13:54:25,359 Сохранена схема "MobileApplicationManifestFieldForceWorkplace" в пакете "SurveyMobile"

2022-07-13 13:54:25,374 Сохранена схема "SurveyMobileActivityEditPage" в пакете "SurveyMobile"

2022-07-13 13:54:25,390 Сохранена схема "SurveyMobileActivityModuleConfig" в пакете "SurveyMobile"

2022-07-13 13:54:25,421 Сохранена схема "SurveyMobileAnswerToQuestionModelConfig" в пакете "SurveyMobile"

2022-07-13 13:54:25,437 Сохранена схема "SurveyMobileAnswerToQuestionModuleConfig" в пакете "SurveyMobile"

2022-07-13 13:54:25,453 Сохранена схема "SurveyMobileLogicalFilterModule" в пакете "SurveyMobile"

2022-07-13 13:54:25,484 Сохранена схема "SurveyMobileSurveyQuestionPreviewPage" в пакете "SurveyMobile"

2022-07-13 13:54:25,499 Сохранена схема "SurveyMobileSurveyVisitAction" в пакете "SurveyMobile"

2022-07-13 13:54:25,515 Сохранена схема "SurveyMobileTakePhotoAction" в пакете "SurveyMobile"

2022-07-13 13:54:25,515 Пакет "SurveyMobile" сохранен

2022-07-13 13:54:26,046 Добавлено - ресурсы в пакете "Survey"

2022-07-13 13:54:26,093 Добавлено - ресурсы в пакете "SurveyMobile"

2022-07-13 13:54:26,688 Добавлено - зависимости пакета "Survey"

2022-07-13 13:54:26,704 Terrasoft.Common.ItemNotFoundException: Родительская схема с именем "MobileApplicationManifestFieldForceWorkplace" и уникальным идентификатором "bb4acead-6c3c-4b32-a497-45381f8cb259" не найдена

   at Terrasoft.Core.Packages.PackageDBStorage.SaveSchemaParent(SchemaDescriptor schema)

   at Terrasoft.Core.Packages.PackageDBStorage.SaveSchemasParent(Package package)

   at Terrasoft.Core.Packages.PackageDBStorage.SaveDependencies()

   at Terrasoft.Core.Packages.PackageDBStorage.Save(IPackageContentProvider packageContentProvider)

   at Terrasoft.Core.Applications.Packages.Operations.SystemPackageOperations.PackageDBStorageInternal.Save(IPackageContentProvider packageContentProvider)

   at Terrasoft.Core.Applications.Packages.Operations.SystemPackageOperations.Save(IEnumerable`1 packages, PackageInstallOptions options)

   at Terrasoft.Core.Applications.Packages.SystemPackageManager.Save(PackageInstallOptions installOptions)

   at Terrasoft.Core.Applications.Installation.AppInstaller.Install(String sourcePath, String destinationPath, PackageInstallOptions installOptions, IInstalledAppInfo installedAppInfo)

   at Terrasoft.Core.ServiceModelContract.PackageInstaller.AppInstallerServiceInternal.<>c__DisplayClass10_0.b__0()

   at Terrasoft.Core.ServiceModelContract.PackageInstaller.BaseInstallerServiceInternal.InvokeWithLogging[TResult](Func`1 action)

Нравится

2 комментария

Олександра, доброго дня! У вас на сайті порушена цілістність рішення Pharma Creatio або Field sales for Creatio. При встановленні Field surveys for Creatio на тріальному сайті такої помилки не виникає. Перевірте, чи є схема MobileApplicationManifestFieldForceWorkplace в пакетах FieldMobile і FieldForceMobile.

В пакете FieldForceMobile есть, а в FieldMobile нет

Показать все комментарии

Добрый день!

Пытаюсь разобраться с кастомными правилами для мобильного  приложения. Никак не могу найти способ получить данные из записи, Id которой находится в записи на которой запускается правило.

Вот - один из вариантов кода, который я пытался использовать:

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

    name: "UsrAutoSetUsrDepartByCreatedBy",

    ruleType: Terrasoft.RuleTypes.Custom,

    triggeredByColumns: ["CreatedBy"],

    events: [Terrasoft.BusinessRuleEvents.Load, Terrasoft.BusinessRuleEvents.ValueChanged],

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

        var department = record.get("CreatedBy.Department");

            record.set("UsrDepart", department, true);

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

    }

});

Подскажите,  пожалуйста, каким образом можно получить запись с данными(через esq пытался, тоже ничего)

Нравится

2 комментария

Здравствуйте,

при загрузке лукапного поля все его поля автоматом не подтягиваются. Только Id и его дисплейное поле (Name). Поэтому, чтобы получить какое-то другое поле, нужно сделать отдельную загрузку по лукапному значению. Как вариант, можно использовать утилитный метод Terrasoft.DataUtils.loadRecordById или Terrasoft.DataUtils.loadRecords:

Terrasoft.DataUtils.loadRecordById({
   recordId: recordId,
   modelName: modelName,
   columns: [],
   expandLookupColumns: false,
   callback: function(loadedRecord) {
      // Здесь получаешь значение департамента, устанавливаешь его в поле UsrDepart и вызываешь success правила.
      Ext.callback(callbackConfig.success, callbackConfig.scope, [true]);
   },
   scope: this
});

Алёна Доля,

Спасибо за пояснение.

Правило вроде отрабатывает, но как-то через раз, и только на одном значении...

Такой код:

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

    name: "AutoSetDepartByOrder",

    ruleType: Terrasoft.RuleTypes.Custom,

    triggeredByColumns: ["Order"],

    events: [Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Load],

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

        var order = record.get("Order");

        var orderId = order ? order.get("Id") : null;

        if (orderId) {

            Terrasoft.DataUtils.loadRecordById({

                recordId: orderId,

                modelName: "Order",

                columns: ["Podrazdel","Account"],

                expandLookupColumns: false,

                callback: function (loadedRecord) {

                    var department = loadedRecord.get("Podrazdel");

                    var departmentId = department ? department.get("Id") : null;

                    record.set("Depart", departmentId, true);

                    var account = loadedRecord.get("Account");

                    var accountId = account ? account.get("Id") : null;

                    record.set("Account", accountId, true);

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

                },

                scope: this

            });

        }

    }

});

Показать все комментарии

Развернул сайт разработки, подключил  SSL Let's encrypt все запросы и интеграции ходят корректно, сертификат принимает. В мастере мобильного приложения зашел во все схемы и сохранил. Получаю ошибку которой не вижу в community,  может кто-то сталкивался?

Model Name: CPH2009 Platform: Android Platform Version: 11 Resolution: 360x756 IsHybridMode: true RootAppDirectory: creatio ApplicationVersion: 7.18.6 ApplicationMajorVersion: 7.18 UseNativeSynchronization: true UseNativeImport: true UseNativeExport: true UseNativeLogout: true UseNativeMetadataSync: false UseNativeFullSynchronization: false UseDataService: true IsDevMode: false CurrentDateTime: 2022-01-20T19:09:15.553Z ServerUrl: https://suncrm.space/ ContactId: null CultureName: null ApplicationRevision: null WorkplaceCode: null ProductInfo: {"ProductName":"Creatio","ProductEdition":"enterprise","CustomerId":"","Version":{"Major":7,"Minor":18,"Build":5,"Revision":1501,"MajorRevision":0,"MinorRevision":1501}} Type: Terrasoft.SyncException Message: В процессе синхронизации произошла ошибка Stack trace: Function.handleException(terrasoft-all-combined.js:26896:37) Object.callback(sencha-touch-all-debug.js:10397:26) Class.callUserErrorHandler(terrasoft-all-combined.js:21844:9) Object.callback(sencha-touch-all-debug.js:10397:26) Class.callFailure(terrasoft-all-combined.js:21503:11) Object.callback(sencha-touch-all-debug.js:10397:26) Function.failure(terrasoft-all-combined.js:36406:17) Object.callback(sencha-touch-all-debug.js:10397:26) Object.requestItemFailure(terrasoft-all-combined.js:34794:17) Class.onRequestFailure(terrasoft-all-combined.js:34602:16) Object.callback(sencha-touch-all-debug.js:10397:26) terrasoft-all-combined.js:34798:13 Object.callback(sencha-touch-all-debug.js:10397:26) Class.finish(terrasoft-all-combined.js:35206:11) Class.finishCancellableOperation(terrasoft-all-combined.js:1576:43) Class.(terrasoft-all-combined.js:34783:12) Object.callback(sencha-touch-all-debug.js:10397:26) terrasoft-all-combined.js:34961:11 Object.callback(sencha-touch-all-debug.js:10397:26) Class.finish(terrasoft-all-combined.js:35206:11) Class.finishCancellableOperation(terrasoft-all-combined.js:1576:43) Class.executeCallbackIfNotCanceled(terrasoft-all-combined.js:34960:10) Class.failureHandler(terrasoft-all-combined.js:34977:10) Object.callback(sencha-touch-all-debug.js:10397:26) Class.onComplete(sencha-touch-all-debug.js:36405:17) Class.onStateChange(sencha-touch-all-debug.js:36341:18) XMLHttpRequest.(sencha-touch-all-debug.js:3233:27) Type: Terrasoft.ServerException Message: Запрос на сервер вернул ошибку AdditionalInfo: { "requestId": 11, "status": 500 }

Нравится

0 комментариев
Показать все комментарии

Добрый день. Подскажите, пожалуйста, как для мобильного приложения заместить в классе Terrasoft.Schedule метод getTimeColumn хочу изменить отображение времени в расписании сейчас с 0 до 24 хочу поставить рабочее время с 9 до 18.

Нравится

1 комментарий

Андрей, здраствуйте!



Функциональность на этапе разработки в продукте и войдёт в одну из следующих релизных версий.

Показать все комментарии

Добрый день, Коллеги!

В моб приложение приходит виза по обращениям, там написан номер обращения, как бы его нажимать, чтобы переходило в обращение (все в том же мобе). Сейчас это текст просто.

Или может как-то вынести поле с обращением, чтобы нажать и перейти.

Не могу понять суть визы как раздела, там же нет никакой информации по объекту визирования.

Версия 7.18

Нравится

1 комментарий

Добрый день!

Сейчас в интерфейсе визирования недоступна возможность перехода в объект визирования или открытия записи из визы. 

Задача на добавление такой возможности находиться в проработке. Вероятно в следующих релизах функция будет добавлена.

 

Показать все комментарии