Настроить условия отображения реестра раздела

Средний

Пример реализован для продуктов линейки Sales Creatio.

Пример. Для реестра раздела Заказы (Orders) выделять цветом заказы, которые находятся на стадии Исполнение (In progress).

Создать схему замещающей модели представления раздела 

  1. Перейдите в раздел Конфигурация (Configuration) и выберите пользовательский пакет, в который будет добавлена схема.
  2. На панели инструментов реестра раздела нажмите Добавить —> Замещающая модель представления (Add —> Replacing view model).

  3. Заполните свойства схемы.

    • Код (Code) — "OrderSectionV2".
    • Заголовок (Title) — "Раздел заказа" ("Order section").
    • Родительский объект (Parent object) — выберите "OrderSectionV2".
  4. Настройте условия отображения реестра раздела. Для этого в свойстве methods реализуйте метод prepareResponseCollectionItem(), который переопределяет базовый метод, модифицирует строку данных перед загрузкой в реестр, а также добавляет настраиваемые стили к определенным строкам реестра.

    Исходный код схемы замещающей модели представления раздела представлен ниже.

    OrderSectionV2
    define("OrderSectionV2", ["OrderConfigurationConstants"], function(OrderConfigurationConstants) {
        return {
            /* Название схемы объекта раздела. */
            entitySchemaName: "Order",
            /* Методы модели представления раздела. */
            methods: {
                /* Переопределение базового метода, который модифицирует строку данных перед загрузкой в реестр. */
                prepareResponseCollectionItem: function(item) {
                    /* Вызывает базовый метод. */
                    this.callParent(arguments);
                    item.customStyle = null;
                    /* Определяет статус заказа. */
                    var running = item.get("Status");
                    /* Если состояние заказа "Исполнение", меняется стиль записи. */
                    if (running.value === OrderConfigurationConstants.Order.OrderStatus.Running) {
                        item.customStyle = {
                            /* Цвет текста — белый. */
                            "color": "white",
                            /* Цвет фона — зеленый. */
                            "background": "#8ecb60"
                        };
                    }
                }
            }
        };
    });
    
  5. На панели инструментов дизайнера нажмите Сохранить (Save).

Результат выполнения примера 

Чтобы посмотреть результат выполнения примера:

  1. Очистите кэш браузера.
  2. Обновите страницу раздела Заказы (Orders).

В результате выполнения примера заказы, которые находятся на стадии Исполнение (In progress), выделяются цветом.