Внутри тега <presentation>
каждого класса есть три вложенные секции, каждая из которых отвечает за свой тип вывода:
- в
<search>
описываются поля синей формы поиска вверху страницы; - в
<list>
- поля, которые будут показываться при табличном выводе объектов класса; <details>
описывает форму карточки объекта данного класса.
Классы бывают:
- абстрактные - используются для передачи свойств по наследству дочерним классам, не используются для создания объектов;
- реальные - используются для создания объектов.
Из этого следует, что <search>
и <list>
применимы для всех классов, а <details>
только для реальных, объекты которых можно создавать в iTop.
Меняя <presentation>
для класса Физические устройства, результат будет виден только в форме поиска и при табличном выводе Физических устройств. Для изменения карточки КЕ нужно менять <details>
реального класса, которому принадлежит объект.
Картинка получается примерно такой:
<class id="PhysicalDevice">
<fields>
<field id="MY_SUPER_FIELD" xsi:type="AttributeExternalKey" _delta="define">
</field>
</fields>
<presentation>
<search>
<items>
<item id="MY_SUPER_FIELD" _delta="define">
<rank>40</rank>
</item>
</items>
</search>
<list>
<items>
<item id="MY_SUPER_FIELD" _delta="define">
<rank>130</rank>
</item>
</items>
</list>
</presentation>
</class>
<class id="Laptop">
<presentation>
<search>
<items>
<item id="MY_SUPER_FIELD" _delta="define">
<rank>130</rank>
</item>
</items>
</search>
<list>
<items>
<item id="MY_SUPER_FIELD" _delta="define">
<rank>30</rank>
</item>
</items>
</list>
<details>
<items>
<item id="MY_SUPER_FIELD" _delta="define">
<rank>50</rank>
</item>
</items>
</details>
</presentation>
</class>
То, что это немного нудно - согласен. А при обновлении ничего никуда не денется, если ты всё делаешь в отдельном модуле в extensions. Новая модель данных будет собираться с учетом твоего модуля.
Надеюсь, немного прояснил ситуацию)).