Модуль объекта - это одно из свойств объекта метаданных, почти такое же, как Имя, Синоним и т.п.
Поэтому если уже как-то получен объект метаданных, то просто:
Код:
mdObj.editProperty("МодульОбъекта")
плюс со следующего релиза для модулей будет и такой способ:
Код:
mdObj.openModule("МодульОбъекта")
Другое дело, как получить сам объект метаданных. Для объектов конфигурации это не сложно - есть metadata.current.rootObject, metadata.ib.rootObject от которых можно добраться до любого объекта. Для внешних же отчетов/обработок пока не все так просто. На внутреннем уровне внешний отчет/обработка - сами являются контейнером метаданных, и имея только открытое окно отчета - до метаданных отчета не добраться (пока). А вот имея активный модуль формы внешнего отчета/обработки - уже можно.
Код:
var wnd = snegopat.activeTextWindow()
if(!wnd)
return
if(wnd.mdProp.name(1) == "Форма")
{
var md = wnd.mdObj.parent
//var className = md.mdclass.name(1)
//if(className == "ВнешняяОбработка" || className == "ВнешнийОтчет")
try{
md.editProperty("МодульОбъекта")
}catch(e)
{
}
}