Здраствуйте, подскажите каким образом возможно изменить тип значения поля "интервал синхронизации (часов)" на значение в минутах ?

Нравится

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

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

 

Для того, чтобы изменить тип значения поля "интервал синхронизации (часов)", нужно замещать страницу настроек LDAP и заменить LDAPSysSettingsService на кастомный сервис, который будет планировать задания с интервалом в минутах.

 

Быстрый способ - можно обновить поле INT_PROP_1 в таблице QRTZ_SIMPROP_TRIGGERS для SyncWithLDAPProcessTrigger, оно имеет интервал именно в минутах. Но если пересохранить настройки LDAP в этом кейсе, триггер может снова перепланироваться на значение в часах, которое находится на странице.

 

Надеюсь, информация станет полезной.

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

Здравствуйте! Подскажите, какой атрибут в настройках синхронизации с LDAP используется для передачи значения Активный пользователь?

Нравится

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

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



При  синхронизации нужно установить атрибут пользователей "активный" = "да".



С уважением,

Богдан

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

Возможно ли автоматически запускать синхронизацию с Outlook в разделе Активности ( по определенному времени, несколько раз в сутки )  базовыми средствами платформы? Т.е чтобы не синхронизировать в ручному в разделе при помощи "Действия=>Синхронизировать активность=>Запустить синхронизацию"

Нравится

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

Добрый день.

Синхронизация ваших активностей между сервером Exchange и Creatio может выполняться автоматически. Чтобы включить автоматическую синхронизацию, на странице настройки синхронизации с почтовым ящиком установите признак [ Синхронизировать активности автоматически ] и в поле [Период синхронизации] выберите период за который будут синхронизироваться записи.



Таким образом, система будет "прослушивать" все изменения в календаре Outlook и автоматически синхронизировать все активности за указанный период.

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

Добрый день.

Имеется 3 стенда, дев, тест, прод. На дев и на тест, синхронизацию с LDAP настроить получилось, пользователи подтянулись. Стенды дев и тест не в домене.

На прод стенде, синхронизация не работает, настройки такие же. Стенд прода включён в домен, домен тот же в котором находится AD.

Бизнес-процесс находится в статусе "Ошибка", содержание ошибки на скриншоте.Изображение удалено.Погуглив, предполагаю, что проблема связана с тем, что пул под которым работает сайт, запущен от пользователя у которого нет прав на доступ к AD.

Изображение удалено.Версия на стендах одинаковая.

Сталкивался ли кто-нибудь с такой ситуацией, какие могут быть пути решения?

Спасибо.

Нравится

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

По идее УЗ из под которой пул запускается не должна влиять на этот процесс.  Вы обращение в тех поддержку оставляли ?

 

Добрый день.

Если Ваш сайт развернут на Linux причина может быть в том, что  в Domain Name и groups domain name отсутствует поиск ещё OU (Organizational units).

Попробуйте добавить его и проверить воспроизведение проблемы.

 

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

Реализованный функционал синхронизации контактов с почтовой системой хороший функционал, но контакты падают в общий доступ в системе, а если сразу несколько пользователей будут синхронизировать контакты, даже используя только определенные папки в системе будет каша. Вопросы - возможно ли на уровне системы разделять контакты по пользователям. Удаление контактов из системы не приводит к удалению контактов в почтовой системе? Планируется развивать это направление далее?

Нравится

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

Добрый день, Игорь!

 

Вам стоит настроить права доступа на записи объекта Контакт, что бы права раздавались в зависимости от автора, более детально тут: https://academy.terrasoft.ru/docs/user/bazis_platformy/dannye/nastroit_…

В случае синхронизации контактов с почтовой системой автором является пользователь под которым выполнялась синхронизация. 

 

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

В ближайшее время планов по развитию этого функционала нет.

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

Как реализовать синхронизацию товаров с маркетплейса Prom.ua в Creatio?

Ручной импорт из Excel - не решение, поскольку цены могут меняться несколько раз на день.

Какой либо загрузчик фида или импорт с Гугл таблиц не нашел.

Интеграция с Промом предлагает лишь импорт клиентов и заказов.

Кто сталкивался с такой задачей?

Спасибо.

Нравится

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

Дмитрий, для интеграции в том числе и с  Prom.ua есть дополнение ApiX-Drive connector, которое взаимодействует с сервисом ApiX Drive. Но там товаров действительно нет.

На сайте Prom.ua тоже не нашёл информации о документации разработчика, возможно, её предоставляют по запросу.

В зависимости от характера API, подход может быть противоположным: либо из БП в Creatio вызывать веб-сервис Prom, передавая и получая параметры. Либо на стороне Prom (или промежуточном сервере, взаимодействующем с обоими системами) подключаться к сайту Creatio по OData и добавлять или менять значения в нужном объекте. Наконец, извне можно запускать БП в Creatio, передавая в него нужные значения, а уже процесс будет изменять данные.

 

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

Добрый день. 

Столкнулись с такой проблемой, что на больших объёмах данных (несколько миллионов записей) в таблице продуктов в заказе. Настройка синхронизации объекта стандартная, в которой в SyncOptions установлен параметр "SyncByParentColumnWithRights": "Order"

Проверили запрос непосредственно в базе. Он выполняется несколько минут. В результате всего одна строка. Основное время исполнения уходит на проверку прав. 

Кто сталкивался с подобными проблемами, как удавалось решить?

Нравится

1 комментарий
Лучший ответ

Стоит уточнить производительность сервера на котором стоит бд.

В плане оптимизации запроса пробуйте добавить свои индексы.

Еще вариант создать новый раздел для продуктов которые должны в мобильном приложении и не включать на этом разделе права.

Стоит уточнить производительность сервера на котором стоит бд.

В плане оптимизации запроса пробуйте добавить свои индексы.

Еще вариант создать новый раздел для продуктов которые должны в мобильном приложении и не включать на этом разделе права.

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

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

Такая идея появилась когда оказалось что в компании у нас ФИО латинскими буквами а имя и фамилия поля русскими. Заказчику нужно ФИО в системе на русском, и потому при каждом обновлении приходится переписывать стандартную логику что бы подменять ее и получать поля (одно кидается в ФИО а второе в рабочий телефон, а потом склеивается в ФИО)

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

Здравствуйте, Александр!

Передали данное пожелание команде разработки для анализа возможности внедрения такой возможности в будущих версиях продукта.

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

Коллеги, как реализовать redirect на preview страницу после синхронизации приложения?

реализовал событие после обновления заказа

Terrasoft.sdk.Model.setModelEventHandler("Order", 
	Terrasoft.ModelEvents[Terrasoft.ModelEventKinds.After].update,function(config){
		var model = "Order";
		var record = config.scope.eventConfig.records[0];
		var pageConfig = {			
			recordId: record.data.Id
		};
		Terrasoft.Configuration.WaSync(model, pageConfig, false);
	});
 
Terrasoft.Configuration.WaSync = function(model, pageConfig, toMainPage = true) {
	Terrasoft.MobileSettingsPageControllerSyncManager.synchronize({
		exportOnly: false ,
		checkForPredefinedDatabase: false,
		redirect: function() {
			debugger;
			if(toMainPage) {
				Terrasoft.core.redirectToMainPage();
			} else {
				Terrasoft.Application.close(() => {
 
				});
			}
		}
	});
};

нашел функцию Terrasoft.util.redirectToPage:

 

Terrasoft.util.redirectToPage = function(to, hash) {
	Terrasoft.Application.close(() => {
		to += location.search;
		if (hash) {
			to += "#" + hash;
		}
		location.href = to;
	});
};

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

Нравится

7 комментариев

Опишите подробней свою бизнес задачу.

Довольно странное поведение - открывать страницы после полной синхронизации. К тому же во время полной синхронизации может может изменится структура объектов

Для открытия страницы просмотра обычно используется такой метод:

Terrasoft.util.openPreviewPage("Contact", {
	recordId: contact.getId()
});

P.S. Метод Terrasoft.MobileSettingsPageControllerSyncManager.synchronize является @internal его нельзя использовать!

P.S.S. Класс Terrasoft.MobileSettingsPageControllerSyncManager является устаревшим, сейчас используют Terrasoft.SyncUtils

Наверное вам подойдет метод 

Terrasoft.SyncUtils.synchronizeData

 

Кривонос Максим,

здравствуйте, после сохранения изменения заказа, а именно изменения состояния заказа необходимо осуществлять синхронизацию приложения, что бы заказа сразу уходил в основную БД. После синхронизации нужно открыть этот же заказ на PreviewPage что бы было возможным осуществлять действия - http://prntscr.com/o9nbjt. Сразу скажу онлайн режим не подходит. Уже использую Terrasoft.SyncUtils.synchronizeData

Terrasoft.sdk.Model.setModelEventHandler("Order", 
	Terrasoft.ModelEvents[Terrasoft.ModelEventKinds.After].update, 
	function(config) {
		var record = config.scope.eventConfig.records[0];
		if(record.modified.hasOwnProperty("Status")) {
			Terrasoft.util.Sync.synchronizeData({
				exportOnly: false ,
				isCancelable: true,
				checkIfSyncStarted: true,
				checkForPredefinedDatabase: false,
				ignoreNotifications: true,
				runType: Terrasoft.Sync.RunTypes.Background,
				redirect: true
			});
		}
	}
);

 

Возможно ли делать синхронизацию данных в фоновом режиме без перезагрузки приложения отправить измененный заказ в основную БД? Какие методы использовать?

 


 

Фоновая синхронизация доступна пока что только для Android. Чтоб она работала нужно включить системную настройку RunMobileSyncInService.

Запускать в фоне можно вот так:

Terrasoft.SyncUtils.synchronizeData({

    redirect: false,

    isCancelable: true,

    ignoreNotifications: true, 

    checkForPredefinedDatabase: false

});

Вам нужно дожидаться каких-то данных с сервера?

Кривонос Максим,

нужно понимать что синхронизация прошла успешно и выводить сообщение пользователю

 

Смотрите какое поведение системы(делаю на эмуляторе):

подставил код который Вы написали выше - http://prntscr.com/o9ze1c

Синхронизация проходит без редиректа на основную страницу, но затем после сохранения записи не отрабатывают события, перехожу в другой раздел и затем обратно в раздел заказы и наблюдаю следующее - http://prntscr.com/o9zg5s

Как быть с таким поведением видимо что то где то перезатирается?

1) При подписке на события модели нужно в конце вызывать config.success

2) Если вы хотите что-то отображать пользователю то логику нужно реализовывать на карточке а не на объекте

3) у synchronizeData есть метод finish по идее он должен вызываться в конце

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

Всем доброго времени суток!

Подскажите, есть ли метод синхронизации мобильного приложения в фоновом режиме. Т.е. например после сохранения заказа вызывать данный метод, и что бы синхронизировалось с основной БД без перезагрузки приложения?

Нравится

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

Или же необходимо после синхронизации делать редирект на preview страницу сохраненного Заказа.

Terrasoft.Configuration.WaSync = function(model, pageConfig) {
	Terrasoft.MobileSettingsPageControllerSyncManager.synchronize({
		exportOnly:false ,
		checkForPredefinedDatabase: false,
		redirect: function() {
			//Terrasoft.util.openPreviewPage(model, pageConfig);
		}
	});
};
 
Terrasoft.sdk.Model.setModelEventHandler("Order", 
	Terrasoft.ModelEvents[Terrasoft.ModelEventKinds.After].update, 
	function(config){
		debugger;
		var model = "Order";
		var record = config.scope.eventConfig.records[0];
		var pageConfig = {
			recordId: record.data.Id
		};
		Terrasoft.Configuration.WaSync(model, pageConfig);
	});

Terrasoft.util.openPreviewPage - не срабатывает!

См. документацию по расширению синхронизации.

Зверев Александр,

 это понятно, меня интересовало возможно ли синхронизировать данные без перезагрузки приложения и редиректа на главную страницу, а остаться на странице заказа. Или же после перезагрузки приложения открывать последний заказ. 

Написано:

Модули синхронизации являются внутренними (internal) классами и не подлежат расширению. Но часто возникает необходимость ограничить передаваемые во время синхронизации данные в соответствии с определенными правилами. Для этого была добавлена возможность управления этапами синхронизации с помощью класса управления.

Если возможностей синхронизации Вам не хватает, можно самостоятельно разработать логику, например, работая с основным сайтом по OData или обращаясь к самодельному веб-сервису, реализующему нужную логику, вроде сервиса оценки обращения.

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