Работа пользователя только со своими записями

Статус
В этой теме нельзя размещать новые ответы.

Runa

Администратор
Ниже описана упрощённая структура проекта для возможности работы каждого пользователя только со своими записями.
Данная возможность реализуется через создание скрытой ссылки при добавлении записи на вошедшего пользователя, а также с использованием скрытого фильтра на пользователя.

Для начала создаётся объект пользователей, в котором задаётся логин (строка) и пароль для входа (строка с подтипом "Пароль").
Структура объекта пользователей.png
Затем создаётся форма связи на базе объекта пользователей.
Форма связи на базе объекта пользователей.png
После сохранения формы, на вкладке "Дочерние объекты", в поле "Объект" из списка объектов выбирается системный объект "~Объекты и формы", который всегда находится в конце списка.
Задание дочернего списка в форме уровней доступа.png
При этом автоматически создаётся системный объект равнозначной связи между пользователями и объектами/формами проекта. По умолчанию он скрыт из меню проекта. При необходимости просмотра данных его можно включить для просмотра и переименовать.
Автоматически созданный объект равнозначной связи пользователей и форм.png

Для демонстрации работы создаю структуру рабочих данных:
1. Объект заказа, который делается скрытым (он будет не нужен для прямого доступа) со ссылкой на пользователя. Данную ссылку делаю скрытой, чтобы к ней не было доступа при просмотре и редактировании записей.
Объект заказов со ссылкой на пользователя.png
2. Форма заказа для менеджеров "Мои заказы" на базе объекта. В ней:
- для 1-го свойства "Исходное из поля" указывается имя поля из объекта пользователей, которое служит логином - для автоматического задания значения поля при создании записи;
- для 2-го свойства "Исходное из поля" (свойства для фильтра) также указывается поле логина - этот фильтр задаётся при открытии формы;
- фильтр и поле менеджера делаются скрытыми.
Форма заказов для менеджеров.png
3. Форма заказа для администратора "Все заказы", в которой указывается только фильтр по менеджеру под списком.
Форма заказов для администратора.png

Теперь в форме "Пользователи" задаются имена администратора и менеджеров с доступными им формами.
Задание имени администратора и доступных ему форм.png Задание имени менеджера и доступных ему форм.png

В форме управления проектами данный проект назначается сетевым, запускается менеджер для открытия многопользовательского доступа к базе данных (расположенный в папке с конструктором) и в свойствах проекта на вкладке "Пользователи" задаётся объект пользователей.
Назначение проекта сетевым.png Задание объекта пользователей в менеджере.png
После задания ключа к проекту - он запускается в сетевом режиме.

При подключении к сетевому проекту открывается окно ввода логина и пароля.
Окно ввода логина и пароля при подключении к сетевому проекту.png
Для администратора доступны формы с правами всех пользователей и форма "Все заказы", а для менеджеров - только форма "Мои заказы", в которой он видит список только своих записей.
Доступ ко всем записям для администратора.png Доступ только к своим записям менеджера.png

В приложении - пример проекта с разделением прав доступа. Доступ к проекту сегодня и завтра будет открыт с 9:00 до 21:00 по МСК, а в дальнейшем будет открываться по запросу.

Имя для администратора: Админ
Имена для менеджеров: Вася, Петя, Маша

См. Как организовать уровни доступа к вкладкам и запрет на вход в конфигурацию
 

Вложения

  • Пример настройки уровня доступа.rpr
    1.3 KB · Просмотры: 362
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу