Option Explicit
'Текущая сессия
Dim SmSession As SmApplic.SmSession
Dim Record1 As Object, Record2 As Object, Record3 As Object
'Имя файла для экспорта
Dim xmlFile As String
'Объекты для работы с XML
Dim Xml As SmartXml.SmXmlService
Dim XmlOutput As ISmXmlOutput
'Выполнение функции при нажатии кнопки "Экспорт"
Function Begin_Export(ByVal ApplHndl&, ByVal Operation$, ByVal FirstPar&, ByVal SecondPar&, ByVal ThirdPar&) As Integer
CONV_RecListToComRecordList FirstPar, Record1
CONV_RecListToComRecordList SecondPar, Record2
CONV_RecListToComRecordList ThirdPar, Record3
'Получаем сессию
Set SmSession = SCREXT_ObjectForInterface(ApplHndl)
'Имя файла (по умолчанию)
xmlFile = "Export.xml"
Dim MainObject As ISmObject
'Получаем текущий объект
Set MainObject = SmSession.ObjectStore.RetrieveObject(Record2.Value("CLASS_ID", 0), Record2.Value("OBJECT_ID", 0))
'Получаем сервис для работы с XML через SmarTeam API
Set Xml = SmSession.GetService("SmartXml.SmXmlService")
'Создаём файл для вывода информации
Set XmlOutput = Xml.CreateFileOutput( xmlFile )
'http://msdn.microsoft.com/en-us/library/ms759142(VS.85).aspx
XmlOutput.UseInlineTypes = false
'Открываем пакет (примечание: в одной выгрузке может быть несколько пакетов, для нас это несколько классов со своими объектами)
XmlOutput.BeginPackage "SmExport", MainObject.SmClass.ExternalName
XmlOutput.WriteObject "MainObject", MainObject, MainObject.Data.ValueAsString("OBJECT_ID")
XmlOutput.EndPackage
'Закрываем файл
XmlOutput.Close
End Function
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1