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

Runa

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

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

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

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

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

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

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

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

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

Вложения