Вопрос решен, может кому пригодится:
Реализовано с помощью 2х форм:
Первая форма - диалог со списком таблиц
Вторая принимает в аргументе имя таблицы, имеет один Datasource типа Common, и Grid привязанный к этому источнику.
В init() формы, до вызова super() меняем таблицу Datasource на выбранную в диалоге:
X++:
this.form().dataSource(1).table(tableName2id(this.args().parm()));
Затем заполняем Grid полями этой таблицы
X++:
...super();
FormDataSource fds = this.dataSource(1);
DictTable dt = new SysDictTable(fds.table());
FieldId fieldId = dt.fieldNext(0);
DictField dictField;
fieldId = dt.fieldNext(0);
while (fieldId)
{
ParametersGrid.addDataField(fds.id(), fieldId);
fieldId = dt.fieldNext(fieldId);
}