Документация по разработке bpm’online
PDF
Документация по разработке
Описание платформы
Атрибуты. Свойство attributes

Glossary Item Box

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

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

  • 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-2019.

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

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