Да, обновлял. в модели данных строка есть
jira_id jira id Текст (Multiline character string) RoutineChange Столбцы: jira_id: TEXT, По умолчанию: "jira_id", Null разрешён
Да, обновлял. в модели данных строка есть
jira_id jira id Текст (Multiline character string) RoutineChange Столбцы: jira_id: TEXT, По умолчанию: "jira_id", Null разрешён
При создании нового тикета, строка видна. при нажатии на кнопку создать выдает:
Ошибка: Failed to issue SQL query: query = INSERT INTO `change_routine` (`id`,`jira_id`) VALUES (7, '14125'), mysql_error = Unknown column 'jira_id' in 'field list', mysql_errno = 1054.
Посмотрел в базе, столбец не добавился в таблицу change_routine. там присутствует только один столбец id. Получается itop не добавил столбец в таблицу. И что делать? в ручную добавить?
Как именно?
Во вкладке Data Model Consistency сначала проверил, он написал ОК.
Далее во вкладке iTop Update выполнил сначало Refresh а потом Update Itop Code
Жать надо на кнопку Update iTop code and Database! Если нет такой, перезапустите тулкит.
Перезапустил Toolkit, кнопка не появилась
Какая у вас версия iTop?
По этому мануалу всё получилось?
https://wiki.openitop.org/doku.php?id=2_2_0:customization:add-attribute-sample
2.2.0.
Все сделал по мануалу.
А вот кнопки “Update iTop code and Database” не было
В мануале ведь тоже ничего не сказано про кнопку “Update iTop code and Database”.
Click on the button Update iTop Code to:
Compile the XML data model to PHP classes
Update the database schema to add the new text column.
На всякий случай убрал новое поле, и попытался заного его добавить. перезапустил тулкит, он не сругнулся, но кнопка “Update iTop code and Database” так и не появилась
Запустил компиляцию по процедуре апгрейта, и все получилось:)
Это ошибка.
Чудес не бывает)). Вы поле добавляли в том файле, из которого изменения применялись ранее? Версия тулкита 2.2?
Да.
да. с ним что-то не так?
Нет. Просто бывает обновляют iTop, а toolkit старый оставляют.
Понятно.
Следующая задача. во вкладке КЕ добавить дополнительный столбец “Действие” - это будет информативным столбцом
план действий:
создать свой модуль
установить его
скопировать в него код из datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
добавить филд
add remove change action_code manual false listя ничего не упустил?
А можно не копировать весь код, а только то, что мне нужно?
Так и нужно делать. Поле, на которое вы показываете, должно находиться в классе lnkFunctionalCIToTicket.
Если ваши модификации преследуют одну цель, нет смысла выделять их в отдельные модули.
Т.е. я могу этот класс представить в том же файле?
Да, если доработки объединены логикой работы модуля.
Понял.
Возникла не понятная проблема.
Филд я создал, выпадающий список появился:
Но после сохранения, значения не применяются, а устанавливаются в “неопределен”
в чем может быть причина?
вот добавленный код:
<field id="action_code" xsi:type="AttributeEnum" _delta="define">
<values>
<value id="act_add">adding</value>
<value id="act_rem">remove</value>
<value id="act_chg">change</value>
</values>
<sql>action_code</sql>
<default_value/>
<is_null_allowed>true</is_null_allowed>
<display_style>list</display_style>
</field>
...........
<presentation _delta="redefine">
<details>
<items>
<item id="ticket_id">
<rank>10</rank>
</item>
<item id="functionalci_id">
<rank>20</rank>
</item>
<item id="impact_code">
<rank>30</rank>
</item>
<item id="action_code">
<rank>40</rank>
</item>
</items>
</details>
<search>
<items>
<item id="ticket_id">
<rank>10</rank>
</item>
<item id="functionalci_id">
<rank>20</rank>
</item>
<item id="impact_code">
<rank>30</rank>
</item>
<item id="action_code">
<rank>40</rank>
</item>
</items>
</search>
<list>
<items>
<item id="ticket_id">
<rank>10</rank>
</item>
<item id="functionalci_id">
<rank>20</rank>
</item>
<item id="impact_code">
<rank>30</rank>
</item>
<item id="action_code">
<rank>40</rank>
</item>
</items>
</list>
</presentation>