Добрый день!
Подскажите пожалуйста.
Задача - создание записей в одной сущности с использованием данных второй сущности.
В обоих есть одноименное поле типа "выпадающий список" с двумя значениями к которым привязаны записи (1 значение, 2 значение).
Записи второй сущности постоянны и используются для заполнения первой.
Хочу сделать так, чтобы при создании записи в 1 сущности в форме, выбирая значение поля "1 значение" в поле связанной сущности должны появляться значения из 2 сущности со значениями "1 значение" и наоборот: выбирая значение поля "2 значение" в поле связанной сущности должны появляться значения из 2 сущности со значениями "2 значение".
Пытаюсь использовать инструмент "Фильтры по умолчанию" для поля, но он работает в одну сторону, фильтрует значения только по одной записи фильтра.
Связанные сущности
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Связанные сущности
Да, такая возможность была бы полезной, однако в текущей версии средствами функционала вероятно не получится сделать. Тут есть 2 вида связей - через связанные записи (тут имеется 2-сторонняя связь с записями), однако в данной фиче отсутствует важная составляющая - фильтрация по таким связям... Т.е. при выборе записей для связывания будут отображаться все имеющиеся записи в рамках родительской сущности, нельзя будет, например как-то отобразить "все со статусом В работе" в выпадающем списке и т.п.
2 вид - это через поле Сущность. Тут, как вы указали выше, можно настроить фильтр для отбора записей для связывания, но это будет "односторонняя" связь, т.е. если добавить такое же поле в сущности-"контрагенте", то при наличии связи в одной записи в таком же поле "противоположной" записи не окажется значения.
Это связано с тем, что при наличии связей через тип поля Связанные записи в БД формируется некая "промежуточная" таблица, которая и подвязывает 2 (или более) записей между собой и они имеют "двустороннюю связь". А в случае связывания через поле Сущность - тут просто идет прямая связь одной записи к другой, без "обратного эффекта" и промежуточная таблица не создается в БД.
Если что-то неправильно пояснил, пусть знающие специалисты поправят.
Теоретически может можно как-то через Java Script сделать фильтрацию, но не уверен... Тут нужно знать JS, я к сожалению не силен в этом, может среди пользователей кто-то делал такое.
2 вид - это через поле Сущность. Тут, как вы указали выше, можно настроить фильтр для отбора записей для связывания, но это будет "односторонняя" связь, т.е. если добавить такое же поле в сущности-"контрагенте", то при наличии связи в одной записи в таком же поле "противоположной" записи не окажется значения.
Это связано с тем, что при наличии связей через тип поля Связанные записи в БД формируется некая "промежуточная" таблица, которая и подвязывает 2 (или более) записей между собой и они имеют "двустороннюю связь". А в случае связывания через поле Сущность - тут просто идет прямая связь одной записи к другой, без "обратного эффекта" и промежуточная таблица не создается в БД.
Если что-то неправильно пояснил, пусть знающие специалисты поправят.
Теоретически может можно как-то через Java Script сделать фильтрацию, но не уверен... Тут нужно знать JS, я к сожалению не силен в этом, может среди пользователей кто-то делал такое.
Re: Связанные сущности
Спасибо за развернутый пост. Вы подтвердили мои опасения. Я именно так и понимаю работу этих инструментов.alcompstudio писал(а): 21 авг 2020, 15:11 Да, такая возможность была бы полезной, однако в текущей версии средствами функционала вероятно не получится сделать. Тут есть 2 вида связей - через связанные записи (тут имеется 2-сторонняя связь с записями), однако в данной фиче отсутствует важная составляющая - фильтрация по таким связям... Т.е. при выборе записей для связывания будут отображаться все имеющиеся записи в рамках родительской сущности, нельзя будет, например как-то отобразить "все со статусом В работе" в выпадающем списке и т.п.
2 вид - это через поле Сущность. Тут, как вы указали выше, можно настроить фильтр для отбора записей для связывания, но это будет "односторонняя" связь, т.е. если добавить такое же поле в сущности-"контрагенте", то при наличии связи в одной записи в таком же поле "противоположной" записи не окажется значения.
Это связано с тем, что при наличии связей через тип поля Связанные записи в БД формируется некая "промежуточная" таблица, которая и подвязывает 2 (или более) записей между собой и они имеют "двустороннюю связь". А в случае связывания через поле Сущность - тут просто идет прямая связь одной записи к другой, без "обратного эффекта" и промежуточная таблица не создается в БД.
Если что-то неправильно пояснил, пусть знающие специалисты поправят.
Теоретически может можно как-то через Java Script сделать фильтрацию, но не уверен... Тут нужно знать JS, я к сожалению не силен в этом, может среди пользователей кто-то делал такое.