Ещё вот так можно:
X++:
anyType find(TableId TableId, RecId RecId, FieldId FieldId)
{
Query Query;
QueryBuildDataSource qbds;
QueryRun QueryRun;
Common Common;
anyType ret;
;
Query = new Query();
qbds = Query.addDataSource(TableId);
qbds.addRange(fieldName2id(TableId, 'RecId')).value(queryvalue(RecId));
qbds.addSelectionField(FieldId, SelectionField::Database);
qbds.firstOnly(true);
QueryRun = new QueryRun(Query);
if (QueryRun.next())
{
Common = QueryRun.get(TableId);
ret = Common.(fieldId);
}
return ret;
}