Тема / Topic: Перепривязка аргументов на уровне объектов, для объектов с разным количеством каналов
Sergei
Forum Professor / Завсегдатай форума
Участник № / Member № 161
отправлено / posted
Здравствуйте. Хотелось бы прояснить вопрос по динамической перепривязке объектов. Суть такова: есть около 20 практически одинаковых объекта. Но у половины из них есть несколько дополнительных каналов. Был создан общий экран, где "ненужные" каналы выложены на свой слой и для первой половины объектов он просто не показывается. В каждом объекте установлен флаг "Загрузить", каналы расположены в одинаковом порядке, "лишние каналы располагаются в конце. Аргументы экрана (включающие в себя и "лишние" каналы) привязаны к одному из объектов с полным набором каналов. Порядок аргументов в канале CALL совпадает с порядком каналов в объекте. Управление привязкой осуществляется посылкой ID объекта в канал Call. Теперь возникает проблема: в профайлере привязка каналов идет совсем не в том порядке, как задумывалось (даже для объектов со всеми каналами). Привязка становится правильной когда у канала CALL убирается привязка к "лишним" каналам. Вопрос: по какому алгоритму производится привязка, когда количество аргументов канала CALL превышает количество каналов привязываемого объекта? И вообще, расскажите поподробнее как происходит перепривязка. В справке об этом так туманно написано... Конкретно интересует, как выбирается новый канал для привязки. Это будет канал с таким же номером в списке (в объекте), что и канал в исходной привязке?
Сообщения / Posts 157 | Из / From: russia
| IP / IP: IP адрес / IP address |
Sergei
Forum Professor / Завсегдатай форума
Участник № / Member № 161
отправлено / posted
Нашел причину. Дело в том, что я менял порядок аргументов экрана, перетаскивая их мышью, чтобы "лишние" каналы оказались в конце. Но как сейчас я выяснил, что это не влияет на порядок перепривязки. Т.е. если порядок аргументов был ABC, а мы сделали ACB, то аргумент В все равно будет привязан ко второму каналу привязываемого объекта, а не к третьему, как нам бы хотелось. Ваши комментарии?...
Сообщения / Posts 157 | Из / From: russia
| IP / IP: IP адрес / IP address |
отправлено / posted
Привязка идет по индексам аргументов. Если Вы меняли порядок, то индекс остался прежним.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Sergei
Forum Professor / Завсегдатай форума
Участник № / Member № 161
отправлено / posted
А где эти индексы можно посмотреть, а главное поменять? И почему они не меняются при перетаскивании? Ведь это источник ошибок, которые очень сложно отловить.
Еще я не понимаю, зачем вы сделали замену имени аргумента при привязке на имя привязываемого канала. Если случайно привяжешь не к тому каналу, потом сложно понять, что же это за аргумент был.
Сообщения / Posts 157 | Из / From: russia
| IP / IP: IP адрес / IP address |
отправлено / posted
Поменять индексы, конечно же, нельзя. Посмотреть можно в файле CNV. Индексы присваиваются при создании. Вся дальнейшая работа идет по ним.
отправлено / posted
Нужно в настройках ИС во вкладке "Сохранить для МРВ" поставить галочку "Подробный отчет"
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Sergei
Forum Professor / Завсегдатай форума
Участник № / Member № 161
отправлено / posted
И все таки я бы хотел узнать, по какому алгоритму выбирается канал для привязки. Порядок каналов и аргументов должен быть одинаков? Если да, то как быть когда к разным аргументам привязываются разные атрибуты одного и того же канала? Можно ли привязывать каналы не подряд?
Сообщения / Posts 157 | Из / From: russia
| IP / IP: IP адрес / IP address |
отправлено / posted
Каналы не подряд привязывать нельзя, они привязываются автоматически.
Пример.
Есть 2 группы Канал_1 Канал_11 Канал_2 Канал_12 Канал_3 Канал_13 Канал_4 Канал_14
и аргументы для привязки
ARG_000 к Канал_1.R ARG_001 к Канал_2.R ARG_002 к Канал_1.HL ARG_003 к Канал_3.R ARG_004 к Канал_1.HA ARG_005 к Канал_4.R
При перепривязке на другую группу
Все также и сохранится.
ARG_000 к Канал_11.R ARG_001 к Канал_12.R ARG_002 к Канал_11.HL ARG_003 к Канал_13.R ARG_004 к Канал_11.HA ARG_005 к Канал_14.R
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |