Очистить Rtf в Edit Mode

Тема в разделе "Lotus - Программирование", создана пользователем wowa, 11 апр 2011.

  1. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    При изменении определенного значения в текстовом поле, мне надо очистить другое РТФ. Как я делаю:
    Код (LotusScript):
    Call uidoc.GotoField( "OK_Anm_4" )
    Call uidoc.SelectAll
    Call uidoc.Clear
    Если в РТФ только текст, то оно очищает. Если есть аттачмент, то выдает сообщение: "This operation cannot be undone. Do you wish to proceed?"

    Как можно обойти это сообщение? и есть ли другой способ очистить РТФ?
     
  2. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    wowa
    а попробуй убить поле, потом переоткрыть док.

    Код (LotusScript):
    dim ws as New NotesUIWorkspace
    dim uidoc as NotesUIDocument
    dim doc as NotesDocument

    set uidoc = ws.CurrentDocument
    set doc = uidoc.Document
    Call doc.RemoveItem( RT-itemName$ )
    Call ws.EditDocument(True, doc)
    Call doc.ReplaceItemValue("SaveOptions", "0")
    Call uidoc.Close(True)
     
  3. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  4. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Не работает, атач остается. Видать придется атачи убивать дополнительно.
     
  5. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Если рт-поле одно, можно заодно с ним удалить поле $FILE. Если нет — перебирать и удалять EmbeddedObjects
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Получилось иначе:
    Код (LotusScript):
        Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Dim rtItem As NotesRichTextItem

    Set uidoc = ws.CurrentDocument
    Set doc = uidoc.Document
    'Call doc.RemoveItem( "RTItem" )
    Call uidoc.Refresh(True) ' TRUE!!!
    Set rtItem = doc.GetFirstItem("RTItem")
    Call rtItem.Remove()
    If Not(doc.HasItem("Form")) Then
    Call doc.ReplaceItemValue("Form", "TestRTClear")
    End If
    Call ws.EditDocument(True, doc)
    Call doc.ReplaceItemValue("SaveOptions", "0")
    Call uidoc.Close(True)
     
  7. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    .

    Добавлено: Akupaka, большое спасибо, вроде все как надо работает
     
Загрузка...

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