• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Агент Не Обрабатывает Все Документы

  • Автор темы Олимпус
  • Дата начала
О

Олимпус

Здрасьте!
Помогите решить проблему- есть агент на LotusScript. Он должен пройтись по всем документам во вьюхе (их около 900), но молча останавливается на 357 доке... С чем это может быть связано? Кто знает?


Код:
		Set doc = view.Getfirstdocument()

While Not doc Is Nothing
Set uidoc = w.EditDocument(True, doc)
...
Call uidoc.Refresh()
Call uidoc.Save()
Call uidoc.Close(True)
...
Set doc = view.Getnextdocument(doc)
Wend

Агент сам по себе должен открывать и пересохранять документы.
Или, может кто знает, другой способ прописать RT-поле в созданный ранее документ. (то бишь в форме было добавлено это поле, но в старых документах выскакивает ошибка при исполнении кода из режима редактирования, что такого поля нет...)
 

savl

Lotus Team
28.10.2011
2 601
312
BIT
216
call NotesDocument.ComputeWithForm(false,false)
затем сохранить

а вот с этим:
но в старых документах выскакивает ошибка при исполнении кода из режима редактирования
я бы разбирался подробнее, ибо не Rt поле тому виной, имхо
 

Мыш

Lotus Team
12.02.2008
1 220
29
BIT
71
Пробовал как-то делать похожее через UI - и плюнул. Агент то валился, то так же останавливался, то зависал.
 
О

Олимпус

Спасибо, агент заработал как надо!
Только вот теперь ещё вопросы появились... Выдаёт вот такую ошибку:

Type mismatch in method AssignClassInstance: AINSTANCE found, Unknown expected

По словам дебагера на строчке:

Код:
Set rti = doc.GetFirstItem (имя_поля)

Поле такое есть. Ругается, при чем, не во всех документах... В какую сторону копать?
 

savl

Lotus Team
28.10.2011
2 601
312
BIT
216
есть подозрение то объект doc не совсем NotesDocument
Либо item битый, как вариант удалить item полностью, если в нем нет данных и пересчитать.
Если данные есть хз...
 

Мыш

Lotus Team
12.02.2008
1 220
29
BIT
71
А если убрать из агента все UI-действия и просто пройтись по коллекции, получая RichtextItem ну и, например, из него Unformatted text? Ошибка останется?
 
О

Олимпус

есть подозрение то объект doc не совсем NotesDocument
Либо item битый, как вариант удалить item полностью, если в нем нет данных и пересчитать.
Если данные есть хз...
Спасиб, через удаление и создание поля всё заработало.
 

savl

Lotus Team
28.10.2011
2 601
312
BIT
216
Олимпус
Данных то хоть не было? А то постирали информацию...
 
О

Олимпус

savl
Не, всё норм. Там данные вычисляются по кнопке если что.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!