Creatio development guide
Это документация Creatio версии 7.9.0. Мы рекомендуем использовать новую версию документации.

Добавление в раздел блока быстрых фильтров

Glossary Item Box

Общие сведения

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

Для добавления блока быстрых фильтров в раздел необходимо в замещающей схеме раздела переопределить метод initFixedFiltersConfig(), в котором создать конфигурационный объект fixedFilterConfig с такими свойствами:

  • entitySchema — схема объекта,
  • filters — массив добавляемых фильтров.

Затем необходимо присвоить ссылку на созданный конфигурационный объект полю [fixedFiltersConfig] модели представления:

this.set("FixedFilterConfig", fixedFilterConfig);

Описание кейса

В раздел [Договоры] добавить блок быстрых фильтров. Фильтрацию осуществалять по дате начала договора и по ответственному.

Алгоритм реализации кейса

1. В пользовательском пакете создать замещающую страницу раздела [Договоры]

Необходимо создать замещающий клиентский модуль, в котором в качестве родительского объекта указать схему ContractSectionV2 (рис. 1).

Процесс создания замещающей страницы описан в статье "Создание клиентской схемы".

Рис. 1. — Свойства замещающей страницы раздела [Договоры]

2. В коллекцию методов модели представления раздела добавить реализацию метода initFixedFiltersConfig()

В методе initFixedFiltersConfig() создать конфигурационный объект с массивом фильтров PeriodFilter и OwnerFilter, присвоить ссылку на данный объект полю fixedFiltersConfig модели представления.

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

define("ContractSectionV2", ["BaseFiltersGenerateModule"], function(BaseFiltersGenerateModule) {
    return {
        // Название схемы раздела
        entitySchemaName: "Contract",
        // Коллекция методов модели представления раздела.
        methods: {
            // Инициализирует фиксированные фильтры.
            initFixedFiltersConfig: function() {
                // Создание конфигурационного объекта.
                var fixedFilterConfig = {
                    // В качестве схемы объекта для фиксированных фильтров указывается схема объекта раздела.
                    entitySchema: this.entitySchema,
                    // Массив фильтров.
                    filters: [
                        // Фильтр периода.
                        {
                            // Название фильтра.
                            name: "PeriodFilter",
                            // Тип данных — дата.
                            dataValueType: this.Terrasoft.DataValueType.DATE,
                            // Дата начала периода фильрации.
                            startDate: {
                                // Фильтруются данные из колонки [Date].
                                columnName: "Date",
                                // Значение по умолчанию.
                                defValue: this.Terrasoft.startOfWeek(new Date())
                            },
                            // Дата завершения периода фильрации.
                            dueDate: {
                                columnName: "Date",
                                defValue: this.Terrasoft.endOfWeek(new Date())
                            }
                        },
                        // Фильтр ответственного.
                        {
                            // Название фильтра.
                            name: "OwnerFilter",
                            // Фильтрация данных из колонки [Owner].
                            columnName: "Owner",
                            // В качестве значения по умолчанию указывается контакт текущего пользователя.
                            // Значение берется из системной настройки.
                            defValue: this.Terrasoft.SysValue.CURRENT_USER_CONTACT,
                            // Тип данных — справочник.
                            dataValueType: this.Terrasoft.DataValueType.LOOKUP,
                            // Фильтр.
                            filter: BaseFiltersGenerateModule.OwnerFilter
                        }
                    ]
                };
                // Колонке [FixedFilterConfig] присваивается ссылка на созданный конфигурационный объект.
                this.set("FixedFilterConfig", fixedFilterConfig);
            }
        }
    };
});

3. Сохранить созданную замещающую схему

После сохранения схемы и перезагрузки системы в разделе [Договоры] появится блок фиксированных фильтров, который позволит отбирать договоры как по дате их начала, так и по ответственному за договор сотруднику (рис. 2).

Рис. 2. — Результат выполнения кейса

© Terrasoft 2002-2017.

Был ли данный материал полезен?

Как можно улучшить эту статью?