About This Database

Тема в разделе "Lotus - Программирование", создана пользователем oxystile, 12 фев 2008.

  1. oxystile

    oxystile Гость

    можно ли как-то редактировать этот help, кроме как в дизайнере?
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Конечно!
    Берёшь документ хелпа (либо через NotesNoteCollection, либо по предефайненому NoteID (из головы не помню))
    Там есть RT поле "$Body"
    Вот оно то нам и нужно.

    Я его редактирую в DialogBox'е
     
  3. oxystile

    oxystile Гость

    :) что-то не получается этот help взять...
    если через NoteID,то надо его сперва узнать...
    NotesNoteCollection -> notesNoteCollection.SelectHelpAbout занимается постороением колекций, но это не то
     
  4. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: oxystile
    Это то, в NotesNoteCollection получишь (метод GetFirstNoteID) NoteID HelpAbout документа.
    Ну а получить документ по NoteID, думаю, труда не составит.
     
  5. oxystile

    oxystile Гость

    в итоге, что-то типа:
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Set db = session.CurrentDatabase
    Dim doc As NotesDocument
    Dim workspace As New NotesUIWorkspace

    REM Create note collection
    Dim stream As NotesStream
    Set stream = session.CreateStream
    path$ = "c:\dxl\"
    filename$ = Left(db.FileName, Len(db.FileName) - 3) & "dxl"
    filename$ = path$ & filename$
    Dim nc As NotesNoteCollection
    Set nc = db.CreateNoteCollection(False)
    nc.SelectHelpAbout = True
    Call nc.BuildCollection
    Msgbox""

    nid = nc.GetFirstNoteId
    Set doc = db.GetDocumentByID(nid)
    Dim t As String
    t=doc.Form(0)
    Call workspace.DialogBox ( t, True, True, True, True,False, True, "text",doc )

    ????
     
  6. fvoice

    fvoice Гость

    Для: oxystile
    А документы эти в дизайнере Вы предварительно создали?

    Для: Omh
    Для: oxystile
    код, открывает About документ.. вот только не догоню как поле $Body на форму присабачить? Дизайнер говорит что такое поле уже есть..
    Код (Text):
    Dim ws As New NotesUIWorkspace
    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument   
    Dim nc As NotesNoteCollection
    Dim item As NotesItem

    Set db = s.CurrentDatabase

    Set nc = db.CreateNoteCollection(False)
    nc.SelectHelpAbout = True
    Call nc.BuildCollection

    nid = nc.GetFirstNoteId
    Set doc = db.GetDocumentByID(nid)
    Set item = doc.GetFirstItem("$Body")
    Call doc.ReplaceItemValue("Body",item.Values)
    Call ws.DialogBox ("MyAboutForm", False, False, False, True,False, False, "Help About Document",doc )
    а что бы сохранить поле Body, его ведь, как RT поле, из NotesDocument не получишь?
     
  7. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: fvoice
    Берёшь HA документ, берёшь в нём айтем "$Body", копируешь куда надо, в какое хочешь поле, в нужный момент возвращаешь обратно.
     
  8. fvoice

    fvoice Гость

    Для: Omh
    что значит НА?
    Поле Rich Text, как его обновить при возврате из DialogBox-а?
     
  9. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    HA = HelpAbout
    В форме диалогбокса на QueryClose написать
    Код (Text):
    If Not Source.DialogBoxCanceled Then Call Source.Refresh(True)
    Ток никому не говори, это секрет :) :D
     
  10. oxystile

    oxystile Гость

    Для: fvoice

    HelpAbout создан
    кстати, а откуда код вообще вызывается (action, кнопка на HelpAbout ,у меня просто не везде дебаггер срабатывает)
     
  11. oxystile

    oxystile Гость

    и не сохраняются изменения в поле $Body :)
     
  12. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Сохранаются, у меня всё работает.
    Ковыряй дальше :)
     
  13. oxystile

    oxystile Гость

    :)
    где у меня ошибка.
    1) на HA кнопка с кодом
    нажимаю, появляется диалог бокс, там поле Body изменяю.
    Нажимаю -ok-
    Call ws.DialogBox ("MyAboutForm", False, False, False, True,False, False, "Help About Document",doc )
    -последняя строка кода, т.к. поле в HA тоже наз-ся Body и соответсвенно должно обновиться

    2) в MyAboutForm на QueryClose If Not Source.DialogBoxCanceled Then Call Source.Refresh(True)
     
  14. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    <!--QuoteBegin-oxystile+12:02:2008, 16:18 -->
    <span class="vbquote">(oxystile @ 12:02:2008, 16:18 )</span><!--QuoteEBegin-->поле в HA тоже наз-ся Body
    [snapback]97803" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Нет, поле в HA называеться $Body
    Переносить надо руками.
    Я делаю так: создаю временный док, копирую в него поле "$Body" из HA дока (в поле "Body").
    Открываю этот док на редактирование в диалогбоксе с RichtextLight, после окея сохраняю временный док, получаю поле "Body" , копирую его в поле "$Body" в HA.
    Сохраняю HA.
    Пара особенностей есть, но в целом работает.
     
  15. oxystile

    oxystile Гость

    Спасибо получилось!
    :)
     
  16. Гость

    Set doc = db.GetDocumentByID(nid)
    А уникальный ключ, текущего документа (из которого вызывается DialogBox), как определяется? nid - как получить?
     
  17. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: Денис Кириченко
    Ты вообще можешь прям гекущий док открывать в диалоге.

    Код (Text):
    Dim ws As New NotesUIWorkspace
    Dim uiDoc As NotesUiDocument
    Dim Doc As NotesDocument
    Set uiDoc = ws.CurrentDocument
    Set Doc = uiDoc.Document

    If ws.DialogBox("(FORM)",True, True, False, False, False, False, "TITLE", [b]Doc[/b], True) = True Then

    End If
     
Загрузка...
Похожие Темы - About This Database
  1. frII
    Ответов:
    3
    Просмотров:
    552
  2. erdi
    Ответов:
    8
    Просмотров:
    1.640
  3. San40S
    Ответов:
    5
    Просмотров:
    1.532
  4. Vadik(R)
    Ответов:
    15
    Просмотров:
    9.426
  5. Kmet
    Ответов:
    0
    Просмотров:
    1.786

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