Войти
 
 
   
 
  
Новости Notes.ру Библиотека Биржа труда Вопрос - ответ Форум Регистрация Поиск О проекте
Разделы
О Notes
Советы
Шаблоны и примеры
Литература
Презентации
 
Всё о задаче AdminP. Часть вторая   Во второй части мы завершаем рассмотрение AdminP. В ней рассмотрены запросы междоменного администрирования и способы управления функциями AdminP с помощью настроек документа сервера, команд консоли сервера, файла Notes.ini и интервалов очистки базы данных. В этой статье предполагается, что вы опытный администратор Domino и прочитали первую часть
О Notes Читать статью
 
Всё о задаче AdminP. Proxy-действия в R5 и Domino 6   Приложение к статье об административном процессе
О Notes Читать статью
 
Всё о задаче AdminP. Часть первая   Перевод классической статьи 2003-его года о задаче административного процесса (AdminP). Очень полезна для понимания работы механизма этой задачи. В первой части статьи описаны компоненты задачи AdminP, как они работают, и как их использование помогает сделать работу администратора Domino проще. Задача AdminP (сакращённо от Administration Process, Административный процесс) работает с базой административных запросов (Administration Requests, admin4.nsf)
О Notes Читать статью
 


Советы

Главная   Библиотека   Советы

XML в Domino. Кружной путь, часть первая.

Степан Карандин
В ходе работ над одним из проектов потребовалось реализовать передачу документов между базами. Так как в R6 появились новые классы, предназначенные для работы с XML, то по прочтении документации видится простой и нетрудоемкий вариант:

  1. отобрать передаваемые документы из одной БД,
  2. с помощью NotesDXLExporter сформировать DXL-дерево
  3. поместить DXL-дерево в письмо
  4. отправить письмо в базу-приемник
  5. по приходу письма с DXL-деревом с помощью NotesDXLImporter развернуть инкапсулированные документы

Но в моем случае в момент импорта документов в БД-приемник потребовалось произвести дополнительные действия с ними, и тут начались проблемы.

Dim importer As NotesDXLImporter
Set importer = s.CreateDXLImporter(xmlitem,db)
Print Cstr(Now)+|В базе: |+Cstr(db.AllDocuments.count)
importer.Process
Print Cstr(Now)+| импортировано: |+Cstr(Importer.ImportedNoteCount) '!!!--- Сколько документов импортировано
Print Cstr(Now)+|В базе после импорта: |+Cstr(db.AllDocuments.count) '!!!--- Сколько документов в БД после импорта

Dim noteid As String
Dim doc As notesdocument
noteid = Importer.GetFirstImportedNoteID
While Not noteid =""
Set doc = db.GetDocumentByID(noteid)'!!!--Объект doc - nothing.
...операции с объектом doc
noteid = Importer.GetNextImportedNoteID(NoteID)
Wend

Все последующие попытки получить объект документа в пределах кода были неудачны. Удалось получить импортированные документы следующим образом:

Dim importer As NotesDXLImporter
Set importer = s.CreateDXLImporter(xmlitem,db)
importer.Process
Dim view As NotesView
Set view = db.GetView(|(notesbynoteid)|)
view.refresh
Dim noteid As String
Dim doc As notesdocument
noteid = Importer.GetFirstImportedNoteID
While Not noteid =""
Set doc = view.GetFirstDocument
While Not doc Is Nothing
If Not doc.NoteID = noteid Then
Set doc = view.GetNextDocument(doc)
Else
...операции с объектом doc
Delete doc
End If
Wend
noteid = Importer.GetNextImportedNoteID(NoteID)
Wend

К сожалению, в реализации LotusScript IBM Lotus Software допускают ошибки, и поведение кода может отличаться от ожидаемого. Поэтому перед тем, как расчитывать на то, что изложено в документации следует смоделировать участки, в которых предполагается использовать вновь добавленные классы и методы.
В следующем материале будет занимательная история, про то, как реализовывался экспорт данных в 1С:Предприятие, и какие маркетинговые неожиданности заложены в классе NotesRichTextTable.
 
  Опубликовано — 01/18/2005 |    

Мероприятия
Пресс-релизы
Биржа труда
Последнее на форуме
 
А так же:
Как удалить профиль?
16.04.2016 00:08:51
Скопировать в буфер поле документа
24.05.2015 08:55:52
Импорт DXL-описания документов в Lotus Domino. Одноимённые поля
16.04.2015 16:49:58
 
© LOGOSPHERE.RU