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



Подскажите, каким образом можно записать в свойство caption элемента label многострочный текст? Параметр wordWrap в values не работает.

 

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

Нравится

1 комментарий
Excel_reports_builder_for_Creatio
Excel reports builder
Маркетплейс
excel отчет
добавление_раздела
Service_Creatio
7.17

Добрый день! 

Дополнение для экспорта данных в электронные таблицы"Excel reports builder for Creatio" - https://marketplace.terrasoft.ru/app/excel-reports-builder-creatio



По непонятным причинам не удается добавить раздел "Excel report" на Рабочее место. (сам раздел в выпадающем списке имеется).

 

Прилагаю скрин с ошибкой. 

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

Скажите, пожалуйста, в чем может быть причина? 

Спасибо.

Нравится

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

Баг старый, природа его мне неизвестна. Я его обходил следующим образом: добавить уже существующей раздел в рабочее место, например "веб сервисы", а потом добавить раздел excel. Он должен дабавиться нормально, потом раздел веб сервисы можно убрать.

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

сработало, благодарю!

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

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

Версия 7.17.1.

 

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

Есть вот такая возможность сортировки по колонкам:

var priorityColumn = esq.addColumn("Priority.Priority", "ProblemPriority");
priorityColumn.orderDirection = Terrasoft.OrderDirection.ASC;
priorityColumn.orderPosition = 0;

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

Нравится

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

Добрый день.

 

Для другой колонки установить orderPosition = 1:

var priorityColumn = esq.addColumn("Priority.Priority", "ProblemPriority");
priorityColumn.orderDirection = Terrasoft.OrderDirection.ASC;
priorityColumn.orderPosition = 0;
var newSortColumn = esq.addColumn("newSortColumn");
newSortColumn.orderDirection = Terrasoft.OrderDirection.ASC;
newSortColumn.orderPosition = 1;

 

Добрый день.

 

Для другой колонки установить orderPosition = 1:

var priorityColumn = esq.addColumn("Priority.Priority", "ProblemPriority");
priorityColumn.orderDirection = Terrasoft.OrderDirection.ASC;
priorityColumn.orderPosition = 0;
var newSortColumn = esq.addColumn("newSortColumn");
newSortColumn.orderDirection = Terrasoft.OrderDirection.ASC;
newSortColumn.orderPosition = 1;

 

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

Добрый день!

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

Нравится

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

Добрый день.

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

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

Более подробно о настройке правил поиска дублей можно посмотреть на Академии по этой ссылке.

У меня много дублей контактов с одним email и мне нужно удалить все дубли объединять через дублицырования очень долго 

Александр Королев,

Тогда можно написать специальный sql-запрос, который удалит нужные данные.

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

Есть элемент, описанный как:

{

                            id: config.name + "ChatTextEdit",

                            markerValue: config.name,

                            className: "Terrasoft.MemoEdit",

                            classes: { wrapClassName: ["is-scrolling"] },

                            value: { bindTo: "ChatValue" },

                            keyup: { bindTo: "onMemoKeyPressed" },

}

К его дочернему элементу (который имее суффикс '-wrap', а полностью id элемента будет выглядить как 'ChatSendBoxChatTextEdit-wrap'), следует добавить CSS-класс "is-scrolling". Я пытаюсь сделать это через свойства classes: { wrapClassName: ["is-scrolling"] } в основном элементе, однако класс к элементу 'ChatSendBoxChatTextEdit-wrap' не добавляется, не подскажете что не так? Или есть другой способ как это сделать?

Нравится

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

Добрый день, Антон. 



В данном примере Вы добавили класс "is-scrolling"  к самому элементу, а не дочерним. Самым простым способом решения будет назначить Вашему элементу кастомный класс (например "MyContainer"), потом в стилях добавить запись ".MyContainer *" и прописать стили для всех дочерних элементов. 



 

.MyContainer *{
 
}

 

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

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

Версия 7.17.2.1728.

 

Возможно ли использование фильтров по колонке и подзапросу на клиенте, аналогично данному примеру:

public IEntitySchemaQueryFilterItem CreateFilter(FilterComparisonType comparisonType, string leftExpressionColumnPath, EntitySchemaQuery rightExpressionValue)

Где: comparisonType – тип сравнения leftExpressionColumnPath – путь к колонке в левой части фильтра rightExpressionValue – подзапрос в правой части фильтра



Пример:

var esq = new EntitySchemaQuery(EntitySchemaManager, "ESQCityNA"); esq.AddColumn("Id"); var subEsq = new EntitySchemaQuery(EntitySchemaManager, "ESQCityNA"); subEsq.AddColumn(subEsq.CreateAggregationFunction(AggregationTypeStrict.Max"ModifiedOn")); var filter = esq.CreateFilter(FilterComparisonType.Equal"ModifiedOn", subEsq); esq.Filters.Add(filter); string sqlText = esq.GetSelectQuery(CurrentConnection).GetSqlText();



SqlText запроса:

SELECT "ESQCityNA"."Id" "Id" FROM "ESQCityNA" "ESQCityNA" WHERE "ESQCityNA"."ModifiedOn" = (SELECT MAX("ESQCityNA"."ModifiedOn") "Max" FROM "ESQCityNA" "ESQCityNA")

Взято отсюда: https://community.terrasoft.ru/articles/opisanie-osnovnykh-metodov-entityschemaquery-chast-1

 

Попытка аналогичной подстановки:

var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
		rootSchemaName: "Object"
});
 
esq.addAggregationSchemaColumn("ObjectColumn.InnerColumn", Terrasoft.AggregationType.MAX, "ActivityRoute", Terrasoft.AggregationEvalType.ALL);
filters.addItem(Terrasoft.createFilter(Terrasoft.ComparisonType.EQUAL, "ObjectColumn.InnerColumn", esq));

Приводит к ошибке в консоли с сообщением "Ошибка кодирования значения в JSON-строку".

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

 

Нравится

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

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

 

Подобную задачу решали в рамках этих обсуждений:

https://community.terrasoft.ru/articles/esq-select-s-neskolkimi-exists-…

https://community.terrasoft.ru/questions/dobavlenie-filtra-notexists-ne…

 

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

Zarichnyi Anton,

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

 

Пример запроса на SQL может выглядеть так:

SELECT *
  FROM [BPMSrvEntSS].[dbo].[ORDVisa] iov
  Where iov.ORDId = '4024cda7-ff90-4068-b872-c27851c33108'
  and [CreatedOn] in (SELECT max([CreatedOn])
  FROM [BPMSrvEntSS].[dbo].[ORDVisa] iov
  Where iov.ORDId = '4024cda7-ff90-4068-b872-c27851c33108'
  and [StatusId] = 'e79facb3-3c32-43e7-a59e-12ba125e6132'
  group by Objective,[VisaOwnerId])

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

 

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

Смородинов Денис,



Добрый день, Денис. 



Если у в результате согласования и переназначения меняется существующая запись, а не создается новая, то CreatedOn не должен изменяться.  

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



Для более глубокого анализа причин такого поведения рекомендую Вам обратится в тех. поддержку. 

Показать все комментарии
аналитика
график
итоги
фильтрация
Service_Creatio
7.17

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

 

Вопрос, касающийся фильтрации графиков в разделе Итоги:

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

 

Подробнее с примером:

Мы имеем график с 5 сериями - Хвост, Решено с подтверждением за период, Поступило за период, Дубль, Отклонено.

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

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

 

Как нужно, чтобы работало:

Необходимо иметь возможность отфильтровать все серии (к примеру) по группам ответственных, кроме серии "Поступило за период" - этот показатель должен остаться неизменным и охватывать значение поступивших Обращений на все группы ответственных. В то время как остальные показатели должны отображать значение Обращений только по группе ответственных, заданной в фильтре.

 

Вопрос:

Есть ли возможность отмены фильтров (быстрых/расширенных) на одну из серий в рамках одного графика? И как это осуществить?

 

Прошу дать рекомендации по решению данного вопроса.

Спасибо.

Нравится

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

Добрый день!



На текущий момент описанный Вами функционал отсутствует в продукте. Мы зарегистрировали идею развития функциональности на основании Вашей бизнес-задачи.

Показать все комментарии
DevLabs
Calculated_metrics_for_Creatio
Service_Creatio
7.17

Добрый день!

 

Скажи, пожалуйста, можно ли с помощью вашего дополнения высчитать среднее и максимальное время TTL (time to live) Обращения?

Нравится

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

Кристина, добрый день! Дополнение позволяет выполнять простые расчеты по математическим формулам. Уточните формулы расчета, которые планируете использовать.

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

Добрый день!

Прошу помощи у знатоков серверной части Creatio. 

При работе с EntitySchemaQuery после указания фильтров и использования метода GetEntityCollection - мы получаем коллекцию сущностей какого-то конкретного объекта. Так вот вопрос. Возможно ли данную коллекцию сущностей (Entity) преобразовать к конкретному Entity (Например, Account или Contact) используя стандартный функционал?

Я знаю, что можно сделать что-то подобное:

var account = new Account(userConnection);

account.FetchFromDB(id);

 

Но, возможно ли сделать из этого коллекцию из нескольких результатов с фильтрами, например из ESQ?

Нравится

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

 Добрый вечер.

 

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

var collParameters = projectSchemesCollectionParameters.Where(p =>
    p.GetTypedColumnValue<string>("SchemeName") == 'Test name');
var collParametersList = collParameters.ToList();

 

 

Алла Савельева пишет:

 Добрый вечер.

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


 
var collParameters = projectSchemesCollectionParameters.Where(p =>
    p.GetTypedColumnValue<string>("SchemeName") == 'Test name');
var collParametersList = collParameters.ToList();

Спасибо, но это не то, о чем я спрашивал. Я имел ввиду что-то вроде этого:

 

entitySchemaQuery.GetEntityCollection(userConnection).Select(a =&gt; a as Account);

 

Тимофей Ромах,

Добрый день.

Подобная конструкция не будет работать - 

entitySchemaQuery.GetEntityCollection(userConnection).Select(a =&gt; a as Account);

 

  • При получении коллекции с помощью ESQ, вы будете работать уже с Enitity, используя его методы - например при получении значений из тех колонок, что вы вытянули через ESQ (конечно с примененными фильтрами).

 

 

Но дочернего объекта по цепочке - не будет.

Нашел решение, это возможно через Cast, а именно:

 

entitySchemaQuery.GetEntityCollection(userConnection).Cast&lt;Account&gt;();

После чего мы получаем IEnumerable<Account> с колонками, добавленными в ESQ

Показать все комментарии
Дополнительные поля
Выгрузка файлов
Service_Creatio

Добрый день! 

 

Вы не могли бы помочь в возникшей проблеме:

 

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

Пример запроса: https://betapro.terrasoft.ru/0/odata/Opportunity(617f488f-a7c4-4d12-bb6b-03e761090f64)

В выгрузке не передается ни одно поле, указанное на скриншоте https://prnt.sc/1ajggjl



2. При запросе https://betapro.terrasoft.ru/0/odata/Opportunity(617f488f-a7c4-4d12-bb6b-03e761090f64) или https://betapro.terrasoft.ru/0/odata/Opportunity, выдается ошибка {"error":{"code":"","message":"An

error has occurred."}}. С чем это может быть связано?

Нравится

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

Анастасия Ходаковская, добрый день!

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

Попробуйте провести компиляцию приложения и проверить работу запросов.

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