Ну так и делайте как представлено в help. Вы же делаете совсем по-другому.
Может быть я не совсем понимаю, что именно вы хотите.
Ваш первый код будет работать только тогда, когда активное окно - атрибутивная таблица.
Ваш второй код (из help) будет работать тогда, когда активное окно - view (вид, карта).
Если Вы знаете название view (карты) и theme (темы, слоя) и хотите получать данные всегда из них, тогда:
aView = av.FindDoc("View1")
aTheme = aView.FindTheme("ThemeName")
aTab = aTheme.GetFTab
aField = aTab.FindField("id")
for each rec in aTab.GetSelection
...
end
Если вы хотите получать данные из активных view и theme, тогда:
aView = av.GetActiveDoc
aTheme = aView.GetActiveThemes.Get(0)
aTab = ...
Либо может быть вы хотите подключаться не к слою, а к отдельной table (таблице), название которой вы знаете?
Тогда
aTable = av.FindDoc("Table1")
aVTab = aTable.GetVTab
...
Либо вы хотите получать данные из открытой и активной атрибутивной таблицы, но тогда подходит ваш первый код.
Что конкретно вы хотите сделать? И что именно не работает в примере из help?