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

Атрибуты. Свойство attributes

Glossary Item Box

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

Свойство attributes конфигурационного объекта схемы модели представления содержит конфигурационные объекты, описывающие атрибуты модели. Атрибутом является колонка модели. Все колонки из схемы объекта включаются в коллекцию attributes автоматически на этапе генерации.

Основные свойства атрибутов

Атрибуты схемы имеют следующие основные свойства:

  • dataValueType — тип данных атрибута. Будет использоваться при генерации представления. Доступные типы данных представлены перечислением Terrasoft.DataValueType.
  • type — тип колонки. Необязательный параметр, который используется во внутренних механизмах BaseViewModel. Доступные типы колонок представлены перечислением Terrasoft.ViewModelColumnType.
  • value — значение атрибута. Значение этого параметра будет установлено в модель представления при ее создании.

Важно!

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

Если тип атрибута подразумевает использование значения ссылочного типа (массив, объект, коллекция и т.д.), то его начальное значение необходимо инициализировать с помощью методов.

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

attributes: {
  // Имя атрибута.
  "NameAttribute": {
    // Тип данных.
    "dataValueType": this.Terrasoft.DataValueType.TEXT,
    // Тип колонки.
    "type": this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
    // Значение по умолчанию.
    "value": "NameValue"
  }
}

Дополнительные свойства атрибутов

Атрибуты могут быть дополнены такими свойствами:

  • caption — заголовок атрибута.
  • isRequired — признак обязательности заполнения атрибута.
  • dependencies — зависимость от другого атрибута модели. Например, установка атрибута в зависимости от значения другого атрибута. Используется для создания вычисляемых полей. Подробнее о механизме вычисляемых полей и использовании данного параметра можно узнать из статьи "Добавление вычисляемых полей".
  • lookupListConfig — свойство, отвечающее за свойства поля-справочника. Подробнее об использовании данного параметра можно узнать из статьи "Применение фильтрации к справочным полям". Это конфигурационный объект, который может содержать в себе следующие опциональные свойства:
    • сolumns — массив имен колонок, которые будут добавлены к запросу дополнительно к колонке Id и первичной для отображения колонке.
    • orders — массив конфигурационных объектов, которые определяют сортировку данных при отображении.
    • filter — метод, возвращающий объект класса Terrasoft.BaseFilter или его наследника, который, в свою очередь, будет применен к запросу. Не может использоваться совместно со свойством filters.
    • filters — массив фильтров (методов, возвращающих коллекции класса Terrasoft.FilterGroup). Не может использоваться совместно со свойством filter.

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

attributes: {
  // Имя атрибута.
  "Client": {
    // Заголовок атрибута.
    "caption": { "bindTo": "Resources.Strings.Client" },
    // Атрибут обязателен для заполнения.
    "isRequired": true
  },

  // Имя атрибута.
  "ResponsibleDepartment": {
    lookupListConfig: {
      // Дополнительные колонки.
      columns: [ "SalesDirector" ],
      // Колонка сортировки.
      orders: [ { columnPath: "FromBaseCurrency" } ],
      // Функция определения фильтра.
      filter: function()
      {
        // Возвращает фильтр по колонке Type, которая равна константе Competitor.
        return this.Terrasoft.createColumnFilterWithParameter(
        this.Terrasoft.ComparisonType.EQUAL,
        "Type",
        ConfigurationConstants.AccountType.Competitor);
      }
    }
  },
  // Имя атрибута.
  "Probability": {
    // Определение зависимости колонки.
    "dependencies": [
      {
        // Зависит от колонки Stage.
        "columns": [ "Stage" ],
        // Имя метода-обработчика изменения колонки Stage.
        // Метод setProbabilityByStage() определен в свойстве methods
        // объекта схемы.
        "methodName": "setProbabilityByStage"
      }
    ]
  }
},
methods: {
  // Метод-обработчик изменения колонки Stage.
  setProbabilityByStage: function()
  {
    // Получение значения колонки Stage.
    var stage = this.get("Stage");
    // Условие изменения колонки Probability.
    if (stage.value && stage.value ===
        ConfigurationConstants.Opportunity.Stage.RejectedByUs)
    {
      // Установка значения колонки Probability.
      this.set("Probability", 0);
    }
  }
}

© Terrasoft 2002-2016.

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

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