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

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
6
всем привет

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

2. дальше нам нужно сохранить етот документ ответ в истории ну а атачмент приатачить в новий документ ответ и сделать сохраненний респонзом к новому.
итак я пишу следующее
Код:
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
 
T

TIA

Не видно скрипта получения CopyDoc и dstDoc.
 

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
6
ой а я то думаю почему не работает;) а я закоментировал строчку получения CopyDoc, во болван:wacko:)))....
но почему то я не вижу респонза которий я создал....:(
и так кодик
Код:
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
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Set dstDoc = s.CurrentDatabase.GetDocumentById(Source.CaretNoteID) ----- получаю dstDoc

прошу прощения... что такое Source?
Такая конструкция Source.CaretNoteID по моему применяется для вида. Из документа это не работает ИМХО
 

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
6
и так усилиями уважаемого Akupaka увидили где ошибка:)
било
Call CopyDoc.CopyAllItems(dstDoc, True)
надобно
Call dstDoc.CopyAllItems(CopyDoc, True)

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

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

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