Заморочка с коллекцией документов.

Тема в разделе "Lotus - Программирование", создана пользователем LIGHT, 26 апр 2007.

  1. LIGHT

    LIGHT Гость

    Во вьюшке прикрутил кнопку, по которой обрабатываю отмеченные документы в коллекции. Все работает но… вот что-то не получается галочки скинуть с отмеченных документов после отработки функции ViewRefresh что-то не помогает, может, подскажите выход из затыка.

    Код (Text):
    Sub Click(Source As Button)

    Dim s As NotesSession
    Dim db As NotesDatabase
    Dim uidoc As NotesUIDocument
    Dim dc As NotesDocumentCollection
    Dim doc As NotesDocument
    Dim w As NotesUIWorkspace
    Dim createDate As Variant
    Dim i As Variant
    Dim j As Variant

    Set s = New NotesSession
    Set db = s.CurrentDatabase
    Set dc = db.UnprocessedDocuments
    Set doc = dc.GetLastDocument
    Set w = New NotesUIWorkspace

    Dim ws As New NotesUIWorkspace

    Dim askme As Variant
    Dim destination As String

    Dim valyes(4) As Variant

    valyes(0) = "Договор"
    valyes(1) = "Дополнительное соглашение"
    valyes(2) = "Спецификация"
    valyes(3) = "Прочая договорная документация"
    valyes(4) = ""

    askme = ws.Prompt (PROMPT_OKCANCELCOMBO, _
    "Назначить категорию отмеченных документов?", _
    "Выберите одно из предложенных значений.", _
    valyes(0), valyes)

    Do Until doc Is Nothing

    Call doc.ReplaceItemValue("DocType", askme)
    Call doc.save(True,True,True)  
    Set doc = dc.GetPrevDocument (doc)
    Loop

    Call w.ViewRefresh
    On Error Resume Next

    Set UIdoc=w.CurrentDocument
    On Error Goto 0

    If Not UIdoc Is Nothing Then
    If Not UIdoc.InPreviewPane Then Call UIdoc.Close
    End If

    End Sub
    То есть получается так, отметил я к примеру 20 доков, запустил процедуру обработки, и хочу обработать еще 30. Отмечаю их... но перед этим приходится снять галочки с ранее отмеченых. т.к. они сохраняются.
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    notesUIView.DeselectAll
     
  3. LIGHT

    LIGHT Гость

    Medevic - Вэри Сеньq!
     
  4. Ronchik

    Ronchik Гость

    1. вместо вот этого куска
    Код (Text):
     Do Until doc Is Nothing

    Call doc.ReplaceItemValue("DocType", askme)
    Call doc.save(True,True,True)  
    Set doc = dc.GetPrevDocument (doc)
    Loop
    можно использовать
    Код (Text):
    Call notesDocumentCollection.StampAll( itemname, value )
    2.
    Код (Text):
    Call notesUIView.DeselectAll
     
  5. LIGHT

    LIGHT Гость

    Т.е. не будет цикл прогонятся, я правильно понимаю.
    Т.е. он будет но как бы не явно?
     
  6. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: LIGHT
    Дык, в хэлпе ж написано
    и обратите внимание, что
     
  7. Ronchik

    Ronchik Гость

    да
    и быстрее и прога короче
     

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