Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Связи параметров при вводе ссылочных данных #432

Open
unpete opened this issue May 7, 2019 · 3 comments
Assignees
Labels

Comments

@unpete
Copy link
Member

unpete commented May 7, 2019

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

Верхушка решения очень простая - расширяем тип поля Ведомый справочника СвязиПараметров, чтобы в нём можно было указать не только ссылку на Дополнительный реквизит, но и строку - полный путь к данным (например, dp.buyers_order.production.inset - поле Вставка табчасти Продукция обработки Заказ покупателя) и вуаля - дело в шляпе. Эта связь начнёт ограничивать выпадающий список в поле ввода и динамический список в форме выбора, открытой из этого поля.

@unpete
Copy link
Member Author

unpete commented May 9, 2019

Решил обойтись без справочника СвязиПараметров - задействуем напрямую КлючиПараметров. Там уже есть разделитель Применение и значение разделителя ПараметрВыбора. Путь к метаданным будем хранить в наименовании. Это позволит получить требуемую функциональность без корректировки метаданных существующих конфигураций.

@unpete
Copy link
Member Author

unpete commented May 16, 2019

@rnpoddor спрашивает: Получение второго механизма для фильтрации значений может не очень хорошо, казалось бы, почему не реализовать через связи параметров, к которому все привыкли, но связи параметров скорее всего не очень подходят для такой фильтрации (отбора), т.к. мы бы получили единственный способ перечисления нужных значений через список значений связи параметров, а ключ дает возможность задать значения через вид сравнения, что дает большие возможности.
По параметрам выбора, мы получили возможность задавать условия отбора через ключ и формулу условия, но почему бы вместо формулы условия не создать вычисляемый параметр Отдел абонента и перечислять отделы в самом ключе через виды сравнения В списке и Не в списке, таким образом сократить формулу до одной?

Есть статические параметры выбора и связи параметров. Их задаёт архитектор данных, но в таких отборах доступны только предопределенные элементы справочников и перечисления.
Отборы, зависящие отданных в конфигураторе не задать. Никак.
Для управления отборами, зависящими от данных, нужен справочник или план видов характеристик.

Элемент справочника Связи параметров ничего не знает про метаданные - он управляет списком значений дополнительных реквизитов.
Разница между обычным и дополнительным реквизитом довольно большая (огромная, но я не писатель и не готов 300 страниц про это). Ключевое различие: у реквизита есть путь, а у допреквизита (как элемента плана видов характеристик), пути нет (его можно воткнуть в любой объект). Список путей мы можем перечислить в новом справочнике ПараметрыВыбора

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

@unpete unpete added the wiki label Jun 19, 2019
@unpete
Copy link
Member Author

unpete commented Jun 19, 2019

В 1С есть "параметры выбора" и "связи параметров выбора" - они задаются в конфигураторе и не имеют доступа к данным (только предопределенные значения)
Наши параметры выбора, оказывают такое же влияние на интерфейс, но вместо статического отбора на равенство, могут использовать любые формулы и любые данные (папки, ссылки, выражения)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant