v8: Запуск по OLE клиента Lotus Notes из 1С 8.х Ключевые слова: Запуск OLE Lotus Notes
1С 8.0 поддерживает COM-соединение, поэтому создание объекта делается командой
ЛотусСессия = Новый COMОбъект( "Lotus.NotesSession" );
Если ЛотусСессия = Неопределено Тогда
ТекстОшибки = "Не установлен Lotus Notes !";
Возврат Неопределено;
КонецЕсли;
запуск самого входа в сессию производится через
ЛотусСессия.Initialize( Пароль );
надо учитывать что COM-соединение делает по последнему логину, по которому пользователь запускал клиент Lotus Notes (имя id-файла последнего логина храниться в служебном файле notes.ini в строке KeyFileName=...)
если Lotus-клиент допустил переданный пароль, тогда объект ЛотусСессия заполняется служебными данными - например
ПользовательЛотуса = ЛотусСессия.CommonUserName;
через него доступны и другие свойства и методы, которые обычно используюся при программировании в Lotus на языке LotusScript
например - получить ссылку на базу
НекаяБД = ЛотусСессия.GetDataBase( ИмяСервера, ИмяФайлаБазы )
получить ссылку на вид
НекийВид = НекаяБД.GetView("AllDocs");
записать документ
ЛотусДок.Save( Истина, Ложь );
есть правда одна особенность - нельзя обращаться к полям напрямую:
ЗначениеПоляФорма = ЛотусДокумент.Form(0)
надо это делать через методы объекта COMSafeArray
ЗначениеПоляФорма = ЛотусДокумент.GetFirstItem( "Form").GetValue(0);
****
единственное - что я не понял как сделать - это передать значение nothing
например в метод КоллекцияДокументов = БДЛотуса.Search( ФильтрОтбора, ДатаОтбора, Колво)
когда ДатаОтбора не нужна в LotusScript используют nothing
а как его передать из 1С ?
|