Удаление документа

  • Автор темы ivashkalotus
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

ivashkalotus

Гость
#1
Доброе утро, Лотусисты!

Возникла такая проблема, не могу нормально удалить документ из базы.

Код такой:
Код:
Sub Click(Source As Button)

Dim doc As NotesDocument
Dim docUI As NotesUIDocument	
Dim ws As New NotesUIWorkspace

Set docUICurr=ws.CurrentDocument
Set docCurr=docUICurr.Document

Call docUICurr.Close()
Call docUICurr.DeleteDocument()
End Sub
Такая штука только помечает документ на удаление.
После F9 все удаляется, но как "нажать" F9 программно?
Что то типа DB.Refresh() есть наверное?

Если удалять бэкэнд документ (doc.Remove(false)), то если он взят из UI документа, его удалить нельзя ;) О чем честно сказано в хелпе
То есть нужно искать документ через view. Чего не хочется, так как единственный очевидный идентефикатор документа это поле Дата/Время, по которому документ не находится :)

Может что подскажите.
 
D

Domino6

Гость
#2
<!--QuoteBegin-ivashkalotus+17:04:2006, 10:16 -->
<span class="vbquote">(ivashkalotus @ 17:04:2006, 10:16 )</span><!--QuoteEBegin-->Если удалять бэкэнд документ (doc.Remove(false)), то если он взят из UI документа, его удалить нельзя О чем честно сказано в хелпе
То есть нужно искать документ через view.
[snapback]33731" rel="nofollow" target="_blank[/snapback]​
[/quote]

именно так только искать его по UNID
 
I

ivashkalotus

Гость
#3
Не злиться, см в подпись :)

Т.е. взять UNID из документа полученного из UI документа, и найти его в базе?

P.S. Кто нить расскажет почему такой изврат ???
 
I

ivashkalotus

Гость
#4
Не помагает :D
Выдает такую же ошибку, что и до этого

код
Код:
Call doc.Save(True,True)
Call docUICurr.Close()
Call docCurr.Save(True,True)

' Создаем промежуточный документ для удаления текущего документа
Dim doc4Del As NotesDocument

Set doc4Del =db.GetDocumentByID(docCurr.NoteID)
Call doc4Del.Remove(True)
У doc4Del свойство IsUIdocopen все равно стоит в true :D

Скорее всего этот документ можно удалить только внешним скриптом, после закрытия UIdoc :)
 
D

Domino6

Гость
#6
Перед поиском по УНИД набо удалить из памяти объект UIDocument
 
I

ivashkalotus

Гость
#7
А как, если скрипт находиться именно в нем (т.е. в форме, которая для него открыта)?
 
D

Domino6

Гость
#8
<!--QuoteBegin-ivashkalotus+18:04:2006, 08:59 -->
<span class="vbquote">(ivashkalotus @ 18:04:2006, 08:59 )</span><!--QuoteEBegin-->P.S. Кто нить расскажет почему такой изврат ???
[snapback]33862" rel="nofollow" target="_blank[/snapback]​
[/quote]

Это не изврат просто при нахождении в памяти объекта и доступ к нему нотест определяет его как расположеного в памяти и не занимает лишние участки памяти

Код:
UNID$=docCurr.NoteID
docUICurr Delete
docCurr Delete

Set docCurr =db.GetDocumentByID(UNID$)
Call docCurr.Remove(True)
 
Статус
Закрыто для дальнейших ответов.