====== Наследуемые реквизиты ====== ===== Что такое "наследуемый реквизит" ===== Это реквизит, значения которого вносятся в объекте, стоящем по иерархии выше, но значение которого "спускается" на дочерние объекты. Причём значение этого реквизита в рамках дочерних объектов менять нельзя. Это может быть нужно, например, для того, чтобы сохранялись сквозные данные по всем объектам папки проекта. Или чтобы пользователи, которые имеют доступ только к объектам внизу иерархического дерева могли увидеть часть информации из вышестоящих объектов. Например, в системе есть два [[product:objects:admin:interfaces|типа объектов]]: * ''Проект внедрения''; * ''Подзадача''. В обоих типах объектов есть реквизит-классификатор «Тип проекта». \\ В типе объекта "Проект внедрения" у этого реквизита включена опция «Наследовать в дочерние объекты». При создании нового проекта с типом "Проект внедрения" в значении реквизита «Тип проекта» было выбрано «Выполнение услуг». \\ Это означает, что **уже в момент создания дочернего проекта** с типом "Подзадача" в нём будет автоматически выставлено значение реквизита «Тип проекта». Причем вручную его изменить будет нельзя. {{ :product:requisites:requisite_inherit_1.png?nolink |}} **Рисунок 1** -- Функциональность "Наследовать в дочерние объекты" в настройках реквизитов у объекта. Сделать наследуемый реквизит возможно только для следующих типов реквизитов: * [[product/requisites/other#дата|дата]]; * [[product:requisites:requisite-class|реквизиты-классификаторы]]; * [[product/requisites/other#процесс|процесс]]; * [[product/requisites/number|число]]. -------- См. также [[product:requisites:requisite-prosess#особенности_наследования|особенности отображения наследуемого реквизита-процесса]]. ===== Логика настройки ===== Наследуемый реквизит должен быть указан и в родительском, и в дочернем объекте. Значение передаются только на 1 уровень ниже. ⇒ Для каждого объекта, который участвует в выстроенной вами иерархии, этот реквизит должен быть указан и корректно настроен. {{ :product:requisites:requisite_inherit_2.png?nolink |}} **Рисунок 2** -- Пример настройки наследуемого реквизита-классификатора. ===== Как настроить ===== Настройка доступна только для пользователя с ролью администратора. Определите, какие типы объектов участвуют в вашей иерархии. Подумайте над тем, с какого по какой объект должен быть нужный вам наследуемый реквизит. В каждом объекте, который в этой иерархии участвует перечень и последовательность типов объектов, где должен быть наследуемый реквизит. \\ Последовательно в каждом объекте, который участвует в этой иерархии, сделайте соответствующие настройки. ==== Настройка для родителя ==== - Администрирование → Объекты → выберите самый "верхний" объект, тот, куда будут вноситься данные в реквизит. - //Если [[product:objects:object_tree|дерево проекта]] еще не выстроено.// Проверьте, что в списке дочерних объектов есть тот, который предполагается нижестоящим по вашей иерархии. - При необходимости [[product/requisites|создайте новый реквизит]], [[product/objects/admin/requisites|привяжите реквизит к объекту]]. - В списке реквизитов (см. Рисунок 1) напротив того, реквизита, который должен наследоваться, нажмите "*Изменить*" -> поставьте чек-бокс "**Наследовать в дочерние элементы**" ==== Настройка для дочерних объектов ==== - Администрирование → Объекты → выберите дочерний объект -- следующий за тем, в котором был указан наследуемый реквизит. - //Если [[product:objects:object_tree|дерево проекта]] еще не выстроено.// Проверьте, что в списке родительских/дочерних объектов есть тот, который предполагается вышестоящим/нижестоящим по вашей иерархии. - [[product/objects/admin/requisites|Привяжите реквизит к объекту]]. - Настройте наследование: * Если этот объект -- **не последний в иерархии** и реквизит должен наследоваться далее, **ТО**: * в списке реквизитов (см. Рисунок 1) напротив наследуемого реквизита, нажмите "**Изменить**" -> поставьте чек-бокс "**Наследовать в дочерние элементы**". * Если этот объект -- **последний в иерархии** и реквизит далее наследоваться НЕ должен, **ТО** * не вносите изменения в настройки реквизита. - Настройте отображение реквизита. * Если **отображать** реквизит в карточке объекта, ТО: * не вносите изменения в настройки реквизита. * Если **НЕ отображать** реквизит в карточке объекта, ТО: \\ //Например, если этот реквизит нужен только для отчётности.// * в списке реквизитов (см. Рисунок 1) напротив наследуемого реквизита, нажмите "**Изменить**" -> снимите чек-бокс "**Показывать**".