Добрый день, коллеги!
Столкнулся с таким нюансом.
Есть задача сделать поле “Расположение” (класс location_id) обязательным.
В системном datamodel.itop-config-mgmt.xml данное поле прописано в классах PhysicalDevice и Person.
Пробовал менять обязательность заполнения поля “Расположение” как через системный datamodel.itop-config-mgmt.xml, указывая в тегах <is_null_allowed>false</is_null_allowed>
Но в каждом из этих случаев происходит следующее:
как только я делаю поле “Расположение” обязательным, все предыдущие записи всех модулей (например, модуля сервер) пропадают:
Подскажите, пожалуйста, что я делаю не так?
Как возможно сделать поле “Расположение” обязательным чтобы при этом ни одна из предыдущих записей в других модулях не пропала?
Есть какие-то мысли по этому поводу?
Перепробовал все варианты. Если делаю поле location_id обязательным - доступ к предыдущим сохраненным записям пропадает.
Неужели нет варианта, который бы позволил сделать поле обязательным без последствий для текущих данных?
Так же, пробовал создать новое кастомное поле location2_id, чтобы использовать его вместо системного.
Но ситуация аналогичная: как только делаю поле location2_id обязательным - доступ к текущим записям пропадает. Не понимаю где здесь взаимосвязь.
Коллеги, помогите, плз.
НО при попытке просмотра любой из записей вижу сообщение “Извните, этот объект не существует (или вы не можете его видеть).” (“Sorry, this object does not exist (or you are not allowed to view it”):
При этом, если создать новую запись, то она доступна для просмотра и проблем с ней нет.
Затем ради интереса я пробую сделать полe location2_id не обязательным, чтобы проверить будет ли работать это в обратную сторону: т.е. станет ли новая запись недоступна, а остальные (старые) записи доступными.
Результат: после того как поле location2_id делаю не обязательным, все записи (и старые и новая) доступны для просмотра и никаких проблем нет.
Sjai, спасибо за ответ.
Но я не совсем понял какие значения и в каких объектах Вы указали.
Можете подробнее описать на моем примере для поля location_id (либо на другом аналогичном поле такого же типа) что и где Вы бы прописали для решения данного вопроса?
Спасибо большое за помощь в решении!
Так как обязательных полей с типом AttributeExtermalKey мне надо было сделать штук 6-7, прошелся по всем записям всех КЕ и проставил искусственное значение “по-умолчанию”, созданное для всех вариантов полей предварительно.
После этого скомпилил кастомный модуль, изменяющий обязательность полей, и все заработало корректно.
Имхо, было бы удобно, если бы такие значения “по-умолчанию” генерились автоматом, если вдруг их отсутствие вызывает проблемы. Ведь ситуации, когда данные (много данных) уже занесены, а изменения в логику вносятся позже.
Владимир, спасибо!
Логично, что это не баг по факту.
Но это совсем не логично с т.з. юзабилити.
В большой компании, где различные данные заводят разные сотрудники, нереально заранее знать что где должно быть заполнено. Собственно, поэтому и приходится писать что-то по-умолчанию в эти поля, чтобы в последствии нужный сотрудник увидел это и заполнил.
Хотя не факт, что он это сделает, ведь данные уже вбиты и система не выдаст предупреждения