Java
Для работы требуется библиотека Jacob
В java.library.path требуется прописать путь к файлу dll
Python
Для работы требуется библиотека pypiwin32 сам python 32x разрядны
Ruby
Для работы использовать класс WIN32OLE (http://ruby-doc.org/stdlib-1.9.3/lib.../WIN32OLE.html)
Для работы требуется библиотека Jacob
В java.library.path требуется прописать путь к файлу dll
Код:
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Variant;
ActiveXComponent objApplication = new ActiveXComponent("OtAut.OtApplication");
Variant conRet = objApplication.invoke("MakeSessionEx", new Variant[]{
new Variant(%Host%),
new Variant(%Port%),
new Variant(%Login%),
new Variant(%Password%),
new Variant("ru")
});
ActiveXComponent objSession = new ActiveXComponent(conRet.toDispatch());
try {
ActiveXComponent objRequest = objSession.invokeGetComponent("GetRequestByUniqueID", new Variant(1000902));
System.out.println("Name : " + objRequest.getProperty("Name"));
ActiveXComponent objField = objRequest.invokeGetComponent("UserFields", new Variant("Name"));
System.out.println("OTHER NAME: " + objField.invoke("TValue").getString());
} catch (Exception e) {
e.printStackTrace();
} finally {
objSession.invoke("Logoff", new Variant[] {});
}
Для работы требуется библиотека pypiwin32 сам python 32x разрядны
Код:
from win32com.client import Dispatch
from win32com.client import gencache
# win32com/client/makepy.py в списке выбираем OmniTracker automation... после выполнения будет создана папка
# SOME_DISK:/some_path/{Идентификатор} идентификатор используется при вызове EnsureModule
gencache.EnsureModule('{BFC91F06-88ED-11D0-A77E-444553540000x0x1x0}', 0, 1, 7)
application = Dispatch("OtAut.OtApplication")
session = application.MakeSessionEx(%Host%, %Port%, "%Login%", "%Password%", "ru")
# Поиск по папке нарядов
folder = session.RequestFolders("Workorder")
group_filter = folder.MakeFilter()
# Рабочая группа OmniTracker
group_filter.SetSpecialField("AssignmentGroup.UNIQUE_ID", 4850)
for request in folder.Search(group_filter, False):
print request.UserFields("Summary").TValue
Для работы использовать класс WIN32OLE (http://ruby-doc.org/stdlib-1.9.3/lib.../WIN32OLE.html)
Код:
# coding: utf-8
require 'win32ole'
application = WIN32OLE.new('OtAut.OtApplication')
session = application.MakeSessionEx(%Host%, %Port%, "%Login%", "%Password%", "ru")
folder = session.RequestFolders("Workgroups")
filter = folder.MakeFilter()
help = filter.setproperty('SpecialField', 'UNIQUE_ID', 26519050)
folder.Search(filter, false).each { | x | puts x.Name.encode "UTF-8"}
Комментарий