Страница 1 из 1

Связанные сущности

Добавлено: 21 авг 2020, 10:52
rozen
Добрый день!
Подскажите пожалуйста.

Задача - создание записей в одной сущности с использованием данных второй сущности.
В обоих есть одноименное поле типа "выпадающий список" с двумя значениями к которым привязаны записи (1 значение, 2 значение).

Записи второй сущности постоянны и используются для заполнения первой.

Хочу сделать так, чтобы при создании записи в 1 сущности в форме, выбирая значение поля "1 значение" в поле связанной сущности должны появляться значения из 2 сущности со значениями "1 значение" и наоборот: выбирая значение поля "2 значение" в поле связанной сущности должны появляться значения из 2 сущности со значениями "2 значение".

Пытаюсь использовать инструмент "Фильтры по умолчанию" для поля, но он работает в одну сторону, фильтрует значения только по одной записи фильтра.

Re: Связанные сущности

Добавлено: 21 авг 2020, 15:11
alcompstudio
Да, такая возможность была бы полезной, однако в текущей версии средствами функционала вероятно не получится сделать. Тут есть 2 вида связей - через связанные записи (тут имеется 2-сторонняя связь с записями), однако в данной фиче отсутствует важная составляющая - фильтрация по таким связям... Т.е. при выборе записей для связывания будут отображаться все имеющиеся записи в рамках родительской сущности, нельзя будет, например как-то отобразить "все со статусом В работе" в выпадающем списке и т.п.

2 вид - это через поле Сущность. Тут, как вы указали выше, можно настроить фильтр для отбора записей для связывания, но это будет "односторонняя" связь, т.е. если добавить такое же поле в сущности-"контрагенте", то при наличии связи в одной записи в таком же поле "противоположной" записи не окажется значения.

Это связано с тем, что при наличии связей через тип поля Связанные записи в БД формируется некая "промежуточная" таблица, которая и подвязывает 2 (или более) записей между собой и они имеют "двустороннюю связь". А в случае связывания через поле Сущность - тут просто идет прямая связь одной записи к другой, без "обратного эффекта" и промежуточная таблица не создается в БД.

Если что-то неправильно пояснил, пусть знающие специалисты поправят.

Теоретически может можно как-то через Java Script сделать фильтрацию, но не уверен... Тут нужно знать JS, я к сожалению не силен в этом, может среди пользователей кто-то делал такое.

Re: Связанные сущности

Добавлено: 21 авг 2020, 15:41
rozen
alcompstudio писал(а): 21 авг 2020, 15:11 Да, такая возможность была бы полезной, однако в текущей версии средствами функционала вероятно не получится сделать. Тут есть 2 вида связей - через связанные записи (тут имеется 2-сторонняя связь с записями), однако в данной фиче отсутствует важная составляющая - фильтрация по таким связям... Т.е. при выборе записей для связывания будут отображаться все имеющиеся записи в рамках родительской сущности, нельзя будет, например как-то отобразить "все со статусом В работе" в выпадающем списке и т.п.

2 вид - это через поле Сущность. Тут, как вы указали выше, можно настроить фильтр для отбора записей для связывания, но это будет "односторонняя" связь, т.е. если добавить такое же поле в сущности-"контрагенте", то при наличии связи в одной записи в таком же поле "противоположной" записи не окажется значения.

Это связано с тем, что при наличии связей через тип поля Связанные записи в БД формируется некая "промежуточная" таблица, которая и подвязывает 2 (или более) записей между собой и они имеют "двустороннюю связь". А в случае связывания через поле Сущность - тут просто идет прямая связь одной записи к другой, без "обратного эффекта" и промежуточная таблица не создается в БД.

Если что-то неправильно пояснил, пусть знающие специалисты поправят.

Теоретически может можно как-то через Java Script сделать фильтрацию, но не уверен... Тут нужно знать JS, я к сожалению не силен в этом, может среди пользователей кто-то делал такое.
Спасибо за развернутый пост. Вы подтвердили мои опасения. Я именно так и понимаю работу этих инструментов.