Чтение и запись данных по COM для Lotus Notes из 1С 8.х

Чтение и запись данных по COM для Lotus Notes программно из кода 1С 8.х

1С 8.х поддерживает 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); 

****

быстрый отбор документов по условию делается так:

ДатаОтбора = ЛотусСессия.CreateDateTime( "01/01/1900 01:00:00 PM" );
Колво = 0 ;
КоллекцияДокументов = БДЛотуса.Search( ФильтрОтбора, ДатаОтбора, Колво)

****

Также есть особенность подключения к Лотусу из 1С на сервере (RDP или Citrix) когда там работают несколько человек одновременно. Чтобы система знала, под каким пользователем ей нужно подключиться, нужно перед созданием COM-объекта найти файл notes.ini (обычно это C:lotus
otes
otes.ini) и вставить там в строку

KeyFileName = СсылкаНаИДФайлНужногоПользователя

1 Comment

  1. WellMaster

    Еще одна обработка для работы с Нотесом, в дополнении к моей http://infostart.ru/public/70437/

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *