Пример рабочего статуса

Использование

Для приведенных ниже примеров используется следующая информация.

Коды рабочего статуса

  • Код по умолчанию имеет значение Оба

  • Все методы открыты, то есть задано значение Все

Рабочий статус

DM

JRN

MAN

COMM

DOCS

ControlledBy

Блокировки не установлены

Все

Все

Все

Все

Все

Оба

Запущено

Все

Все

Все

Все

Все

Владелец

Загрузка

Все

Заблокировано

Заблокировано

Заблокировано

Заблокировано

Руководитель

Отправить

Заблокировано

Владелец

Все

Все

Все

Владелец

Журнал

Заблокировано

Заблокировано

Заблокировано

Все

Все

Владелец

Утверждение

Заблокировано

Заблокировано

Заблокировано

Заблокировано

Заблокировано

Руководитель

Измерения рабочего статуса модели

  • В качестве измерения владельца используется Сущность.

  • Измерения со значением Да не являются измерениями владельца.

  • Остальные измерения не учитываются при определении области или региона блокировки.

Имя измерения модели кода

Рабочий статус

КАТЕГОРИЯ

Да

СУЩНОСТЬ

Владелец

P_ACCT

Нет

P_ACTIVITY

Нет

P_DATASRC

Да

RPTCURRENCY

Нет

TIME

Да

Структура сущностей

  • Идентификатор L1 владельца сущности верхнего уровня присвоен внутреннему пользователю TESTUSER_ALL.

  • Остальным родительским и дочерним элементам присвоены тестовые владельцы для демонстрации примера.

Идентификатор

CURRENCY

DESCRIPTION

OWNER

PARENTH1

L1

ЕС

Верхний уровень

TESTUSER_ALL

LD1

США

Родительский элемент 10

TESTUSERC

L1

L9000

США

Родительский элемент 19

TESTUSERD

LD1

L9100

США

Дочерний элемент 191

TESTUSERE

L9000

L9200

США

Дочерний элемент 192

TESTUSERE

L9000

L9300

США

Дочерний элемент 193

TESTUSERE

L9000

LD2

США

Родительский элемент 20

TESTUSERF

L1

L8000

США

Родительский элемент 28

TESTUSERG

LD2

L8100

США

Дочерний элемент 281

TESTUSERF

L8000

L7000

США

Дочерний элемент 201

TESTUSERF

LD2

Примеры

Сначала пользователь вводит данные в модель.

  • В этом примере используются данные для дочерних элементов элемента сущности L1.

  • Блокировки не установлены, поэтому данные можно свободно вводить.

Блокировку устанавливает владелец

  1. Владелец TestUserE может задать собственную сущность L9100 и элемент родительского уровня, относящийся к измерению, которое не является измерением владельца, 2017.Q1 (первый квартал 2008 года).

  2. Однако владелец не может просмотреть текущий статус сущности L9100 и 2017.Q1, поскольку для измерений, не являющихся измерениями владельца, статус распространяется на дочерние элементы (родительские элементы для них не хранятся).

  3. Владелец может просмотреть отдельный статус по базовому элементу 2017.ЯНВ.

Владелец должен устанавливать рабочие статусы Controlledby последовательно. Статус "Загрузка" можно изменить на "Отправка", но не на "Журнал", так как следующим рабочим статусом после "Загрузка" является "Отправка".

Верно и обратное: владелец не может устанавливать рабочий статус, управляемый (Controlledby) владельцем, с нарушением последовательности. Нельзя изменить статус "Журнал" на "Запущено", поскольку это нарушает два правила:

  • Статусу "Журнал" предшествует статус "Отправка". Поэтому он является единственным допустимым выбором.

  • "Загрузка" - это рабочий статус, управляемый (Controlledby) руководителем и находящийся между рабочими статусами "Отправка" и "Запущено". Владелец не может пропустить рабочий статус, управляемый руководителем.

Блокировку устанавливает руководитель 1

Поскольку первый статус управляется (Controlledby) владельцем и определен как открытый (Блокировки не установлены), следующим шагом является переход руководителя к блокирующему статусу "Загрузка".

  1. Войдите в систему как TestUserD, руководитель L9100 (владелец L9000).

  2. Не выбирайте параметр Для всех потомков в области данных. Руководитель может обновлять статус для отдельных элементов, пока для данного статуса задано управление (Controlledby) руководителем.

  3. После установки блокировки обновить данные невозможно, поскольку этот статус блокирует ввод данных вручную.

Блокировку устанавливает руководитель 2

  1. Войдите в систему как TestUserC, руководитель LD1 (владелец L9000).

  2. Попытайтесь установить рабочий статус, которым управляет (Controlledby) руководитель, для определенного дочернего элемента L9000 (например, L9100).

    • Задавать параметры отдельных дочерних элементов может только непосредственный родительский элемент. Будет выведена ошибка: User is not an owner/manager, work status cannot be updated.

    • Если в области данных выбран параметр Для всех потомков, можно настраивать все дочерние элементы (многоуровневая настройка).

Правило Controlled By

  1. Для родительского элемента L9000 задано значение Блокировки не установлены.

  2. Если владелец этого родительского элемента попытается установить рабочий статус "Утверждение", это нарушит правило Controlledby, поскольку Утверждение является рабочим статусом руководителя. Будет выведена ошибка: The Controlledby rule is violated.

Примечание

Владелец родительского элемента не является его руководителем. Единственным исключением является элемент верхнего уровня иерархии.

Правило "снизу вверх"

  • Для родительского элемента L9000 задано значение Блокировки не установлены.

  • Дочерний элемент L9100 имеет статус Загрузка; другие дочерние элементы не имеют статуса.

  1. Владелец родительского элемента L9000 пытается установить рабочий статус Запущено, которым управляет (Controlledby) владелец.

  2. Это сделать не удается, поскольку нарушается правило "снизу вверх": статус родительского элемента не может быть выше статуса его дочерних элементов. Будет выведена ошибка: The Bottom-up rule is violated.

Распространение 1

  • Владелец родительского элемента L9000 (руководитель) может установить рабочий статус для всех его дочерних элементов с помощью параметра Для всех потомков в области данных.

  1. Руководитель может пропускать рабочие статусы, но они должны находиться под его управлением (Controlledby).

  2. Если руководитель выбирает рабочий статус, которым управляет (Controlledby) владелец, то нарушается правило Controlledby.

  3. Если пользователь, устанавливающий рабочий статус, не является ни владельцем, ни руководителем ни для данного элемента, ни для его дочерних элементов, выводится ошибка: User is not an owner/manager, work status cannot be updated.

Распространение 2

  • Владелец родительского элемента L9000 (руководитель) может установить рабочий статус для всех его дочерних элементов с помощью параметра Для всех потомков в области данных.

    • Когда выбран параметр Для всех потомков, рабочий статус родительского элемента не устанавливается.

    • Только родительский элемент L9000 (LD1) может установить рабочий статус, управляемый (Controlledby) руководителем.

Сторнирование

  • Предположим, что все дочерние элементы LD1 утверждены для 2017.Q1 (первый квартал 2008 года - январь, февраль и март).

  1. Владелец дочернего элемента не может установить рабочий статус ниже, чем у родительского элемента. Это нарушило бы правило снизу вверх.

  2. Родительский элемент может сторнировать статус до любого из рабочих статусов, которыми управляет (Controlledby) руководитель.

Правило "все области должны соответствовать"

  • Предположим, что все дочерние элементы LD1 имеют статус Утверждение для 2017.Q1 (первый квартал 2008 года - январь, февраль и март).

  1. Родительский элемент присваивает всем базовым элементам для января значение Блокировки не установлены.

  2. Родительский элемент задает для оставшихся месяцев статус Утверждение.

  3. Владелец одного из измерений пытается установить для первого квартала статус Запущено. Это сделать не удается, потому что нарушается правило "снизу вверх" для января.