Добрый день!

Не срабатывает фильтр в мобильном приложении. На странице отображения списка проектов MobileProjectGridPageSettingsDefaultWorkplace хочу отобразить проекты без родительского проекта по колонке ParentProject (родительский проект)

Добавил конфигурационный модуль MobileProjectModuleConfig. Описал фильтр.

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

Потом добавил данный модуль в файл MobileApplicationManifestDefaultWorkplace в блок ModelExtensions.  Можете подсказать что я не так делаю.

 

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

Нравится

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

 Добрый день,

 

Сделал всё аналогично, кроме того, что не добавлял созданный модуль в ModelExtensions, а только в PagesExtensions. Код один в один с Вашим:

Terrasoft.sdk.Module.addFilter("Project", Ext.create("Terrasoft.Filter", {
    type: Terrasoft.FilterTypes.Group,
    subfilters: [
		Ext.create("Terrasoft.Filter", {
			compareType: Terrasoft.ComparisonTypes.NotEqual,
			property: "ParentProject",
			value: null
		})
	]
}));

Еще для чистоты эксперимента вывел в реестр проектов колонку Parent item и в результате, после перелогина в мобильное приложение после создания модуля и привязки его в манифесте к PagesExtensions, загрузились только записи с заполненным Parent item:

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

Спасибо большое, фильтр работает!

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

Добрый день!

Подскажите, пожалуйста, как с помощью CreateFilterWithParameters построить фильтр для поиска, не зависящего от регистра? Есть ли возможность применить upper, lower?

Нравится

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

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

 

Подобный вопрос уже рассматривался, обратите внимание на эту статью.

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

Добрый день, подскажите, пожалуйста, как сделать фильтр по детали в объекте, которая сама "молодая" и применить еще дополнительные условия к этой записи.

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

Строим график по объекту Лид, колонка Ответственный. В фильтрах указываем Лид.Активность (по колонке Лид).Дата создания максимум = Текущий год 

и Тип = Email, Тип сообщения = Входящее.

Как взять просто последнюю запись в детали по Дата создания.Максимум без этого "= <Текущий год>"?

При таком фильтре он просто выводит лиды, в которых есть входящее письмо в этом году, но оно не последнее.

 

Дополнительно к этому вопросу еще как вывести в отчет текстовое поле из последней записи в детали, например, комментарий к последней активности по лиду?

Нравится

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

Добрый день!

Вы корректно описали взятие самой "молодой" записи из детали. Когда выбираете максимум в дате создания. Почему вы думаете, что фильтр выдает лиды, где входящее письмо не последнее. Если график вывел записи, значит в списке есть письмо с максимальной датой.  Если письма не будет за этот год в лиде, то в график для отображения запись не попадет. Может есть скриншоты примеров, где некорректно выводит и почему?



Если вам надо вывести комментарий по самой последней активности, то так настроить через отчет Word нельзя.

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

 

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

Изображение удалено.Добрый день!

Установила приложение "Custom filter constructor for Creatio" (https://marketplace.terrasoft.ru/app/custom-filter-constructor-creatio) на демо-стенд (версия 7.18.2). Возможности "Открыть настройку фильтров раздела" нет.

В разделе в консоли появляется ошибка (скрин наверху).

 

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

Нравится

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

Елизавета, добрый день!

 

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

Лазоренко Ирина, так может стоит тогда исключить это приложение из маркета, раз оно не работает как надо?

Согласен. Оно не работает уже давно. Думаю если его не исправляют его нужно убирать до исправления ошибка

Я вот тоже не понимаю, почему на маркете вообще лежит нерабочее приложение(

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

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

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

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

 

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

 

Пробую прописать вот так (прилагаю), но фильтр не срабатывает. Скорее всего я не правильно пытаюсь узнать, к какому департаменту относится текущий пользователь, посредством EntitySchemaQuery. Информация о департаменте содержится в объекте Contact.

 

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

Как это более правильно сделать, подскажите, пожалуйста?

 

 

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

Нравится

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

Там идет асинхронный запуск, потому Ваш "return" не попадает в него. Вам необходимо сделать Join в колонке по которой делаете фильтр. Если напишите какие колонки в объекте этого раздела, то могу помочь верно сделать фильтр

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

Предлагаю во все подобные меню подбора значения сравнения с датой/временем, добавить пункт "Текущее значение даты", это поможет во многих случаях, аналитики и формирования логики в БП, завязанных на текущий момент времени.

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

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

 

P.S.

Так же, в этом меню незаслуженно обделены Минуты, их часто не хватает для быстрых процессов.

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

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

 

На команду разработчиков уже зарегистрирована задача по реализации такой функциональности.

Разработчики рассмотрят ее в одной из будущих версий.

 

Спасибо, что делаете наш продукт лучше!

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

Добрый день.

Есть необходимость на преднастроенной странице отображать список пользователей (по ФИО) входящих в выбранную организационную роль.

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

Нравится

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

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

 

Если правильно понимаю задачу, то базовыми элементами не получиться отображать список пользователей с фильтрацией по определенной организационной роли без дополнительных кастомизации логики. По поводу кастомизации есть несколько тем где поднимались подобные вопросы,  надеюсь Вам это будет полезно. https://community.terrasoft.ru/questions/spravochniki-v-prednastroennoy… и https://community.terrasoft.ua/questions/neskolko-voprosov-po-prednastr…

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

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

Подскажите какой метод (название метода и файла) отвечает за нажатие этой кнопки? 

Нравится

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

Добрый день.

При нажатии этой кнопки срабатывает метод applySimpleFilter из файла CustomFilterViewModelV2.

Показать все комментарии
  updateFilters: function (filter) {
 
                    var esq = this.getGridDataESQ();
                    switch(filter) {
                        case "TsOwner":
                            var user = this.Terrasoft.SysValue.CURRENT_USER_CONTACT.value;
                           	esq.filters.add("CurrentUser", this.Terrasoft.createColumnFilterWithParameter(
                                this.Terrasoft.ComparisonType.EQUAL, "TsOwner", user)); 
                            break;
                        case "TsOt": 
                            esq.filters.add("NotCurrentUser", this.Terrasoft.createColumnFilterWithParameter(
                                this.Terrasoft.ComparisonType.EQUAL, "TsOwner", user)); 
                            break;   
                    }
                },

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

Нравится

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

Добрый день,

предоставьте, пожалуйста, конфигурацию кнопки в массиве diff.

Mykhailo Storozhuk,

 {

                    "operation": "insert",

                    "name": "SearchQueryButton",

                    "parentName": "ActionButtonsContainer",

                    "propertyName": "items",

                    "values": {

                        "caption": "Все клиенты филиала",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "style": Terrasoft.controls.ButtonEnums.style.GREEN,

                        "click": {"bindTo": "TsOwnerQueryFilter"},

                        "layout": {

                            "column": 6,

                            "row": 0,

                            // "colSpan": 9,

                            // "rowSpan": 1,

                        },

                    },

                    "index": 2

                },

 

 

  TsOwnerQueryFilter: function () {

                    this.updateFilters("TsOwner");

                },

После того как Вы добавили фильтр нужно получить данные с новым фильтром и перезагрузить страничку реестра через метод this.refreshGridData().

sad

Не помогло. 

Предоставьте код в методе, пожалуйста

Mykhailo Storozhuk, 

initQueryFilters: function (filter) {

                    var esq = this.getGridDataESQ();

                    if (filter == "TsOwner") {

                        var user = '{218A312F-C5FB-4E8F-E053-223E1EAC50CA}'; 

                        esq.filters.add("CurrentUser",

                        this.Terrasoft.createColumnFilterWithParameter(

                            this.Terrasoft.ComparisonType.EQUAL, "TsOwner", user));

                    }

 

                    else if (filter == "TsNotOwner") {

                        var people = '{B1B7A389-130F-6EDB-E040-007F01000437}';

                        esq.filters.add("CurrenNottUser",

                            this.Terrasoft.createColumnFilterWithParameter(

                                this.Terrasoft.ComparisonType.EQUAL, "TsOwner", people));

                    }

                },



 

                updateFilters: function (filter) {

 

                    var esq = this.getGridDataESQ();

                    switch(filter) {

                        case "TsOwner":

                            var user = this.Terrasoft.SysValue.CURRENT_USER_CONTACT.value;

                            esq.filters.add("CurrentUser", this.Terrasoft.createColumnFilterWithParameter(

                                this.Terrasoft.ComparisonType.EQUAL, "TsOwner", user)); 

                            break;

                        case "TsNotOwner": 

                            esq.filters.add("NotCurrentUser", this.Terrasoft.createColumnFilterWithParameter(

                                this.Terrasoft.ComparisonType.EQUAL, "TsOwner", user)); 

                            break;   

                    }

 

                    this.reloadGridData();

 

                },

 

 

2 метода, ни один не работает. привязаны к кнопке на странице. 

По логике в разделе должен обновлить и применить фильтр 

Прошу прощения, правильнее будет переопределить метод initQueryFilters и потом вызывать метод reloadGridData. Пример кода:

define("ContactSectionV2", [], function() {

    return {

        entitySchemaName: "Contact",

          attributes: {

            "UsrTest": {

                "dataValueType": Terrasoft.DataValueType.BOOLEAN

         }

        },

        methods: {

            onTestClick: function() {

                this.set("UsrTest", true);

                this.reloadGridData();

            },

              initQueryFilters: function(esq) {

                this.callParent(arguments);

                //номер в пп

                var usrTestFilter = this.get("UsrTest");

                if (usrTestFilter) {

                    esq.filters.add("UsrTestFiltertest", 

                      esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Name", "111"));

                }

            }

        },

        diff: /**SCHEMA_DIFF*/[

            {

                "operation": "insert",

                "parentName": "ActionButtonsContainer",

                "propertyName": "items",

                "name": "MainContactSectionButton",

                "values": {

                    itemType: Terrasoft.ViewItemType.BUTTON,

                    caption: "Button test",

                    click: { bindTo: "onTestClick" },

                    "layout": {

                        "column": 1,

                        "row": 6,

                        "colSpan": 1

                    }

                }

            }

        ]/**SCHEMA_DIFF*/

    };

});

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

Всем доброго дня! Подскажите можно ли как-то отфитровать список  в "Фильтры/группы" - "Добавить условие" ? Изменение поведения в Объекте на режим "Никогда" не подходит(нужно видеть фильтры в расширенном режиме). 

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

Нравится

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

Анастасия, в каждом разделе системы отображение первого поля при быстром поиске заложено в параметре PRIMARY_DISPLAY_COLUMN (Отображаемое значение). Например, для раздела Контакты это поле [ФИО].

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

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

Однако данный вариант также предполагает использование средств разработки. Более детальнее описано в статье по ссылке: https://academy.terrasoft.ua/docs/developer/elements_and_components/bas…

Алёна Доля,

Хотелось бы отредактировать значения именно в базовом списке, 

в "Фильтры/группы" - "Добавить условие" и повыкидывать оттуда не нужные поля. 

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