iTop ITSM & CMDB по-русски

Добавить в список "Персональный компьютер" столбец Контакты


#27

Спасибо, но мне не нужно добавлять новое поле на форму. Мне необходимо вывести столбец с ФИО контакта при формировании отчета и только, то есть нет необходимости на постоянной основе добавлять новое поле в класс.


#28

Насколько мне известно, чтобы вывести какое-то значение из БД, нужно, чтобы это значение там хранилось, чтобы оно там хранилось, его нужно туда как-то записать.
Если у вас нет аттрибута на форме, то как вы его записываете в БД?
Импортом?


#29

Начинаем викторину!:nerd_face: Мой вариант ответа: через вкладку “Контакты” в КЕ.:upside_down_face:


#30

В этом случае, в ячейке Пользователь должна быть вложенная таблица, ведь контактов у нас может быть много… Или iTop умеет делать конкатенацию налету?


#32

Коллеги, изначально постановка задачи звучала так:

Подскажите пожалуйста как отобразить в списке “Персональный компьютер” столбец с назначенным контактом? Нужно для того что бы при создании отчета было понятно кто работает за компьютером.

То есть мне нужно добавить в отчет столбец main_user_id, который был бы связан с контактом в КЕ. Как я уже говорил, контакты для каждой КЕ “Персональный компьютер” назначены.


#33

Видимо, мы никогда не узнаем, как именно они оказались “назначены”)

Чтобы отобразить столбец с “назначенным” контактом, этот столбец нужно создать в XML (новое поле) и заполнить в интерфейсе. Добавление связанных контактов через вкладку Контакты ничего общего с этим не имеет. Контакты из вкладки нельзя вывести в столбец списка объектов. Айтоп это не инструмент для построения отчетов. Для этой задачи лучше воспользоваться более специализированными средствами.


#34

Стандартно, через интерфейс iTOP, открываем КЕ “Персональный компьютер”, переходим на вкладку Контакты, нажимаем на кнопку “Добавить Контакт…” в новом окне из списка контактов выбираем нужные контакт и нажимаем на кнопку "Добавить"

Далее, при формировании отчета стандартными средствами iTOP - по сути отчет - это сводная таблица с уже заполненными в iTOP полями, я бы хотел среди прочего видеть столбец “Фамилия” ( main_user_id) где напротив персонального компьютера отображался бы ФИО ранее привязанного (назначенного) контакта. У меня сейчас этот столбец пустой:

Я уже не знаю как еще более доходчивее объяснить мою задачу.

Еще раз, это стандартный отчет iTOP без каких либо вычислений, требуется отобразить в отчете столбец, который ранее уже был заполнен.

Не понимаю зачем нужно создавать новое поле в XML если оно уже существует и находится на вкладке Контакты КЕ “Персональный компьютер”.


#35

Понимаете, есть такая штука как тип связи. Он может быть 1:1 - один объект может быть связан только с одним другим объектом или 1:N - один объект может быть связан с множеством других объектов.
Табличные представления, как правило, строятся только по связям 1:1, поскольку в таблице для каждой связи, фактически, отведён один столбец. И в ячейке может быть только одно значение.
Связь Контакты имеет тип 1:N, т.е. у одного компьютера может быть несколько контактов (с точки зрения структуры БД). поэтому включить эту связь в табличное представление не представляется возможным.
Есть системы, которые умеют обрабатывать подобные случаи, но iTop пока не умеет. :slight_smile:


#36

На самом деле решение вашей задачи есть, но оно совсем другое. Вам нужно строить отчёт по классу lnkContactToFunctionalCI. С точки зрения БД это таблица, в которой для каждой уникальной пары CI-Contact создаётся отдельная запись.


Т.е. если у какого-то PC два пользователя, то он будет фигурировать в этой таблице дважды, если какой-то человек пользуется двумя ПК, то он также будет фигурировать в этой таблмце дважды и т.п.

Как построить по ней отчёт надо думать, либо пытаться вытащить этот класс в меню (не факт, что получится), либо как-то делать экспорт, либо напрямую из БД забрать.


#37

Павел, благодарю за пояснение. Правильно ли я понимаю что мне необходимо таки добавить новое поле в XML и презентовать его на форме?


#38

Спасибо. в целом идея понятна.


#39

Ну я вам предложил вариант как можно этого избежать. Всё зависит от целей, которые вы преследуете. Хотите ли вы, чтобы у вас была гарантия, что у ПК не более одного пользователя, хотите ли вы получать только отчёт или пользоваться этим представлением и в системе также…


#40

Цель простая: нужно получать только отчет в котором был бы отражен список персональных компьютеров (Модель, Операционная система, ОЗУ, CPU) и пользователь этого компьютера. Ну, или от обратного список пользователей + персональные компьютеры


#41

Что значит “получать только отчет”?

Вернее, что значит “получать”?


#42

Я ответил на вопрос Павла:

То есть информация о пользователе ПК мне нужна только в отчете - хочу получать только отчет.


#43

Попробую по-другому. Каким образом этот только отчет вы собираетесь получать? В каком виде? На почту? Excel? Смотреть в айтопе? Регулярно или по запросу?


#44

Мне кажется изначально слово “отчет” не в том смысле используется в этом обсуждении. Скорее это просто экспорт табличного представления в любой доступный формат, например PDF. Таким образом, нужно просто при экспорте табличного представления КЕ “Персональный компьютер” включить столбец с пользователями ПК, которые указаны на вкладке Контакты, надеюсь понятно объяснил.

Таким образом “получать” значит просто выполнить экспорт и при экспорте указать столбцы которые должны быть экспортированы.
image


#45

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


#46

Кстати, ещё вариант создать вычисляемое поле (calculated field), которое заполнять фамилиями связанных контактов через запятую (на случай если их несколько), и его уже включить в таблицу.
теоретически так можно, но конкретно в iTop с вычисляемыми полями не имел дела на практике.


#47

Чересчур сложно для такой задачи.

Если каких-то ограничений на кол-во связанных с персон и компьютеров нет, можно обойтись без доработок, написать OQL запрос, который будет выбирать PC + lnkContactToFunctionalCI + Person, а дальше это запрос использовать в дашборде, сохранить в книге запросов или добавить в избранное.