В продолжение заметки про корректный способ ведение инфо-типа 1222 «Общее ведение атрибутов», поговорим про создание нового атрибута для этого инфо-типа. Всего будет две заметки по этой теме, и отличаться они будут в следующем:

  1. В первой части будет рассмотрен пример создания нового сценария для инфо-типа 1222 с возможностью ручного ввода значения
  2. Во второй части будет рассмотрен пример создания нового сценария для инфо-типа 1222 с возможностью выбора значений из Z* таблицы
    Если интересно, жмите на ссылку ниже...

Как я обычно люблю нудеть на этих страницах, необходимо поставить перед собой задачу. А задача будет выглядеть следующим образом: необходимо создать новый сценарий и атрибут для инфо-типа 1222. Для атрибута сценария предусмотреть ручной ввод значения. Сделать доступным новый сценарий для объекта «S - Штатная должность».

Начнем с того, что так называемый сценарий для инфо-типа 1222 — суть подтип этого самого инфо-типа. Таким образом, для начала необходимо определить новый подтип.

1. Создание подтипа для инфо-типа 1222

Открываем SPRO по следующему пути

IMG: Менеджмент персонала -> Организационный менеджмент -> Основные параметры настройки -> Расширение моделирования данных -> Ведение инфо-типов -> Ведение подтипов

Создайте новую запись подтипа для инфо-типа 1222

Рисунок 1. Создание нового подтипа инфо-типа 1222

Затем определите временную привязку для создаваемого подтипа и объекта, на котором он будет вестись

Рисунок 2. Временная привязка для подтипа инфо-типа 1222

Сохраните созданную запись.

2. Создание нового сценария для инфо-типа 1222

Откройте в транзакции SM30 таблицу T77OMATTR и, находясь на узле Сценарии, создайте новую запись:

Рисунок 3. Создание нового сценария

Обратите внимание на поля Подтип, и Путь анализа. Для первого мы используем значение, которое было определено на первом шаге (см. раздел №1 Создание подтипа для инфо-типа 1222), для второго же используем значение, которое будет использоваться для наследования данного сценария на все подчиненные элементы. В стандартных настройках сценариев используется путь анализа SBESX, но для нашего примера, в целом, он не нужен, так как мы не планируем использовать механизм наследования. Но стоит иметь ввиду, что если разрешить ведение нового атрибута на уровне организационных единиц, то этот же атрибут будет унаследован всеми подчиненными этой организационной единице элементами (то есть штатными должностями)

Рисунок 4. Путь анализа SBESX

Сохраните новую запись.

3. Создание нового атрибута

Находясь в той же настроечной таблице откройте узел Атрибуты и создайте новую запись

Рисунок 5. Создание нового атрибута

Укажите код атрибута, его наименование, а также укажите имя таблицы и поля, на основании которых будет возможно сохранять значения для данного атрибута. Сохраните созданную запись.

4. Присвоение атрибута сценарию, и определение допустимости типов объектов

Откройте узел Сценарии настроечной таблицы T77OMATTR,  выберите ранее созданный сценарий и откройте узел Атрибуты/Сценарий

Рисунок 6. Присвоение атрибута сценарию

Так как согласно легенде, наш сценарий будет доступен только для штатных должностей, то наследование этих данных на ниже стоящие элементы нам не нужно. Сохраните внесенные изменения, и откройте узел Типы объектов

Рисунок 7. Определение доступных объектов для созданного сценария/атрибута

Создайте новую запись для вашего сценария/атрибута и выберите соответствующий тип объекта. Переходим к тестированию.

5. Тестирование

Тестовый кейс не представляет из себя ничего сверхъестественного. Откройте транзакцию PPOMA, в диспетчере объектов выберите какую-нибудь штатную должность (либо тот объект, для которого вы разрешили ведение своего атрибута/сценария), и откройте закладку Атрибуты

Рисунок 8. Тестирование создания и сохранения новых атрибутов

В выпадающем списке выберите свой сценарий, и проверьте, стал ли доступен атрибут

Рисунок 9. Тестирование создания и сохранения новых атрибутов

Отлично. Атрибут успешно выбран. Теперь внесем какое-нибудь значение в одноименный столбец и нажмем на кнопку Сохранить

Рисунок 10. Тестирование создания и сохранения новых атрибутов

Поставленная перед нами задача успешно решена.

**NB **Стоит обратить внимание на несколько моментов, которые могут возникнуть при настройке новых сценариев/атрибутов.

Каким образом определить не текстовое значение для атрибута, а цифровое?

В настройках сценария необходимо определить соответствующее поле таблицы, не подразумевающее текстовый ввод

Рисунок 11. Настройка атрибута

Если в нашем примере поменять значение поля, скажем, на OBJID таблицы HRP1222, сохранить, и попробовать завести текстовое значение атрибута в транзакции PPOMA

Рисунок 12. Изменение значение таблицы/поля для атрибута

то получим ошибку вида

Рисунок 13. Ошибка при сохранении текстового значения атрибута

Каким образом предоставить пользователю возможность ввести два значения для одного атрибута, например, верхнее и нижнее значения чего бы там ни было?

В настройках атрибута установить флаг Область

Рисунок 14. Настрйока атрибута

в транзакции PPOMA ведение этого атрибута должно будет выглядеть следующим образом

Рисунок 15. Возможность сохранения двух значений для атрибута