Цитата:
в qdbs.AddRange(fieldid2ext(fieldnum(SalesTable,dimension),2))
будет синтаксиеская ошибка на этапе компиляции
а в ...addRange(fieldname2id(tablename2id('SalesTable'),'Dimension[5]'));
будет run-time ошибка.
Но зато вторым способом можно передавать имя таблицы в качестве параметра.
Более качественным в этом отношении мне видится такой код:
SalesTable table;
addRange(fieldname2id(table.tableId,'Dimension[5]'));