Семантика

Семантика - используется для вывода объекта класса в качестве одной строки заголовка класса.

В мете классов поле "semantic" встречается дважды:

  1. в общей части меты класса, где формирует строковое представление для данного класса,
  2. в мете атрибута класса, где формирует строковое представление объектов класса, на который ссылается атрибут, т.е. используется для ссылочных атрибутов.

Цель использования

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

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

Например, есть класс class, у которого есть атрибуты: id, name, link, date. Есть второй класс classTable, у которого есть ссылочный атрибут table на класс class. Без использования семантики в объектах класса classTable в атрибуте table будут выводится значения идентификаторов объектов класса class. Атрибуты, используемые как идентификаторы, указаны в мете класса class.

Чтобы вывести значения атрибутов name и link в атрибуте table, а не значения идентификаторов, нужно прописать "semantic": "name|link". В зависимости от типа атрибута результат будет разный:

  • Если атрибут table является ссылкой, то в нем будут заполнены значения атрибутов name и link через пробел. Тут можно использовать дополнительные слова и выражения через знак |, например "semantic": "name|,  |link" или "semantic": объекта есть 2 атрибута:|name|,  |link".
  • Если атрибут table является коллекцией объектов класса class, то в нем будут выведеные колонки name и link.

Формат отображения в семантике

  • Можно обрезать вывод с помощью: [].

      "name[0,50]|..."
    Указываем позицию и количество выводимых букв из семантики атрибута. Из атрибута name выводим 50 символов семантики (значение атрибута), начиная с первого.
    
  • Доступно разыменование через . т.е. доступ во вложенный объект.

     "semantic": "digitalTV|kachestvoCTB|analogTV.name|kachestvoAnal|period"
    где ``analogTV`` - ссылочный атрибут класса, для которого задается семантика, а ``name`` - атрибут класса по ссылке.
    

Отображение семантики на форме

  1. В списках первого уровня (открываемые непосредственно по узлу навигации), в качестве заголовка выводим только значение из поля «caption» узла навигации.
  2. В списках выбора в заголовок выводим только значение из поля «caption» класса объектов списка.
  3. В форме редактирования в заголовок выводим только семантику объекта.
  4. В форме создания в заголовок выводим только значение из поля «caption» класса.
  5. В списках выбора над заголовком мелким шрифтом выводим строку «Выбор значения атрибута <…> объекта <…>».
  6. В форме создания, если создается объект в коллекции или ссылке, над заголовком мелким шрифтом выводим строку «Создание объекта в коллекции/по ссылке <…> объекта <…>».