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

Тема в разделе "Lotus - FAQ", создана пользователем ivashkalotus, 17 апр 2006.

Статус темы:
Закрыта.
  1. ivashkalotus

    ivashkalotus Гость

    Доброе утро, Лотусисты!

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

    Код такой:
    Код (Text):
    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. Чего не хочется, так как единственный очевидный идентефикатор документа это поле Дата/Время, по которому документ не находится :)

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

    Domino6 Гость

    <!--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
     
  3. ivashkalotus

    ivashkalotus Гость

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

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

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

    ivashkalotus Гость

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

    код
    Код (Text):
    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 :)
     
  5. ivashkalotus

    ivashkalotus Гость

    P.S. UNID я то же пробовал
     
  6. Domino6

    Domino6 Гость

    Перед поиском по УНИД набо удалить из памяти объект UIDocument
     
  7. ivashkalotus

    ivashkalotus Гость

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

    Domino6 Гость

    <!--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]

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

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

    Set docCurr =db.GetDocumentByID(UNID$)
    Call docCurr.Remove(True)
     
Загрузка...
Статус темы:
Закрыта.

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