Теневые атрибуты

Вспомогательные задачи обычно представляют собой действия, связанные с тем же выемочным блоком, что и их родительские задачи. Например, каждая вспомогательная задача работает с таким же объемом руды с тем же содержанием, что и основная задача. Вместо того, чтобы повторять все атрибуты, которые являются общими для каждой вспомогательной задачи и ее родительской задачи, вспомогательная задача «унаследует» атрибуты своей родительской задачи. Мы называем их «теневыми атрибутами» вспомогательной задачи.

Вы можете использовать теневые атрибуты в выражениях атрибутов задачи, например, в выражении, определяющем вспомогательный атрибут задачи, либо в фильтре задачи. То есть, к примеру, вы можете ссылаться на [Тонны], даже если в таблице выражений атрибутов типа задач не активирована опция [Тонны]. В этом случае используется значение Тонны из родительской основной задачи. Для этого вам нужно задать для Тонн значение по умолчанию на уровне плана, в противном случае, в таблице редактора появится сообщение о том, что вы используете неопределенный атрибут.

В таблице атрибутов Ганта по задаче, для которой не определен конкретный атрибут, обычно отображается пустая ячейка. Для вспомогательной задачи, не имеющей атрибута, но имеющей теневой атрибут, значение атрибута родительской задачи отображается в скобках «[]».

Наследование значений родительских атрибутов обычно является желаемым поведением, но оно нежелательно в Оптимизаторе планирования, потому что это наследование приводит, например, к тому, что одна и та же руда учитывается несколько раз в цели: один раз для родительской задачи и один раз для каждой вспомогательной задачи.

Оптимизатор планирования игнорирует теневые атрибуты. Чтобы значение атрибута задачи использовалось в Оптимизаторе планирования (для цели, ограничений или отчетности), задача должна включать атрибут напрямую. Вспомогательные задачи, которые не включают атрибут, не влияют на цель / ограничения / отчет, даже если их основная родительская задача содержит атрибут.

В частности, следует правильно обрабатывать ограничения содержаний. Задача, не имеющая атрибута содержаний, не будет влиять на содержание для ограничения или отчетности. Это верно, даже если задача включает атрибут делителя (взвешивание), т.е. содержания не разбавляются, если задача не имеет атрибута содержания, но имеет атрибут тонн.