В числовых полях, для которых назначено округление (и для которых оно не назначено тоже) в Creatio, и которые не заполнены (например, пользователь импортирует из excel свои данные заполняя карточку какую-нибудь, и там не все ячейки заполнены), отображается ЦИФРА, а не пустое поле. Сейчас обратила внимание на данную проблему, есть ли какое-либо решение?
 

Нравится

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

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

 

Столкнулся с проблемой при настройке синхронизации с почтой. У меня продукт ServiceEnterprise. Сервис ExchangeListener настроен согласно инструкции на академии (все необходимые фичи включены, почтовый сервер настроен). На версии 7.17.1 все отлично работает, как IMAP/SMTP, так и Exhange сервера. Проблема в том, что на версии 7.17.2, 7.17.3 при настройке почтового ящика получаю ошибку 

 

 

В логах приложения следующее: 

2021-04-07 09:54:53,829 [255] WARN IIS APPPOOL\SE_7173 IsServerValid - Mailbox ********* didn't pass validation with these credentials, info: Sending test message: The remote server returned an error: (404) Not Found.

 

Перепробовал разные почтовые ящики - ошибка одинаковая. Может на этих версиях приложения нужно выполнить дополнительные настройки? Подскажите куда копать, что проверить. Спасибо.

 

Нравится

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

Паламарчук Максим Олегович,

Попробуйте, пожалуйста, поставить новую версию сервиса ("переразвернуть" helm-пакет). Сейчас версия 0.8.26.

У вас слишком она старая.

У нас была похожая ситуация (на почте zimbra). Помогло сменить порт SMTP на 465 в настройках почтовых провайдеров

Владимир Соколов, спасибо за ответ, но проблема не в этом.

проверил настройки - 465-й порт уже был выбран,

 

 

Максим, здравствуйте! 

 

Ваше приложение находится в облаке или расположен на ваших серверах (on-site)?

Пробовали ли добавить ukr.net почту с такими параметрами, например, Outlook или The Bat?

 

Проблема с любым почтовым провайдером или только ukr.net? Пробовали добавить Gmail?

 

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

Дмитрий, здравствуйте!

 

Приложение он-сайт.

 

У меня есть несколько почт - ukr.net(провайдер imap) и корпоративная(провайдер exchange). Все работают на версии 7.17.1. На версиях 7.17.2 и 3 с идентичними настройками провайдеров и ящиков ни одна не работает.

 

Я пинговал подписки листенеров микросервиса (адрес сервера)/api/listeners/status - там есть подписки от сайта 7.17.1, а от более новых версий - нет.

 

Также открывал страницу диагностики - там все верно настроено

 

Паламарчук Максим Олегович,

Попробуйте, пожалуйста, поставить новую версию сервиса ("переразвернуть" helm-пакет). Сейчас версия 0.8.26.

У вас слишком она старая.

Дмитрий,

 

спасибо попробую

Дмитрий,

 

действительно на новом сервисе все взлетело. Спасибо большое!

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

Всем привет. Возник такой вопрос, как можно переделать фиксированное количеств сервисов на динамический, то есть я понимаю, что должен быть некий выбор из справочника, но не понимаю как реализовать. 

Прикрепленные файлы

Нравится

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

Всем добрый день!

Бьюсь второй день. Нужно добавить группу фильтров в разделе с оператором OR.

По умолчанию в коробке в коллекцию фильтров filters добавляются группы через AND, при этом легко добавляется просто одиночный фильтр (например "FilterStatus"). Но вот группа фильтров - уже не работает.
Судя по примеру добавления фильтров "FixedFilter" и "CustomFilter" в коробке продукта - нужно как то хитро определять конфиг этой группы. Я добавляю items в группу, но получается не так, как у Terrasoft. Их исходного кода найти не могу. Помогите, пожалуйста :( Что не так...

getFilters: function() {
 
debugger;
var filters = this.callParent(arguments);
var items = this.$UsrGroups;
let counter = 1;
//создание группы фильтров
var usrFilterGroup = this.Ext.create("Terrasoft.FilterGroup");
usrFilterGroup.logicalOperation = this.Terrasoft.LogicalOperatorType.OR;
//добавление фильтра по каждой группе юзера
for (var item in items) {
	var tempFilterGroup = Terrasoft.createColumnFilterWithParameter(
		Terrasoft.ComparisonType.EQUAL, "Group.Id", item);
	usrFilterGroup.addItem(tempFilterGroup);
	window.console.log("Добавлен фильтр по группе " + item.Name);
	counter++;
}
filters.add("UserGroupsFilter", usrFilterGroup);
return filters;
}

 

Нравится

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

Вам нужно вернуть фильтр с условием User filter или Section filter, так?

 

Если так, то тогда нужно создать две группы, одна группа, которая будет объединять фильтры секции и вторая с вашими фильтрами. В общей группе сделать тип or, в вашей вам нужно. И потов вернуть не filters, а объединяющую группу.

 

var usrSectionFilterGroup = this.Ext.create("Terrasoft.FilterGroup");
usrSectionFilterGroup.logicalOperation = this.Terrasoft.LogicalOperatorType.OR;

usrSectionFilterGroup.add("SectionFilter", filters);

var usrFilterGroup = this.Ext.create("Terrasoft.FilterGroup");
//ваш фильтр
usrSectionFilterGroup.add("UsrFilterGroup", usrFilterGroup);

return usrSectionFilterGroup;

 

 

Трефилов Павел Сергеевич,

Ваш вариант не работает (
Надо добавить фильтр так чтобы он нигде визуально не отображался, остальное не важно.
Помогите разобраться (
 

В ActivitySectionV2 так, и все работает... Тут тоже самое - нет... Каааааак?

getFilters: function() {
 
var filters = this.callParent(arguments);
	var fixedFilters = filters.contains("FixedFilters")	? filters.get("FixedFilters") : null;
	if (!this.Ext.isEmpty(fixedFilters) && fixedFilters.contains("Owner")) {
	var ownerFilters = fixedFilters.get("Owner");
	if (ownerFilters.contains("OwnerDefaultFilter")) {
	ownerFilters.removeByKey("OwnerDefaultFilter");
}
}
if (this.isSchedulerDataView()) {
	if (!filters.contains("ShowInSchedulerFilter")) {
	filters.add("ShowInSchedulerFilter", this.Terrasoft.createColumnFilterWithParameter(
		this.Terrasoft.ComparisonType.EQUAL, "ShowInScheduler", true));
	}
	if (!fixedFilters) {
		fixedFilters = this.Terrasoft.createFilterGroup();
		fixedFilters.logicalOperation = Terrasoft.LogicalOperatorType.AND;
		filters.add("FixedFilters", fixedFilters);
	}
	var hasPeriodFilters = fixedFilters.contains("PeriodFilter");
	var periodFilter = hasPeriodFilters ? fixedFilters.get("PeriodFilter") : null;
	if (!hasPeriodFilters || (periodFilter && !(periodFilter instanceof Terrasoft.Collection))) {
		this.setDateFiltersCurrentDate(fixedFilters);
	}
}
	if (this.isNotSchedulerDataView() &&
		filters.contains("ShowInSchedulerFilter")) {
		filters.removeByKey("ShowInSchedulerFilter");
}
 
filters.add("NotEmailFilter", this.Terrasoft.createColumnFilterWithParameter(
	this.Terrasoft.ComparisonType.NOT_EQUAL, "Type", ConfigurationConstants.Activity.Type.Email
));
 
return filters;
},
 
				/**
				 * ############# ############ ####### ## ####### ### ########## ## ####### ####.
				 * @private
				 * @param {Object} fixedFilters ###### ############ ########.
				 */
setDateFiltersCurrentDate: function(fixedFilters) {
	var now = new Date();
	var periodFilter = this.Terrasoft.createFilterGroup();
	periodFilter.logicalOperation = Terrasoft.LogicalOperatorType.AND;
	periodFilter.add("DueDate", this.Terrasoft.createColumnFilterWithParameter(
	this.Terrasoft.ComparisonType.GREATER_OR_EQUAL, "DueDate",
	this.Terrasoft.startOfDay(now)));
	periodFilter.add("StartDate", this.Terrasoft.createColumnFilterWithParameter(
	this.Terrasoft.ComparisonType.LESS_OR_EQUAL, "StartDate",
	this.Terrasoft.endOfDay(now)));
	if (fixedFilters.contains("PeriodFilter")) {
	fixedFilters.removeByKey("PeriodFilter");
}
fixedFilters.add("PeriodFilter", periodFilter);
},

 

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

Добрый день. При добавлении обращения любым способом такая ошибка. Помогите! Что делать? Поддержка игнорит нас((( The INSERT statement conflicted with the FOREIGN KEY constraint "FKHt8lBgKfy2jprTXzDRFvnS56zg". The conflict occurred in database "bpmpredprod", table "dbo.Case", column 'Id'. The statement has been terminated. ---> System.Data.SqlClient.SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint "FKHt8lBgKfy2jprTXzDRFvnS56zg". The conflict occurred in database "bpmpredprod", table "dbo.Case", column 'Id'. The statement has been terminated.

Нравится

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

Уверены, что ошибка именно в коробочном функционале?

Скорее всего есть какая-то доработка на именно вашем сайте (напр. процесс), которая пытается добавить записи на деталь обращения, но подставляет неверный Id записи обращения.

Либо же логика пытается добавить записи на деталь ДО сохранения обращения в БД. Все заполнения деталей возможны только после сохранения основной записи в базу данных.

Уверены, что ошибка именно в коробочном функционале?

Скорее всего есть какая-то доработка на именно вашем сайте (напр. процесс), которая пытается добавить записи на деталь обращения, но подставляет неверный Id записи обращения.

Либо же логика пытается добавить записи на деталь ДО сохранения обращения в БД. Все заполнения деталей возможны только после сохранения основной записи в базу данных.

Владислав Литвинчук,

Ошибка возникла после обновления на версию 7.16.
До этого все работало стабильно. Мне кажется при таком раскладе дело не в логике.
Есть еще какие-то варианты?
Спасибо!

Надежда, это ссылка на Case из таблицы CaseLifecycle. Проверьте, нет ли у Вас  каких-то доработок в этом объекте или его страницах, которые могли сломаться при обновлении. Если нет и сломалось обновление системы без доработок, лучше обратиться к поддержке.

Ещё, если есть доступ к SQL-серверу, можно посмотреть, что за запрос идёт и приводит к ошибке, там какой-то конкретный Guid, с нулями или ещё что-то.

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

Добрый день, Александр!
Доработки ЖЦ были, переопределили схему в нашем пакете: добавлено поле в объект, и добавлено отслеживание изменений этого поля в объекте Case и его запись в ЖЦ. 
Как можно оперативно исправить ошибку? Спасибо за помощь!

Действительно проблемы были из-за доработок событийных процессов объекта Case. В новой версии 7.16 добавилась колонка CaseRecordId в объекте CaseLifeCycle, которая не обрабатывалась у нас.
Всем спасибо!

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

Добрый день!
Установили дополнение "Calculated metrics for Creatio" https://marketplace.terrasoft.ru/app/calculated-metrics-creatio?activity=marketplace-iframe
Но после установки дополнения в списке блоков итогов не добавился пункт "Расчетный показатель". Точнее, его видно было только под Supervisor, но после перезахода в приложение и у него пропал этот пункт меню в блоке итогов.

Замещений модуля BootstrapModulesV2 в системе нет.

Как победить проблему? Кто-то сталкивался?


Версия: Service Enterprise 7.16.2

Нравится

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

Павел, добрый день! не получилось воспроизвести ошибку выше на базовом продукте. После установки появляется отдельный пункт Расчетный показатель.

 

Уточните, какие еще решения с функциональностью, расширяющей дашборды, у вас установлены?

Ирина, добрый день!

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

В дебаггере js браузера не могу найти метод getWidgetTypes из схемы ViewModelSchemaDesignerSchema. Пытался понять, идёт ли вызов вообще.

 

define("ViewModelSchemaDesignerSchema", ["DFDashboardDesigner", "WidgetGridLayoutEditItemModel"],
	function() {
		return {
			messages: {},
			attributes: {},
			methods: {
				getWidgetTypes: function() {
					var types = this.callParent(arguments);
					types.CalculatedMetric = {
						"type": "DFCalculationIndicator",
						"caption": this.get("Resources.Strings.NewWidgetCalculatedMetricCaption")
					};
					return types;
				}
			},
			details: {},
			diff: [],
			infoDiff: []
		};
	});

 

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

Павел, добрый день! Получила рекомендацию от разработчика решения - выполните полную компиляцию приложения. Если компиляция завершится успешно, уточните, остался ли вопрос выше актуальным.

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

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

 

2. Если файл/ таблица, размещенная там большая по размеру, то появляется прокручивание. Можно ли отображать все полностью без прокручивания? ( Прилагаю изображения "как есть" )

Нравится

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

Этот редактор реализован на стороннем компоненте CKEditor.

Согласно его документации, для переключения панели вниз нужно изменить одно свойство с top на bottom:

config.toolbarLocation = 'bottom';

Этот компонент реализован в js-файле ядра, как он меняется, написано тут. Но тогда поменяется всюду по системе, да и правки ядра не всегда возможны и не очень правильны.

По прокрутке аналогично, тут и тут, это задаётся в CSS.

Лучше будет переопределить свойства на уровне схемы в конфигурации.

 

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

Спасибо большое! Попробуем воспользоваться) 

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

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

Нравится

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

С недавних пор при редактировании (добавление поля в "колонки отчета") или создании отчетов в Конструкторе отчетов вылезает ошибка "Поле "Название": Необходимо указать значение".

Возможно кто-то знает как это лечится ?

После появления в отчете этой ошибки невозможно отредактировать даже название отчета. 

В консоль никакие ошибки при этом не валяться.

Важно -  на странице есть поле Название, но оно заполнено.

 

Нравится

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

Виктроия, читайте тут и тут

Алексей Следь,

спасибо, но предложенные варианты не работают

Виктория,

 

в настройках отчета с версии 7.17.1+ нет возможности добавить новые колонки отчета. Направила указанную ошибку ответственной команде.

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

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

Добрый день!

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

Нравится

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

Анатолий, если речь о вкладках, они меняются функцией activeTabChange.

Она используется в DesignViewModelV2 для открытия при инициализации первой вкладки:

var activeTab = tabsCollection.getByIndex(0);
this.activeTabChange(activeTab);

В Вашем случае можно попробовать так перебирать разные вкладки. А интервал обеспечить либо стандартной JS-функцией setInterval, как описано в комментарии тут, или, если нужно менять не постоянно, а по событию из БП, делать при помощи обработки сообщений с сервера по ClientMessageBridge.

Анатолий, если речь о вкладках, они меняются функцией activeTabChange.

Она используется в DesignViewModelV2 для открытия при инициализации первой вкладки:

var activeTab = tabsCollection.getByIndex(0);
this.activeTabChange(activeTab);

В Вашем случае можно попробовать так перебирать разные вкладки. А интервал обеспечить либо стандартной JS-функцией setInterval, как описано в комментарии тут, или, если нужно менять не постоянно, а по событию из БП, делать при помощи обработки сообщений с сервера по ClientMessageBridge.

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