Сделала, как советовали:
X++:
switch (_taskId)
{
case (#taskEnter): // если нажат Enter
if (element.selectedControl().id() == FindEdit.id())
{
if (FindEdit.enabled() && FindEdit.valueStr()) // если поле поиска не пусто
{
find_edit = FindEdit.valueStr() + '*'; // для поиска ВСЕХ записей по условию
FindEdit.text(find_edit);
/* Вариант с добавлением нового DataSource в виде таблицы EmplTable и потом по нему делать поиск
Но как решить проблему с несколькими людьми? */
queryBuildDataSource = RHRMOrderTrans_ds.query().datasourceNo(2).addDataSource(tableNum(EmplTable));
EmplTable_ds.findValue(fieldnum(EmplTable, lastName), FindEdit.text());
if (EmplTable.EmplId != '')
{
RHRMOrderTrans_ds.filter(fieldnum(RHRMOrderTrans, emplId), EmplTable.EmplId);
}
}
else // если поле поиска пусто
{ // возвращается предыдущий список
RHRMOrderTrans_ds.filter(fieldnum(RHRMOrderTrans, emplId), '*');
}
}
break;
}
Вот в какую вещь не могу врубиться: если несколько фамилий удовлетворяют условию, тогда как происходит поиск: по первому встречному? По крайней мере так я поняла принцип работы FindValue. А что нужно, чтобы он все фамилии нашел? И где он будет их хранить? Блин, вопросов воз и маленький вагон.