Да, совершенно верно.
Пример есть в скрипте selectColumns.js
Там "на лету" вытаскивается поток формы, в модуле которой находимся, и из него выдергиваются названия всех колонок всех табличных полей.
Вот основной кусок:
Код:
// Получим само свойство "Форма". Это "внешнее" свойство, т.е. оно храниться отдельно от
// самого объекта метаданных.
// При получении можно указывать гуид свойства, или его имя, или порядковый номер
var extProp = wnd.mdObj.getExtProp(wnd.mdProp.id)
// Сохраним текущее состояние свойства "Форма" в файл. Так как файл в saveToFile не передан, то
// сохранение произойдет в псевдо-файл в памяти.
var file = extProp.saveToFile()
// Для обычных форм формат файла формы является "файлом файлов", storage. Поэтому будем
// рассматривать его как storage. Для управляемых форм - это не так, там обычный текст utf-8
try{
// создадим хранилище на базе файла. Для управляемых форм тут вывалится в catch
var stg = v8Files.attachStorage(file)
// Получим из хранилища содержимое под-файла form
var text = stg.open("form", fomIn).getString(dsUtf8)
//Message(text)
// Простым регэкспом выдернем встречающиеся колонки
var re = /\{6,3,0,\d\},\d,0,0,4,0,"(.+)"/g
ну там дальше просто список строится.
Можно у макетов свойство "Макет" выдергивать, например в СКД - получить xml-ину схемы - там текст utf-8 с 28 байта файла.
т.е.
file.seek(28, fsBegin)
xml = file.getText(dsUtf8)
ну и всякое тому подобное.