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

Тема в разделе "Lotus - Программирование", создана пользователем Олимпус, 18 фев 2014.

Наш партнер Genesis Hackspace
  1. Олимпус

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


    Код (Text):
            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-поле в созданный ранее документ. (то бишь в форме было добавлено это поле, но в старых документах выскакивает ошибка при исполнении кода из режима редактирования, что такого поля нет...)
     
  2. savl

    savl Well-Known Member
    Команда форума Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.081
    Симпатии:
    154
    call NotesDocument.ComputeWithForm(false,false)
    затем сохранить

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

    Мыш Well-Known Member
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.023
    Симпатии:
    8
    Пробовал как-то делать похожее через UI - и плюнул. Агент то валился, то так же останавливался, то зависал.
     
  4. Олимпус

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

    Type mismatch in method AssignClassInstance: AINSTANCE found, Unknown expected

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

    Код (Text):
    Set rti = doc.GetFirstItem (имя_поля)
    Поле такое есть. Ругается, при чем, не во всех документах... В какую сторону копать?
     
  5. savl

    savl Well-Known Member
    Команда форума Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.081
    Симпатии:
    154
    есть подозрение то объект doc не совсем NotesDocument
    Либо item битый, как вариант удалить item полностью, если в нем нет данных и пересчитать.
    Если данные есть хз...
     
  6. Мыш

    Мыш Well-Known Member
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.023
    Симпатии:
    8
    А если убрать из агента все UI-действия и просто пройтись по коллекции, получая RichtextItem ну и, например, из него Unformatted text? Ошибка останется?
     
  7. Олимпус

    Регистрация:
    30 дек 2013
    Сообщения:
    5
    Симпатии:
    0
    Спасиб, через удаление и создание поля всё заработало.
     
  8. savl

    savl Well-Known Member
    Команда форума Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.081
    Симпатии:
    154
    Олимпус
    Данных то хоть не было? А то постирали информацию...
     
  9. Олимпус

    Регистрация:
    30 дек 2013
    Сообщения:
    5
    Симпатии:
    0
    savl
    Не, всё норм. Там данные вычисляются по кнопке если что.
     
  10. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.767
    Симпатии:
    39
Загрузка...

Поделиться этой страницей