Тогда так: вперед поместить
  theTableList={}
  for each thedoc in av.GetProject.GetDocs
  If (theDoc.Is(Table)) then
    theTableList.Add(theDoc)
  end
  end
TheTable=MsgBox.ListAsString(theTableList,"","")
TheFtab = TheTable.GetVtab
Вроде так, может небольшие грамматические ошибки 8) пишу на ходу. Дальнейшие исправления были выше, т.е. все в сборе будет так:
theView = av.GetActiveDoc 
thegraphics=theview.getgraphics 
  theTableList={}
  for each thedoc in av.GetProject.GetDocs
  If (theDoc.Is(Table)) then
    theTableList.Add(theDoc)
  end
  end
TheTable=MsgBox.ListAsString(theTableList,"","")
TheFtab = TheTable.GetVtab
theList={} 
fX=TheFTab.FindField("X") 
fY=TheFTab.FindField("Y") 
For each rec in theFtab.GetSelection 
Xtab = TheFTab.ReturnValue(fX,rec) 
Ytab = TheFTab.ReturnValue(fY,rec) 
      thelist = thelist.Add(Xtab@Ytab) 
'    создание линии из точечного шейпфайла по точкам для плана 
end 
   theShapeM=GraphicShape.Make(Polyline.Make({theList})) 
   thegraphics.add(theShapeM) 
   theView.Invalidate 
end 
Вроде все. Должно даже работать 8).
GetSelection в начале цикла можно убрать...