Книга знаний

1С:Предприятие / v8 / Приемы программирования / Встроенный язык

v8: Запуск по OLE клиента Lotus Notes из 1С 8.х

Запуск по OLE клиента Lotus Notes из 1С 8.хАвтор статьи: Rovan | Редакторы:
Последняя редакция №2 от 14.10.08 | История
URL: http://kb.mista.ru/article.php?id=679

Ключевые слова: Запуск 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);

****

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

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика