Как сделать невидимым поле поиска?

Я хочу взять значение из поля поиска. Но я не хочу сделать это поле невидимым. Мой код такой:

public void lookup()
{    
    Query query = new Query();
    QueryBuildDataSource queryBuildDataSource;
    QueryBuildRange queryBuildRange;    
    SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(MYTable), this);    
    sysTableLookup.addLookupField(fieldNum(MYTable, FieldTableA));
    sysTableLookup.addLookupField(fieldNum(MYTable, FieldTableB));
    sysTableLookup.addLookupField(fieldNum(MYTable, RecId), true);    
    queryBuildDataSource = query.addDataSource(tableNum(MYTable));    
    sysTableLookup.parmQuery(query);    
    sysTableLookup.performFormLookup();
}

Итак, мне нужно заполнить поле RecID, но я не хочу видеть RecId в моем поиске.

Возможно?

Или другой вопрос: возможно ли получить два значения для одной и той же записи, в моем случае получить значения из MyTable.FieldTableA и Mytable.FieldTableB?

2 ответа

Решение

Нет, это невозможно при стандартном поиске, насколько я могу судить. Вы можете увидеть, как он создает динамическую форму поиска здесь:

\Classes\SysTableLookupBase\buildGrid

Вы можете сделать свою собственную форму поиска.

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

Это называется использованием Referenced Data Sources, Увидеть ниже:

https://msdn.microsoft.com/en-us/library/gg845085.aspx

Вы можете посмотреть, как адреса (LogisticsPostalAddress) хранятся на объектах, таких как SalesTable видеть.

Другие вопросы по тегам