Вопрос об Embedded View

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

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

    HOBI4OK Гость

    Здравствуйте!
    Наверное я сильно туплю, поэтому буду крайне благодарен, если подскажите ответы на тройку вопросов:

    1) можно ли как-нибудь запретить удалять документ из embedded view (пусть из него документы только открываются для просмотра);

    2) есть фрейм с представлением, второй фрейм что-то типа preview. как сделать, чтобы во втором фрейме а) - нельзя было редактировать документ (только просмотр), б) - не отображался action bar

    3) совершенно общий вопрос: подскажите какую-нибудь хорошу литературу по программированию в Lotus. C нормальным описанием функций и т.д. Лотусовский Help, конечно, тоже хорош, но как-то хочется работать с бумажным носителем :)
     
  2. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    1) в Querydocumentdelete БД пишешь код на обработку удаления из твоего взгляда - если алиас или название текущего взгляда = алиасу или названию твоего взгляда, то continue = false и exit sub
    в Queryopendocument пишешь код для открытия выбранного документа с помощью editdocument с параметром только для чтения и следующей строкой после вызова открытия выбранного документа continue = false
     
  3. Azrael

    Azrael Гость

    1) создаешь нередактируемую форму того же документа
    2) в представлении делаешь Form Formula - имя формы документа
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-Azrael+12:12:2006, 14:08 -->
    <span class="vbquote">(Azrael @ 12:12:2006, 14:08 )</span><!--QuoteEBegin-->1) создаешь нередактируемую форму того же документа
    2) в представлении делаешь Form Formula - имя формы документа

    [snapback]50549" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    А как открыть документ на редактирование?


    Смотри в почтовом шаблоне.
    Продублировать нужные для превью поля. Сделать их Computed for Display. Поставить у них скрытие Opened for reading/editing.
    У всех других полей поставить скрытие Previewed for reading/editing.
     
  5. HOBI4OK

    HOBI4OK Гость

    <!--QuoteBegin-Kee_Keekkenen+11:12:2006, 21:03 -->
    <span class="vbquote">(Kee_Keekkenen @ 11:12:2006, 21:03 )</span><!--QuoteEBegin-->1) в Querydocumentdelete БД пишешь код на обработку удаления из твоего взгляда - если алиас или название текущего взгляда = алиасу или названию твоего взгляда, то continue = false и exit sub
    [snapback]50472" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    А как определить название текущего embedded view, из которого хотят удалить документ?
     
  6. Azrael

    Azrael Гость

    To:Гуру Ну в общем да... а еще, наверное, можно использовать что-то типа @Comand([Compose]...
    To:Новичок: рисуешь в виде кнопку "удалить", там либо формулами (не пробовал), либо в скрипте получаешь коллекцию документов:
    Код (Text):
    dim ws as new notesuiworkspace
    dim ui as notesuiview
    set ui=ws.currentView

    dim coll as notesdocumentCollection
    set coll=ui.documents
    далее либо call coll.RemoveAll, либо, например, call coll.StampAll("ForDel","1")
     
  7. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    Для: HOBI4OK

    Код (Text):
    Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
    Dim ws As New NotesUIWorkspace
    Dim UIView As notesUIView

    Continue = False   

    Set UIView = ws.CurrentView

    If Not (UIView Is Nothing) Then
    If UIView.ViewAlias = "алиас втроенного взгляда" Then Exit Sub       
    или
    if UIView.ViewName = "название встроенного взгляда" Then Exit Sub
    End If

    End Sub

    а во взгляде

    Код (Text):
    Sub Queryopendocument(Source As Notesuiview, Continue As Variant)

    dim ws as new notesUIWorkspace
    Dim doc As NotesDocument
    Set doc = Source.Documents.GetFirstDocument
    Continue = False
    Call ws.DialogBox("название или алиас формы", True, True, False, False, True, True, "Просмотр", doc, True)

    End Sub
     
  8. HOBI4OK

    HOBI4OK Гость

    To Azrael & Kee_Keekkenen: огромное спасибо за код. Еще вчера, благодаря Вашей подсказке, реализовал код в Querydocumentdelete, но только без проверки If Not (UIView Is Nothing) Then. Для меня такая проверка выглядит как-то излишней, но видимо это из-за небольшого опыта общения с Lotus. Обязательно добавлю это строку в код. Еще раз огромное спасибо! Поделюсь и тем, почему раньше у меня не получалось определить имя view из которого открывается документ (ну это тоже от недостатка опыта): я пытался использовать свойство ParentView, хотя надо было просто CurrentView. Думаю, что со временем все тонкости работы с Lotus должны уместиться в моей голове ;-)

    To Kee_Keekkenen: Ваш второй код просто не позволит открыть документ из view... проблема была только в том, чтобы не дать из этого view удалять документ, но не редактировать и открывать... А вот проблема с редактированием документа в preview осталась. Хотелось бы сделать так, как это реализовано в почте: в превьюшке даже если сделать двойной клик документ не будет редактироваться. чтобы отредактировать документ надо его открыть из view и только тогда появляется возможность редактирования. Также в превьюшке отсутствуют кнопки send и т.д.

    Еще раз всем огромное спасибо!
     
Загрузка...
Статус темы:
Закрыта.

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