• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Вопрос об Embedded View

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

HOBI4OK

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

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

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

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

Kee_Keekkenen

1) в Querydocumentdelete БД пишешь код на обработку удаления из твоего взгляда - если алиас или название текущего взгляда = алиасу или названию твоего взгляда, то continue = false и exit sub
в Queryopendocument пишешь код для открытия выбранного документа с помощью editdocument с параметром только для чтения и следующей строкой после вызова открытия выбранного документа continue = false
 
A

Azrael

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
<!--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.
 
H

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, из которого хотят удалить документ?
 
A

Azrael

To:Гуру Ну в общем да... а еще, наверное, можно использовать что-то типа @Comand([Compose]...
To:Новичок: рисуешь в виде кнопку "удалить", там либо формулами (не пробовал), либо в скрипте получаешь коллекцию документов:
Код:
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")
 
K

Kee_Keekkenen

Для: HOBI4OK

Код:
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


а во взгляде

Код:
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
 
H

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 и т.д.

Еще раз всем огромное спасибо!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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