Editdocument (read-only) в специальном фрейме и со специальной формой

Тема в разделе "Lotus - Программирование", создана пользователем tikhiy, 18 сен 2009.

  1. tikhiy

    tikhiy Гость

    Доброй ночи, коллеги! // версия 8.5

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

    Имею:
    1. Основную и вспомогательную формы для документа.
    2. Фреймсет из двух фреймов (top и bottom).
    3. View (верхний фрейм), в котором перечислены документы (очень лакончино).

    4. !! Огромное желание сделать так, чтобы при нажатии (single click) на документ во View в нижнем фрейме открывалась дополнительная форма, где будет более подробно освещатся контент документа - именно в режиме просмотра, именно в специально сделанной для этого форме, а не в основной.

    (А вот картинка!)

    collabs.jpg

    Для всего этого в событии "onSelect" (гендерная дискриминация, а что если не он селект, а она?..) я прописываю замысловатый кодец и ставлю "фрейм по умолчанию" для вспомогательной формы (которая снизу на картинке, там будет вычисляемый текст!) чтобы она всегда открывалась снизу! (эксперимент с SetTargetFrame тоже провалился...)

    Что происходит в коде? Сколько я понимаю, так вот просто открыть документ с помощью "чужой" формы не получится (а зря, я им скажу, зря!), посему я копирую его содержимое в новый документ и прописываю ему нужную форму ("CollabPreview").

    После чего, перелопатив дюжину тематических сайтов, догадываюсь "вроде бы правильно" поставить параметры функции "EditDocument" так, что не возникает дурацкая ошибка (как там её: lsERR_LSXU13_ANCESTOR_TARGET_FRAME)...

    Но не тут то было! В результате подлец Лотус начинает открывать исходный фреймсет в новом окне - честно заполняя при этом вспомогательную форму данными из дубликата нужного документа и... плодя новые окошки бесконечно, ибо в них также появляется моё View, где сразу же происходит событие "onSelect"...

    Пробовал я поэкспериментировать и с последним параметром ("newInstance" ставим в False), но в ответ - тишина, вернее, сообщение о том, что форма по умолчанию не найдена... Почему "по умолчанию"? Зачем? Я, видно, что-то концептуально не догоняю, ведь явным образом прописывается нужная форма!..

    В общем, поможите калеке, а то откажусь от этой затеи и уйду в горы, наверное, жить... Спасибо за понимание!

    // и вообще, почему бы не позволить пихать документ контекстом для страницы (Page)?..

    [codebox]Sub Onselect(Source As Notesuiview)
    Dim ws As New NotesUIWorkspace
    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim uiview As NotesUIView

    Set uiview = ws.CurrentView

    Set db = s.CurrentDatabase
    Set doc = db.GetDocumentByID( uiview.CaretNoteID )

    Dim new_doc As New NotesDocument( db )

    Call doc.CopyAllItems( new_doc )

    new_doc.Form = "CollabPreview"

    Call ws.EditDocument( False, new_doc, True, , False )
    End Sub[/codebox]
     
  2. K-Fire

    K-Fire Гость

    Попробуйте сделать так:
    Нижний фрейм обзываете NotesPreview. Во вью в свойстве Form Formula прописываете название доп.формы. В результате по сингл клику в превью отображается доп.форма. Затем на Queryopendocument вешаете такой код:

    continue = false
    Set doc = <взять текущий док во вью>
    doc.Form = "основная форма"
    ws.EditDocument(false, doc)
     
  3. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    ндаа, однозначно топиксайтер не умеет работать с превью....
     
  4. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    так научи!
     
  5. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    Akupaka
    открываем дизайнером ПЯ - там всё сделано, делаем по аналогии
     
  6. K-Fire

    K-Fire Гость

    Для новичка ПЯ открывать не стоит, там сразу убьешься от кол-ва всяких разных фич и элементов дизайна ;)
     
  7. azat20

    azat20 Well-Known Member

    Регистрация:
    22 июл 2008
    Сообщения:
    244
    Симпатии:
    0
    А что если композитные приложения использовать?
     
  8. K-Fire

    K-Fire Гость

    Для данного конкретного случая - нет никакой необходимости. А если захочется усложнить (себе жизнь в том числе :)) - тогда можно и композитные.
     
  9. Klido

    Klido Гость

    проще ПЯ открыть :)
     
Загрузка...
Похожие Темы - Editdocument (read only)
  1. Mitya
    Ответов:
    3
    Просмотров:
    1.660
  2. yerke
    Ответов:
    7
    Просмотров:
    3.110
  3. alb
    Ответов:
    2
    Просмотров:
    2.498
  4. Cleric-Lviv
    Ответов:
    5
    Просмотров:
    569

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