Notes -> Symphony

Zeka

Well-known member
01.09.2009
219
0
#1
Подскажите, как из Lotus Notes 8.5 открыть Symphony документ и вставить в него какое-то значение?
Скачал Lotus Symphony Toolkit и просмотрел “IBM Lotus Symphony Developer's Guide.pdf”. Там описывается разработка дополнительной функциональности для Symphony, но нет ни слова о том как интегрировать Symphony и Notes или как просто открыть *.odt или *.ods файл из какого либо JAVA приложения.

Действительно ли мне нужен этот Lotus Symphony Toolkit? Надо ли мне дополнительно скачивать и устанавливать Lotus Expeditor Toolkit? Или мою задачу можно решить используя только OpenOffice API (UNO API???)?
 
S

Softovick

#2
Подскажите, как из Lotus Notes 8.5 открыть Symphony документ и вставить в него какое-то значение?
Скачал Lotus Symphony Toolkit и просмотрел “IBM Lotus Symphony Developer's Guide.pdf”. Там описывается разработка дополнительной функциональности для Symphony, но нет ни слова о том как интегрировать Symphony и Notes или как просто открыть *.odt или *.ods файл из какого либо JAVA приложения.

Действительно ли мне нужен этот Lotus Symphony Toolkit? Надо ли мне дополнительно скачивать и устанавливать Lotus Expeditor Toolkit? Или мою задачу можно решить используя только OpenOffice API (UNO API???)?
Насколько мне известно, на данный момент функционал по работе с Lotus Symphony еще не встроен в LotusScript. Поэтому работать с ним прийдется точно также, как с OpenOffice.org. Всякие Toolkit врядли нужны....
 

Omh

Lotus team
04.07.2007
2 210
1
#3
Так точно.
Но LotusScript'овые классы для работы с симфонией обещали где-то скоро...
 

Xalet

Well-known member
08.08.2008
410
0
#4
Поэтому работать с ним прийдется точно также, как с OpenOffice.org.
В случае с ОО создается объект на ЛС:
Код:
	Set oSM = CreateObject("com.sun.star.ServiceManager")
Set oDesk = oSM.createInstance("com.sun.star.frame.Desktop")
Если ОО заинстален на рабочем месте, где это вызывается, то все нормально. А если только симфони, то не срабатывает(хотя с заинсталеным ОО и открывается в симфони). Это как-нибудь обходится?

Суть в том, что симфони входит в ЛН 8.5, а ОО нет и его приходится дополнительно инсталировать, а хотеллось бы этого избежать.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#5
да ладно вам
а лотусскрипте обращаетесь к COM обьекту и вперед :rolleyes:
 

Zeka

Well-known member
01.09.2009
219
0
#6
Спасибо за внимание :rolleyes:
Возникла ещё пара вопросов:

Попытался запустить маленький скриптик:
Код:
Sub Click(Source As Button)
Dim SM As Variant 
Dim Desktop As Variant 
Dim WriterApplication As Variant 
Dim WriterText As Variant 
Dim Cursor As Variant 
Dim args() 


Set SM=CreateObject("com.sun.star.ServiceManager") 
Set Desktop=SM.createInstance("com.sun.star.frame.Desktop") 

Set WriterApplication=Desktop.loadComponentFromURL("file:///c:/test.odt","_blank",0,args) 
Set WriterText=WriterApplication.getText() 
Set Cursor=WriterText.createTextCursor() 
Call WriterText.insertString(Cursor,"Hello World!",False)

End Sub
По началу мне выскакивало сообщение, что файл занят другим приложением и может быть открыт только для чтения. Нажав “ОК” нормально открывался Symphony. Вопрос, кем мог быть занят файл, если он только что был создан на жёстком диске?

Позже Symphony почему-то *.odt стал открвается в новом окне (а не в новом табе, как раньше), причём без гланого меню (File, Edit, View и т.д.). Т.е. нельзя ни сохранить, ни отпечатать документ. Почему так происходит?

К тому же, если несколько раз попытаться открыть документ и вызвать акшн, может выскачить сообщение “Automation object not found”.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 583
269
#7
"опять двадцать пять"...
перестаньте юзать КОМ с поводом и без...
ну скока можно на грабли этого глюкала наступать :)
все ОО доки - это архив zip с XML и вставлять текст там можно и нужно методами работы с XML
темпаче на java
Сергей выкладывал пример...
вот на ИнтерТрасте
http://web3.inttrust.ru/site/itforum.nsf/4...33;OpenDocument
здесь тоже было - куда-то сдыхалось