Атрибут типа «Список значений». Вычисление значения по справочнику


Прикладная задача

В этой статье представлен способ вычисления значения атрибута типа «Список значений» по справочнику из связанного шаблона.

Для примера настроим простейшую форму заказа пассажирской перевозки следующим образом:

  1. Заказчик создаёт заявку на перевозку и выбирает её тип:
    • автобусная перевозка;
    • грузоперевозка;
    • перевозка на легковом автомобиле;
    • перевозка на микроавтобусе.
  2. На форме заявке автоматически отображается подходящий для выполнения заявки тип транспортного средства.

Исходные данные

Для выполнения примера создайте указанные в следующей таблице шаблоны и атрибуты.

Название / системное имя шаблона записи Название / системное имя атрибута Тип атрибута Описание

Типы заявок / RequestTypes

Наименование типа заявки / Name Текст

Атрибут «Наименование типа заявки» содержит наглядное название типа заявки.

Атрибут «Код типа заявки» содержит условное обозначение типа заявки.

Код типа заявки / Code Текст
Заявки / Requests Тип заявки / RequestType Запись

Атрибут «Тип заявки» связан с шаблоном «Типы заявок».

Практический пример

  1. В шаблоне «Типы заявок» создайте четыре записи:

    Наименование типа заявки Код типа заявки
    Автобусная перевозка bus
    Грузоперевозка truck
    Перевозка на микроавтобусе van
    Перевозка на легковом автомобиле passengerCar
  2. Поместите на форму и в таблицу шаблона «Заявки» атрибут «Тип заявки».
  3. Создайте и поместите на форму и в таблицу шаблона «Заявки» атрибут «Тип транспортного средства»:
    • Тип данных: Список значений
    • Формат отображения: Бейдж
    • Вычислять автоматически: флажок установлен
    • Вычисляемое значение: формула
       ENUMVALUE("VehicleType",$RequestType->Code)

      Синтаксис формулы

      • ENUMVALUE(enumAttributeSystemName, enumValueSystemName) — эта функция принимает два аргумента: системное имя атрибута типа «Список значений» и системное имя одного из значений этого атрибута, и возвращает ID указанного значения.
      • ENUMVALUE("VehicleType",$RequestType->Code) — возвращает строку с ID значения атрибута VehicleType, соответствующего значению атрибута Code из записи шаблона «Типы заявок», на которую ссылается атрибут RequestType.
      • Данная формула присваивает атрибуту «Тип транспортного средства» значение, соответствующее  из справочника типов заявок
    • Список значений:
      Системное имя RU Цвет Значок
      bus Автобус #ff0000  bus
      passengerCar Легковой автомобиль #0000ff   car
      truck Грузовик #00ff00   truck
      van Микроавтобус #ffff00   van-shuttle

      Примечание

      Системные имена значений атрибута должны совпадать со значениями атрибута «Код типа заявки» ранее созданных записях шаблона «Типы заявок»: bus, passengerCar, truck, van

  4. Откройте форму и в поле «Тип заявки» выберите любое значение.
  5. В поле «Тип транспортного средства» должны автоматически отображаться соответствующие значения.

    Автоматическое вычисление значения атрибута типа «Список значений» по значению атрибута из справочника
  6. Откройте таблицу с записями шаблона «Заявки».
  7. Столбец «Тип транспортного средства» должен выглядеть как показано на иллюстрации.

    Представление атрибута типа «Список значений» в таблице

    Представление атрибута типа «Список значений» в таблице

Связанные статьи

Атрибут типа «Список значений»

Атрибут типа «Запись»

Атрибут типа «Список значений». Вычисление текущего значения

К началу

 


Номер Статьи: 2571
Размещено: Fri, Jan 26, 2024
Последнее обновление: Mon, Jan 29, 2024

Online URL: https://kb.comindware.ru/article/atribut-tipa-spisok-znachenij-vychislenie-znacheniya-po-spravochniku-2571.html