Документ ответ

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

  1. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    всем привет

    и так :
    1. документ "а" имеет баттон, когда нажать виваливается DialogBox в котором встроена вюха,поле для ввода номера доки ну и баттон которий инициирует поиск нужного документа"б". Документ находим и в вюхе отображаются документи ответи етого дока. дальше из документа "а" нам нужно приатачить атачмент к некоторому документу ответу . Здесь все ок, написал для справки полную картину действий

    2. дальше нам нужно сохранить етот документ ответ в истории ну а атачмент приатачить в новий документ ответ и сделать сохраненний респонзом к новому.
    итак я пишу следующее
    Код (Text):
    Msgbox ---- ето так для проверки потому что дебагер не показивает ход обробки кода на DialogBox (или я не знаю как ето увидеть)
    If promptResult = 6 Then

    dv = Cint(dstDoc.GetItemValue("DocVer")(0)) ---- узнаю текущую версию документа ответа
    Msgbox dv
    dn = Cstr(dstDoc.GetItemValue("DocNo")(0)) ---- узнаю номер документа ответа
    Msgbox dn
    Call CopyDoc.CopyAllItems(dstDoc, True) --- здесь и вискакивает ошибка object variadle is not set
    Msgbox "документ скопійовано"
    Call CopyDoc.ReplaceItemValue("DocVer", dv+1)
    Msgbox DocVer
    Call CopyDoc.ReplaceItemValue("DocID", dn)
    Msgbox DocID
    Call CopyDoc.MakeResponse(dstDoc)
    Call CopyDoc.Save(False, True)

    Call dstDoc.removeItem("DocContainer")
    Set rtitemdstDoc = New NotesRichTextItem(dstDoc,"DocContainer")
    Set rtitemdocWithAttach = docWithAttach.GetFirstItem("Body")

    Call rtitemdstDoc.AppendRTItem( rtitemdocWithAttach )
    Call rtitemdocWithAttach.Remove
    If dstDoc.Save( False, True ) Then
    docWithAttach.SoftDeleted="1"
    Call docWithAttach.Save( False, False )
    End If
    Call ws.ViewRefresh
    End If
     
  2. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Не видно скрипта получения CopyDoc и dstDoc.
     
  3. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    ой а я то думаю почему не работает;) а я закоментировал строчку получения CopyDoc, во болван:wacko:)))....
    но почему то я не вижу респонза которий я создал....:(
    и так кодик
    Код (Text):
    Set dstDoc = s.CurrentDatabase.GetDocumentById(Source.CaretNoteID) ----- получаю dstDoc
    Set CopyDoc = s.CurrentDatabase.CreateDocument ----- получаю CopyDoc

    ps = |Бажаєте приєднати атачмент до документу "%1"?|                    
    ps = ReplaceSubstring(ps,"%1",dstDoc.DocName(0))
    promptResult = Messagebox(ps, 3 + 32, "Прикріпити")  
    If promptResult = 6 Then ----если "да"

    dv = Cint(dstDoc.GetItemValue("DocVer")(0))
    Msgbox dv
    dn = Cstr(dstDoc.GetItemValue("DocNo")(0))
    Msgbox dn
    Call CopyDoc.CopyAllItems(dstDoc, True)
    Msgbox "документ скопійовано"
    Call CopyDoc.ReplaceItemValue("DocVer", dv+1)
    Msgbox DocVer
    Call CopyDoc.ReplaceItemValue("DocID", dn)
    Msgbox DocID
    Call CopyDoc.MakeResponse(dstDoc)
    Call CopyDoc.Save(False, True)

    Call dstDoc.removeItem("DocContainer")
    Set rtitemdstDoc = New NotesRichTextItem(dstDoc,"DocContainer")
    Set rtitemdocWithAttach = docWithAttach.GetFirstItem("Body")

    Call rtitemdstDoc.AppendRTItem( rtitemdocWithAttach )
    Call rtitemdocWithAttach.Remove
    If dstDoc.Save( False, True ) Then
    docWithAttach.SoftDeleted="1"
    Call docWithAttach.Save( False, False )
    End If
    Call ws.ViewRefresh
    End If
     
  4. NickProstoNick

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

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    прошу прощения... что такое Source?
    Такая конструкция Source.CaretNoteID по моему применяется для вида. Из документа это не работает ИМХО
     
  5. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    и так усилиями уважаемого Akupaka увидили где ошибка:)
    било
    Call CopyDoc.CopyAllItems(dstDoc, True)
    надобно
    Call dstDoc.CopyAllItems(CopyDoc, True)

    щас потестирую и отпишусь:)))))

    NickProstoNick
    а кто, сказал что я с документа работаю????;) извиняюсь что сразу не написал!!!!:))))))))
     
Загрузка...

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