Форум продуктов IBM Lotus

Общие вопросы => Разработка приложений => Тема начата: Sergey_st85 от 06 Апрель 2010, 12:40:38

Название: Программное обновление вида.
Отправлено: Sergey_st85 от 06 Апрель 2010, 12:40:38
Пусть в базу не заходили целый день.

Потом я захожу, помещаю в вид 4 документа по нажатии на кнопку.

Потом запускаю агента по обработке этих самых документов.
Делаю вью.рефреш в агенте. Но агент не видит документов в виде (а я вижу!). Потом что-то где-то происходит после запуска 15-го, и агент начинает их видеть. Что такое?

Команда в агенте - view.refresh

Св-ва вида:
Refresh   Automatic
Discard    If inactive for 45 day

Агент запускается на сервере.
Название: Re: Программное обновление вида.
Отправлено: ViV от 06 Апрель 2010, 13:00:29
В принципе и без рефреша должно работать. Как в агенте идет выборка документов?
Название: Re: Программное обновление вида.
Отправлено: Sergey_st85 от 06 Апрель 2010, 13:18:35
Set view=db.GetView("PFR_Final" & Cstr(channel))
   Call view.Refresh
   Set doc=view.GetFirstDocument
   While Not doc Is Nothing
      Print doc.numer_umowy(0)
      Set klient_doc=s.CurrentDatabase.GetDocumentByUNID(doc.klientunid(0))
      If Not klient_doc Is Nothing Then
...
...
...
next_doc:      
      Set klient_doc=Nothing
      Set doc=view.GetNextDocument(doc)
   Wend
Название: Re: Программное обновление вида.
Отправлено: Sergey_st85 от 06 Апрель 2010, 15:48:28
А что если то, что я рефрешу виды в агенте, который запускается на серваке - и это неправильно? Может, нужно рефрешить виды именно на стороне клиента?
Название: Re: Программное обновление вида.
Отправлено: ViV от 06 Апрель 2010, 16:00:09
С такими свойствами вида должно нормально выдавать. А свойство EntryCount у вида выдает кривой результат?

Каким образом вы помещаете документы в вид?
Название: Re: Программное обновление вида.
Отправлено: Sergey_st85 от 07 Апрель 2010, 12:45:24
Вопрос закрыт.

Впервые такое вижу на своей практике, но агент, подписанный мной - работает нормально, а когда серваком - не обрабатывает документы из вида. То есть с видами было все ок с самого начала. Бррр.
Название: Re: Программное обновление вида.
Отправлено: Sergey_st85 от 07 Апрель 2010, 12:56:46
Бред полнейший.

Агент в базе берет 2 другие базы:
Set db_DVPFR=s.GetDatabase("MopSrv01/IFDK","wfs\test\TwinsTEST.nsf",False)
   Set db_DVPFR_err=s.GetDatabase("MopSrv01/IFDK","wfs\test\TwinsError.nsf",False)

И заводит документы в них.

Везде сервак манагер,  с ролями всеми и т.д.



Итак. Если агент подписан МНОЙ - то документы создаются в сторонних базах и модифицируются в текущей.
Если сервером - то ни документы не создаются, ни модифицируются в текущей базе.

Помогло только 3. Allow restricted operations with full administration rigl, но при чем тут это в данной ситуации - я так и не понял.
Название: Re: Программное обновление вида.
Отправлено: ViV от 08 Апрель 2010, 11:15:11
Скорее всего для сервера не заданы права на выполнение какого-то типа агентов (в серверном документе на вкладке Security)