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

В схемах страниц можно создавать группы фильтров для Esq-запросов, например:

var filterGroup = this.Terrasoft.createFilterGroup();
filterGroup.setLogicalOperation(1);
 
filterGroup.add("NotIPDueDate", this.Terrasoft.createColumnIsNullFilter("CreatedOn"));
filterGroup.add("IPDueDate",this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.GREATER_OR_EQUAL, "CreatedOn",IPDueDate));
 
esq.filters.add("filterGroup", filterGroup);
esq.filters.add("Filter", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Name", "1"));

Как задать аналогичную конструкцию в задании-сценарии бизнес-процесса на c#?

Нравится

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

Здравствуйте! Как работать с серверным кодом описано в данной статье.

Здравствуйте! Как работать с серверным кодом описано в данной статье.

Класс EntitySchemaQueryFilterCollection

Пример

// create filter collection with And
var filterGroup = new EntitySchemaQueryFilterCollection(esq, LogicalOperationStrict.And);
 
// add CreatedOn filter
filterGroup.Add(esq.CreateFilterWithParameters(FilterComparisonType.GreaterOrEqual, "CreatedOn", ThreeHoursAgo));
 
// add another filter collection for Status with Or
filterGroup.Add(new EntitySchemaQueryFilterCollection(esq, LogicalOperationStrict.Or) {
    esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Status.Text", "Complete"),
    esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Status.Text", "Pending")
});
 
// now add filter collection to esq
esq.Filters.Add(filterGroup);

 

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

Добрый день.

 

Есть раздел "Контакты", который может содержит записи с типом "Сотрудник".

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

 

Вопрос: В каких случаях необходимо/эффективнее задействовать еще и раздел "Сотрудники"?

//Чтобы его заполнить все равно приходится обращаться к записям раздела "Контакты", а для создания записи в разделе "Пользователи" достаточно предварительно создать запись в "Контакты" .

Нравится

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

Это два разных объекта, Contact и Employee. Во втором есть справочное поле — ссылка на контакт и дополнительная информация, связанная с должностью и руководителем, началом, концом карьеры, испытательным сроком и увольнением.

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

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

Доброго дня!

Прошу помощи с проблемой.

Требуется создать фильтр в детали Конфигурационные единицы (по колонке Обращение), который бы работал следующим образом:

У обращения есть текстовая колонка "textCase". У Конфигурационной единицы есть текстовая колонка "textConfItem". Нужно, чтобы при выборе в детали Конфигурационные единицы (по колонке Обращение) выбирались лишь те КЕ, у которых это значение колонки "textConfItem" равно значению колонки "textCase" связанного обращения.

 

В ConfItemCaseEditPage поместил следующий код:

        attributes: {

            "ConfItem": {

                "dataValueType": Terrasoft.DataValueType.LOOKUP,

                "lookupListConfig": {

                    "filters": [

                        function() {

                            var textCase = this.get("[Case:Id].textCase");

                            var serviceFiltersGroup = Terrasoft.createFilterGroup();

                            serviceFiltersGroup.logicalOperation = Terrasoft.core.enums.LogicalOperatorType.OR;

                            serviceFiltersGroup.addItem(Terrasoft.createColumnFilterWithParameter(

                                Terrasoft.ComparisonType.EQUAL,"[ConfItem:Id].textConfItem", textCase));

                            return serviceFiltersGroup;

                            

                            

                        }

                    ]

                }

            }

        },

 

но это не помогло, возможно в коде что-то не так, а возможно из-за коробочного изменения механизма добавления в деталь (при нажатии на + сразу открывается карточка выбора, а не ConfItemCaseEditPage)

Нравится

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

А как именно не работает, предлагает выбрать все записи?

А почему у Вас группа фильтров serviceFiltersGroup связана условием  OR? Вам нужно объединить с каким-то другим условием?

Не смотрели, при открытии окна выбора запрос к веб-серверу идёт с Вашим фильтром?

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

Да, предлагает выбрать все записи.

OR здесь просто на будущее, условия да, будут.

Про наличие фильтров в запросе к серверу не уверен, что правильно смотрю. Вообще, в консоли в запросах я не вижу этого фильтра. Но может просто смотрю не там.

Фильтры смотреть у запроса к методу SelectQuerry у DataService примерно тут:

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

У Вас, по идее, должен быть один Ваш фильтр вместо него.

 

А почему бы просто не настроить деталь и связь с разделом в мастере стандартными средствами? Там можно указать и текстовые поля:

Александр, спасибо.

Изначально, наверно, неправильно объяснил.

Суть в том, что фильтр этот нужно ставить не в саму деталь, а на справочник выбора в эту деталь (lookupListConfig)

Но фильтр этот нужно поставить как бы ЧЕРЕЗ объект.

Узнал, что скорее всего здесь надо использовать sandbox, буду копаться там пока.

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

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

вопрос такого характера, а что может быть причиной не отображения данных в гриде детали? которая отображается в модуле (наследуется от Базовой схемы карточки NUI), а модуль в свою очередь расположен в модальном окне. Когда я делаю экспорт в exel, то в файле отображаются все те данные которые приходят по filterMethod для детали. Но Грид пустой там нету ни одной записи. Подскажите в чем секрет? Как эти данные отобразить?

Нравится

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

Вот в этой детали ничего не отображается хотя по итогам видно, что количество записей равно 24.

Это то что выгружено в exel файл:

А это та самая деталь расположена на обычной странице без всяких там модальных окон:

 

Андрей, проверьте, какой запрос уходит к DataService для считывания данных для детали с сервера и что приходит на него в ответ. Возможно, условия фильтрации такие, что там 0 записей?

 

Либо же произошла ошибка, которую видно в консоли (но Вы писали, что нет).

 

Точно отличается только то, что окно модальное, а для немодального такая же деталь с наполнением данными?

Зверев Александр, для не модального окна, а именно тогда как я ее располагаю на станице контрагента как отдельную деталь, то все данные отображаются именно в соответсвии с установленным фильтром в filterMethod. Данные там есть это даже видно из ответа на вкладке network в консоле. И ошибки не прилетают. А хотелось хоть одну увидеть)))

Нужно смотреть в элементах открывшейся страницы, есть ли там вообще элементы с записями. Может, их кто-то сверху закрывает или сдвинулись вне области отображения. Или попытаться отладить, корректно ли отрабатывает вся JS-логика. Не видя развёрнутого сайта и кода страниц, сложно сказать.

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

Всем доброго дня. Версия 7.15.

 

Можно ли как-нибудь в бизнес-процессе, зная контакт оператора, получить текущий активный звонок, если он есть?

Нравится

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

Денис, звонки хранятся в таблице Call, также есть отдельная SysActiveCall. Если звонок ещё идёт, EndDate не заполнено. Если не по контакту, а по оператору, попробуйте фильтровать по CreatedById или ModifiedById.

Денис, звонки хранятся в таблице Call, также есть отдельная SysActiveCall. Если звонок ещё идёт, EndDate не заполнено. Если не по контакту, а по оператору, попробуйте фильтровать по CreatedById или ModifiedById.

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

Установил темплейт из маркетплейса https://marketplace.terrasoft.ru/template/smena-otvetstvennogo-sotrudnika

Зашел в БП, хотел внести правки, пытаюсь открыть преднастроенную страницу и вижу вечную загрузку.

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

Версия Creatio 7.15.3.1649

Нравится

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

Дмитрий, добрый день!

 

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

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

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

Заказчик разработал рекламное письмо с pdf-ной подложкой и с элементами ссылок в виде кружочков с ссылками на соцсети: VK, Одноклассники, facebook и т.п.

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

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

Спасибо.

Нравится

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

Марина, в дизайнере отчётов у текста или картинки есть свойство «Hyperlink», там можно настроить ссылку.

 

Но эта функциональность ещё не тестировалась, не во всех случаях может работать. Обычная ссылка-константа у меня добавилась:

Александр, спасибо

 

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

Добрый день! Пытался обновить версию OData по инструкции:

https://academy.terrasoft.ru/documents/technic-sdk/7-16/integraciya-s-creatio-po-protokolu-odata-4?_ga=2.183260710.1232967641.1598249864-1095365786.1598249864

 

Добавил в Web.Config, который находится в корневой папке в блок 

строку:

Сохранил файл конфигурации.

Следующий запрос через Postman для проверки возвращает статус 404: 

http://myapp/0/odata/Employee?$filter=FullJobTitle eq 'Developer' and Account/Name ne 'Our company'

 

В то же время запрос для версии OData 3 возвращает статус 200:

http://myapp/0/ServiceModel/EntityDataService.svc/EmployeeCollection?$f… eq 'Developer' and Account/Name ne 'Our company'

 

Полная компиляция, очистка редис и перезапуск приложения в IIS не помогло.

Версия продукта 7.15.0.634

Нравится

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

Коллеги, есть способ добавить валидацию к полю детали страницы?

Нравится

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

Добрый день.

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

7.15.3.1649

Нравится

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

Добрый день,

 

на Studio Creatio 7.15.3.1649 успешно добавила титул и достижение в настройке игры (см. скриншот). При клике в окно ввода поля "Achievement" отображается справа всплывающее окно "Значение справочника" и при клике на окно открывается список значений для выбора. 

Уточните более детально кейс заполнения указанного поля в вашем случае.

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

При клике на "Значение справочника" открывается список справочников.

 

Так и не получил ответа

Добрый день, 

 

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

1. были ли ошибки при установке дополнения?

2. вносили ли изменения в пакете дополнения? 

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

 

в указанном окне выбора необходимый справочник выбирается автоматически. Попробуйте вручную выбрать справочник из списка:

1. Если указали Тип награды = Добавить титул, выполните поиск справочника Титул в игре;

2. Если указали Тип награды = Добавить достижение, тогда справочник Игровое достижение.

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

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