Показать / скрыть оглавление

    Моделирование организационной структуры

    В дизайнере создается модель предметной области для системы Колибри, в которой задается несколько разделов - сущности, представления, интерфейс пользователя и разрешения.

    Полностью модель представлена в файле shop.pml, которую можно использовать для генерации хранилища в новой базе данных или для изменения существующей базы данных. Также можно использовать sql-сценарий shop.sql, который создает необходимый набор ролей и пользователей (таблицы схемы security), определяет организационную структуру и разрешения, с ней связанные (таблицы shop.org_xxx).

    Сущности

    Для поддержки организационной структуры требуется определить типовые сущности Организация - Структура, Организация - Сущности, Организация - Метода Обхода, Организация - Типы разрешений, Организация - Разрешения (см. Организационная структура). Сущности соответствуют создаваемым в базе таблицам, а их атрибуты - колонкам.

    Для иерархического справочника Организация - Структура (org_structure) создаются атрибуты Родитель (pid), Наименование (name), Роль (rolename), которые также используются в настройкам параметров типа сущности. Кроме того, добавлен атрибут N (n), содержащий порядок сортировки внутри иерархии.

    Справочники Организация - Сущности (org_entity), Организация - Метода Обхода (org_htrace), Организация - Типы разрешений (org_permissiontype) являются малоизменяемыми и содержат пару атрибутов значения и названия.

    Таблица Организация - Разрешения ссылается на четыре указанных выше справочника при помощи связей многие-к-одному, именно здесь указывается способ определения дополнительных организационных ролей для указанного узла организационной структуры при помощи указанного метода обхода для сущности и типа разрешения.

    Также в примере используются бизнес сущности Заметка (note) с атрибутом Текст (text) и Продажа (sale) с атрибутами Товар (product), Количество (qty) и Цена (price)

    Представления

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

    Меню интерфейса пользователя и разрешения

    Меню интерфейса пользователя предоставляет доступ к представлениям.

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

    Пример работы организационной структуры и разрешений

    Пример организационной структуры сети магазинов "Одежда и обувь"

    title                     role  roleinrole  users       names
    Магазин "Одежда и обувь"                                
      Директор магазина       RH                IVAN        Иванов И.И.
      Заведующий складом      RW    WMAN        PETR        Петров П.П.
      Центральный филиал                                    
        Директор филиала      CH    HEAD        MARI        Маринина А.П.
        Заведующий складом    CW    WMAN        SMIR        Смирнов А.С.
        Отдел мужской одежды  
          Продавец            MS    SALE        ALLA, ANNA
          Старший продавец    MM    SMAN        ALEX
        Отдел женской одежды  
          Продавец            WS    SALE        OLGA, OKSA
          Старший продавец    WM    SMAN        OLEG
      Восточный филиал        
        Директор филиала      EH    HEAD        INNA        Иванова И.И.
        Отдел одежды          
          Продавец            DS    SALE        LENA, LARA
          Старший продавец    DM    SMAN        LUKA
        Отдел обуви           
          Продавец            SS    SALE        VIKA, VERA
          Старший продавец    SM    SMAN        VLAD
    

    Продажи и разрешения типа Свой отдел

    Посредством представления Продажи пользователь роли SALE может создавать новые записи сущности Продажа (sale).

    Совет

    Продавец Отдела обуви VIKA создает запись: Полуботинки s.Oliver, демисезонные, размер 44, синий;1;3599, которую видит Старший продавец VLAD см. Разрешения для Продажи, Свой отдел, Чтение, Старший продавец

    Совет

    Продавец Отдела одежды LENA создает запись: Куртка Baon, размер S, cold perch;1;7019, которую видит Старший продавец LUKA см. Разрешения для Продажи, Свой отдел, Чтение, Старший продавец

    Объявления и разрешения типа Свой филиал

    Посредством представления Объявления пользователь роли HEAD может создавать новые записи сущности Заметка (note).

    Совет

    Директор Восточного филиала INNA создает запись: Скидка на зимнюю одежду и обувь 10%, которую видят Старшие продавцы Восточного филиала см. Разрешения для Объявления, Свой филиал, Чтение, Старший продавец

    Механизм работы примера

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

    При запросе разрешения определенного типа для пользователя, входящего в организационную роль, используется соответствующее разрешение для организационной структуры. Например, для пользователя VLAD при запросе данных о продажах будет использовано разрешение Продажи, Свой отдел, Чтение, Старший продавец тем самым набор ролей пользователя VLAD будет пополнен организационной ролью SS, тем самым пользователю VLAD будет доступна для чтения продажа, созданная пользователем VIKA.

    Следует отметить, что следует отдельно создавать организационные разрешения для Чтения и Изменения - они используются в различных процедурах работы с данными.

    В этой статье
    • Сущности
    • Представления
    • Меню интерфейса пользователя и разрешения
    • Пример работы организационной структуры и разрешений
      • Продажи и разрешения типа Свой отдел
      • Объявления и разрешения типа Свой филиал
      • Механизм работы примера
    В начало страницы
    Нашли ошибку в тексте? Выделите фрагмент текста с зажатой клавишей Alt и мы её исправим!