Фильтация при добавлении в Форме Связи

levakov

Посетитель
Здравствуйте, спасибо за Ваш труд!
Подскажите можно ли найти решение моей задачи.
1. Есть вкладка Клиенты и поле Имя клиента
2. Есть вкладка Проекты и поле Название проекта, и связь с Клиентом
3. Добавляю клиентов и проекты.
4. Создаю форму Связи (называю - Общая информация) и в качестве объекта выбираю Клиенты, а в качестве дочерних Объектов выбираю Проекты. Связь равнозначная.
5. Перехожу на вкладку Общая информация, выбираю клиента и жму создать в дочерней связи новый Проект, всплывает окно со списком Клиент-проект.

Нужно, чтобы в списке отображался только текущий выбранный клиент. Возможно ли это. У меня уже заполнен список клиентов и отдельно список проектов связанных с клиентами. Я создал форму Связи и хотел связать всех клиентов и проекты на этой форме, можно ли это сделать как-то автоматом или чтобы упростить ручную связь, можно ли при добавлении в этой форме к конкретному клиенту его проекта, чтобы только он отображался для выбора, а не весь список клиентов.

2023-09-16_160415.jpg
 

Вложения

  • Демо.rbase
    1.1 KB · Просмотры: 2

Vladimir

Администратор
Команда форума
Добрый день!
Спасибо за добрые слова!

Для поставленной задачи в объекте "Проекты" не должно быть ссылки на объект клиентов.
Когда Вы создаёте в форме связи равнозначную связь между проектами и клиентами - автоматически создаётся служебный объект с двумя ключевыми полями (ссылками на объекты), который и осуществляет связь МНОГО-КО-МНОГИМ между этими объектами: "~Клиенты-Проекты".
Вы можете сделать этот объект видимым, чтобы понять - для чего и как он служит. Его также можно использовать как самостоятельную единицу для просмотра данных. Также, если создаётся форма для просмотра объектов со списком связанных клиентов, для неё же будет использован данный служебный объект.
В случае, когда уже есть отдельно набранные данные по клиентам и проектам - необходимо вручную связать данные.
 

Vladimir

Администратор
Команда форума
Пришла идея: для того, чтобы проще было заполнить данные, надо немного переделать проект:
- в объекте проектов необходимо поле наименования проекта передвинуть вверх (чтобы оно стало ключевым);
- тут же для поля "Клиент" включить фильтр и добавить принимаемый параметр, например "клиент";
- в служебном объекте связи клиентов с проектами, для поля "Клиенты" задать одноимённый передаваемый параметр "клиент".
Теперь в объекте "~Клиенты-Проекты", при изменении записи и выборе проекта - будут предлагаться только проекты, имеющие ссылку на того-же клиента.
После установки всех связей в служебном объекте, поле "Клиент" в объекте проектов можно удалить.
 
Сверху Снизу