Добрый день

 

Поставлена задача контролировать статус активностей по обращению на момент перехода в статус "IsResolved". Сделал на CasePage в methods 2 функции:

asyncValidate: function(callback, scope) {
	this.callParent([function(response) {
		if (!this.validateResponse(response)) {
			return;
		}
		Terrasoft.chain(
			function(next) {
				this.validateActivities(function(response) {
					if (this.validateResponse(response)) {
						next();
					}
				}, this);
			},
			function() {
				callback.call(scope, response);
			}, this);
	}, this]);
},
validateActivities: function(callback, scope) {
	var result = {success: true};
	if (this.get("Status").IsResolved===true) {
		var esq = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Activity" });
		esq.addColumn("Status.Finish", "Isfinished");
		esq.filters.addItem(esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, 
			"Status.Finish", "0"));
		esq.filters.addItem(esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, 
			"Case", this.get("Id")));
		esq.getEntityCollection(function(response) {
			if (response.success && response.collection.getCount() > 0) {
					result.message = this.get("Resources.Strings.CantChangaStatus");
					result.success = false;
			}
			callback.call(scope || this, result);
		}, this);
	}
}

Если обращение существует, то все отлично. Проверка идет, сохранять обращение не дает.

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

Нравится

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

Алексей, не пробовали отладку в этом коде и просмотр уходящих к серверу HTTP-запросов. Зависание может означать или цикл, или рекурсию, когда эта логика будет повторяться снова и снова.

 

А если заменить проверку с ESQ на заглушку, тоже зависает? Может, дело в асинхронности получения ответа от него, а выполнение проверки в asyncValidate ожидало результата сразу?

 

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

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

Где в документации можно найти, запросы (выгрузку контакты, и т.д.) через API.

К примеру, для лидов собрал https://012521-sales-team.terrasoft.ru/0/ServiceModel/EntityDataService…;

Нравится

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

Слава, информация об интеграции по OData есть тут для OData 3, которую Вы применили, и тут для Odata 4.

Если кратко, вместо лидов в адресе подставляете название нужного объекта и аналогично получаете ответ. Например, контакты:

http://сайт/0/ServiceModel/EntityDataService.svc/ContactCollection

Больше примеров  по обоим API есть на стороннем ресурсе.

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

При использовании Data binding tool возникает ошибка, если пытаться привязать настройку колонок в детали. В основном это касается custom'ных деталей (добавленными стандартными инструментами через мастер деталей), но иногда возникает и со стандартными

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

Нравится

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

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

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

Владимир, добрый день!

 

уточните, пожалуйста, продукт и версию Creatio, на которой воспроизводится указанная ошибка? И также очень будет полезна информация, когда устанавливали приложение?

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

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

Лазоренко Ирина,

Спасибо большое! Действительно, после сохранения для всех пользователей, настройка колонок успешно привязалась!

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

На чистой сборке версии 7.16.4 Studio не получается добавить новый шаблон для отчета. 

Если нажать кнопку "Загрузить шаблон", и выбрать шаблон xlsx, то в консоле получаем ошибку.

ErrorCode: "FileSecurityException

"Message: "Файлы с расширением [jar,apk] запрещены настройками безопасности. Если вам необходимо работать с файлами такого типа, пожалуйста обратитесь к администратору системы, для того чтобы убрать данное расширение из системной настройки [Список запрещенных расширений файлов] (FileExtensionsDenyList)"

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

Не очень понимаю чем тут  [jar,apk], если идет загрузка xlsx. Тем не менее, если расширения [jar,apk] добавить в доверенные, то загрузка отрабатывает корректно. Не знаю где именно баг в дополнении или в creatio.

Нравится

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

Павел, добрый день!

 

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

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

Как правильно создать деталь в детали?

Почему-то во вторую деталь не передается Id-шник родительской детали.

Пробовал сделать добавлением  - "useRelationship": true . Но все равно не работает. В качестве примера использовал вот этот эту статью:

https://community.terrasoft.ru/questions/peredaca-id-v-samopisnuu-detal

Нравится

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

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

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

Владимир Соколов,

 Что вы имеете в виду установить поле для отображения? Добавить в объект первой детали поле с ссылкой на объект второй детали? Или же в карточке первой детали прописать?

Евгений, речь об этом, настраивается на уровне объекта:

Спасибо. Да, действительно помогло. Получается решение с помощью строки "useRelationship": true  не дает ничего

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

Добрый день!

как  можно выгрузить и загрузить фильтры?

Нравится

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

Андрей, что именно Вы имеете в виду, куда нужно их выгрузить?

 

В обычном разделе все статические и динамические группы хранятся в таблицах ContactFolder, AccountFolder и подобных. Для динамических групп фильтры записываются в поле SearchData, при желании в SQL-запросе можно сконвертировать в текст значение поля и увидеть их внутреннее устройство.

 

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

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

Приветы. Буду очень признателен за помощь.

Есть таблица с такими колонками: 

1. Поле типа справочник - x. 

2. Поле типа справочник - y.

3. Поле типа дата - d.

 

Результат: 

Таблица, грид, где первая колонка со значениями поля - x с соответствующим заголовком.

Другие заголовки колонок после заголовка x - значение полей d. А на пересечении x и d - значение справочника y. 

Как то так:

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

 

Буду рад любой помощи, гайду или указанием примера в системе :)

Sales 7.16

Нравится

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

Андрей, с версии 7.16 систему как раз добавили функциональность сводных таблиц. Настраивается в итогах, блок «список».

specs_dashboards_chart_summary_table.png

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

 

Если что-то не подойдёт, кроме стандартной функциональности есть ещё стороннее дополнение для сводных таблиц.

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

Фишка в том что бы это можно было редактировать :)

Тогда, наверное, так не получится. Разве что делать привязанное к этой таблице view с триггерами на изменение, реализующими сохранение в нужную запись таблицы, объект и деталь с редактируемым реестром по нему. Но это только для случая, если количество столбцов заранее известно и стабильно (например, дни одного месяца с 1 по 31, если в месяце меньше дней, как-то обработать).

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

Вопрос такой, нужна функциональность NuGet пакета "System.IdentityModel.Tokens.Jwt", а именно "JwtSecurityTokenHandler" для того что бы из полученного JWT Token (при интеграции с другой системой) получить время создания и время окончания действия Token?

В примерах для написания Unit тестов указано, что установить NuGet пакет можно в проект "Terrasoft.Configuration.Tests.csproj", но это будет на сколько я понимаю только для проекта где мы ставим его, а как сделать что бы это еще и в пакете установилось на продуктивную среду?

Нравится

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

На сколько я разобрался, то самый безопасный способ установить NuGet пакет сторонний это создать пакет-проект, так как он создает отдельную dll и потом через интерфейс помет быть использован в конфигурации. Установка NuGet пакета в основную конфигурацию думаю не имеет смысла так как через пакет перенести это не удастся. Ну и забыл указать что все это я нашел что работает через утилиту clio. Если кому надо то у меня сохранилась запись вебинара с описаниями и примером создания такого пакета-проекта. Может кто еще варианты знает?

Александр, Nuget-пакет подключить к приложению нельзя, но можно извлечь из пакета нужную библиотеку и загрузить в конфигурацию как внешнюю библиотеку.

Nuget-пакет — это обычный zip-архив, который содержит в себе стандартизированый файл, описывающий содержимое пакета, благодаря чему с ним может работать пакетный менеджер.

 

Информация о потребности возможности добавить Nuget-пакет в приложение уже зарегистрирована.

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

 используя clio есть возможность установки Nuget пакетов, но меня интересовало именно для переноса в пакете на другую среду. Видимо вариант с пакетом-проектом единственный сейчас

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

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

 

Я установил приложение Open popup window

Добавил элемент в БП http://prntscr.com/v10nfx (почему-то он не так выглядит как в презентации на маркетплейсе)

Настроил оба поля элемента: http://prntscr.com/v10nq5

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

 

Процесс отрабатывает http://prntscr.com/v10nyp

Но окно почему-то не появляется.

В чем может быть причина?

Нравится

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

Сидоров Александр Валерьевич,

 Сделал не большое видео с описанием

https://youtu.be/rPthWz3E7uQ

Причина в том, что данный элемент сработает только после элемента из блока "Действия пользователя". О чем и написано в описании расширения https://prnt.sc/v24s91

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

Александр Тыра, вообще было бы интересно, если поделитесь. Изобретать велосипед не хочется)

Павел, добрый день!

 

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

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

Сидоров Александр Валерьевич,

 Сделал не большое видео с описанием

https://youtu.be/rPthWz3E7uQ

Александр Тыра,

С огромным интересом смотрю и утаскиваю в корп вики)) Александр, большое вам спасибо за фундаментальное видео по этому вопросу. Очень полезно!

 

Я бы порекомендовал коллегам из Террасофт вынести ссылку на это видео в отдельный пост, чтобы его можно было найти потом в поиске,

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

Александр Тыра,

не, все великолепно)

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

Доброго времени суток, коллеги подскажите пожалуйста есть ошибка которая часто повторяется когда переходишь по преднастроенным старницам нажимаешь на кнопку для перехода к следующей странице в строке браузера урл меняется на следующую страницу при этом переход не осуществляется страница остается текущая в консоли появляется следующая ошибка Cannot set property 'showNextPrcEl' of undefined  (скрине 1). Сделал замещение в модуле CustomProcessPageV2Utilities что бы посмотреть что приходит в объекты currentState и newState в методе completeExecution оба не пустые (скрин 2). в БП процесс движется к следующему элементу если есть или если он конечный то завершается без ошибок. Подскажите  что может быть и как поправить заранее благодарен

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

Нравится

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

Дмитрий, тут Вы писали, что это ещё связано с элементом привязки процесса к объекту. Или « Cannot set property 'showNextPrcEl' of undefined» само по себе, а остановки при попытке привязки сами?

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