30.05.2014, 23:58 | #1 |
Участник
|
SysLookupMultiSelectCtrl и системные таблицы - глюк?
Создала на форме контрол, к нему привязала SysLookupMultiSelectCtrl
И ту обнаружилась волшебная вещь, что если в SysLookupMultiSelectCtrl передавать query, основанный на системной таблице (в моем случае dataArea) , то в списке полей Query обязательно должен быть RecId (и как следствие, к сожалению, он будет виден в динамически создаваемом лукапе). Только в этом случае при повторном открытии лукапа выбранные значения будут отмечены галочками. При этом, я пробовала добавлять RecId только в Range запроса по dataArea, а не списке полей (чтобы скрыть его из лукапа)- не помогает При этом, если query основан на нормальной таблице( попробовала с custTable ). то достаточно добавить в query лишь только те поля, которые нужны(т.е например, только CustAccount) Проблема в том, что в методе SysLookupMultiSelectGrid->getSelected() если RecId отсутствует в списке полей запроса по таблице dataArea, selectedId устанавливатся в 101090 для всех выбранных строк, для custTable приходит реальное значение RecId Есть идеи, как побороть проблему , т.е скрыть recId из лукапа по dataAreaId? |
|
|
|