Имя формы

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

  1. olegber

    olegber Гость

    Добрый день.
    Дизайн БД:
    1) два Frameset
    а) левый состоит из меню выбора
    б) в правом отображаются формы, в которых пользователь может сделать какие-либо действия(документы не создаются)
    Вопрос:
    Как мне можно получить имя формы которая сейчас активна во втором frameset?
    Это имя формы должно участвовать в событии(PostOpen).
    Lotus 5.0
     
  2. Sandr

    Sandr Гость

    Ну, Вы же каким то образом эту форму туда пихаете? Значит Вы знаете какая там форма...Если Вы меняете форму во фреймсете, то этим же действием вы пишите куда нибудь имя этой формы.. в профайл или в нотес.ини...
    Просто получить имя формы из фреймсета не так просто... ;)
     
  3. olegber

    olegber Гость

    Для: Sandr

    Описываю по-подробнее
    1)Левый frame:
    Frame - DefaultTargetForLinksInFrame- "Правый frame"
    Frame-Content-Value-"Страница".
    На "странице" присутствуют рисунки + Hotspot
    У Hotspot есть Content-Value-"Имя формы"
    Нажимаем на Hotspot и форма отображается в правом frameset
    ЧТО ИМЕЕМ:
    -Форма открылась в "правом frame"
    -На этой форме есть кнопка.
    -Нажимаем на кнопку и взависимоти от имени формы(НЕ ЗНАЮ КАК ПОЛУЧИТЬ) выполняем определённые действия.
     
  4. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-olegber+21:12:2007, 13:12 -->
    <span class="vbquote">(olegber @ 21:12:2007, 13:12 )</span><!--QuoteEBegin-->-На этой форме есть кнопка.
    -Нажимаем на кнопку и взависимоти от имени формы(НЕ ЗНАЮ КАК ПОЛУЧИТЬ) выполняем определённые действия.
    [snapback]90866" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    На каждой форме должна быть своя кнопка. Или я его-то не понимаю.
     
  5. Sandr

    Sandr Гость

    Ну а что, сожно получить форму текущего документа? или я тоже чего-то не понимаю? Я думал, что Вам нужно получить имя правой формы, для кнопок в лефой форме, тогда это было бы сложней, но в ситуации описанной Вами - это проще простого...

    Форма в правом фрейме, на ней кнопка. Имя формы - это значение поля Form... Получите его и все...
     
  6. fvoice

    fvoice Гость

    Сори, ерунду написал
     
  7. olegber

    olegber Гость

    Для: Sandr
    Может я просто чего-то не учёл, если это проще-простого..
    Но как это сделать?
    (Документ не сохраняется: у всех форм saveoptions="0")
    Если через
    set doc=uidoc.Document
    formname=doc.Form(0)
    То не работает... :angry:
    Может в классе NotesUIDocument есть какой-нибудь метод, возращающий имя формы?
    или в NotesUiWorkSpace?
    (lotus 5.0)



    Для: fvoice
    Смотрел
    There are two ways to access a form:
    To get all the forms in a database, use the Forms property in NotesDatabase.
    To get a form by its name, use the GetForm method in NotesDatabase.
    Это всё не то, так как надо получить имя формы "которая сейчас на экране"(текущая)
     
  8. Sandr

    Sandr Гость

    Если Вы это пишите на постОупене, то должно работать...

    Код (Text):
    formName = Source.document.getItemvalue("Form")(0)
    Или используйте собаку...
     
  9. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Создать CWC-поле "Form".
     
  10. olegber

    olegber Гость

    Для: Sandr
    НЕ работает. Я уже проверял.
    Поле form создаётся внутренним механизмом lotus при сохранении документа.
    Т.е. пока не сохранил (или сам не создал-его нет).
    Может как-нибудь обновить document чтобы созадлось поле.

    Для: Medevic
    <!--QuoteBegin-Medevic+21:12:2007, 14:03 -->
    <span class="vbquote">(Medevic @ 21:12:2007, 14:03 )</span><!--QuoteEBegin-->Создать CWC-поле "Form".
    [snapback]90879" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    А можно по подробнее( где это в helpe искать?)
     
  11. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-olegber+21:12:2007, 14:09 -->
    <span class="vbquote">(olegber @ 21:12:2007, 14:09 )</span><!--QuoteEBegin-->А можно по подробнее( где это в helpe искать?)
    [snapback]90882" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Создать Computed When Composed поле с формулой "Form".
    Искать не знаю где.
     
  12. olegber

    olegber Гость

    Для: Medevic
    Не работает
    Если вы про поле FORM, то:
    <!--QuoteBegin-olegber+21:12:2007, 14:09 -->
    <span class="vbquote">(olegber @ 21:12:2007, 14:09 )</span><!--QuoteEBegin-->НЕ работает. Я уже проверял.
    Поле form создаётся внутренним механизмом lotus при сохранении документа.
    Т.е. пока не сохранил (или сам не создал-его нет).
    Может как-нибудь обновить document чтобы создалось поле.
    [snapback]90882" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    А функции в lotus 5 такой вроде нет, которая бы возвращала имя формы..
     
  13. Sandr

    Sandr Гость

    Попробуйте собакой. Хотя, то что Вы говорите похоже на фантастику... Значение поля Form можно получить ДО сохранения документа... в том числе и на постоупене..
    Если вам нужно скриптом, то сделайте так

    Код (Text):
    dim eva as variant
    eva = Evaluate("Form")
    formName = eva(0)
     
  14. olegber

    olegber Гость

    <!--QuoteBegin-Sandr+21:12:2007, 14:33 -->
    <span class="vbquote">(Sandr @ 21:12:2007, 14:33 )</span><!--QuoteEBegin-->Попробуйте собакой. Хотя, то что Вы говорите похоже на фантастику... Значение поля Form можно получить ДО сохранения документа... в том числе и на постоупене..
    [snapback]90890" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Неужели это у вас работает, может быть дело в том что у меня lotus 5.0?

    Даже если debugger'ом проработать скрипт PostOpen(с простым кодом типа Set uidoc =Source) то видно,что в source.Document.Items отсутствует поле Form.
    Странно как-то это.. :angry:

    Собакой тоже не выходит, нет такого поля в документе..
     
  15. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: olegber
    Как происходит переключение форм? Может сделать на скрипте, чтобы передать имя формы?
     
  16. olegber

    olegber Гость

    Для: Medevic
    <!--QuoteBegin-olegber+21:12:2007, 13:12 -->
    <span class="vbquote">(olegber @ 21:12:2007, 13:12 )</span><!--QuoteEBegin-->Описываю по-подробнее
    1)Левый frame:
    Frame - DefaultTargetForLinksInFrame- "Правый frame"
    Frame-Content-Value-"Страница".
    На "странице" присутствуют рисунки + Hotspot
    У Hotspot есть Content-Value-"Имя формы"
    Нажимаем на Hotspot и форма отображается в правом frameset
    ЧТО ИМЕЕМ:
    -Форма открылась в "правом frame"
    -На этой форме есть кнопка.
    -Нажимаем на кнопку и взависимоти от имени формы(НЕ ЗНАЮ КАК ПОЛУЧИТЬ) выполняем определённые действия.
    [snapback]90866" rel="nofollow" target="_blank[/snapback]​
    [/quote]
     
  17. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: olegber
    Понятно. Почему бы не использовать Action Hotspot. Там можно на скрипте писать.

    И всё таки не понятно. На форме уже есть кнопка. Зачем кнопке знать имя формы, если имя знал дизайнер когда создавал кнопку? Имя формы не поменяется же.

    Кстати, имя формы можно явно прописать как default value (или просто value в случае computed-поля) в поле на форме.
     
  18. olegber

    olegber Гость

    Для: Medevic
    Если не найду способа получить имя текущей формы, то придётся расматривать такой вариант..
    Но это наверно будет тоже непросто..Пока даже и не представляю как это сделать..
     
  19. olegber

    olegber Гость

    <!--QuoteBegin-Medevic+21:12:2007, 14:58 -->
    <span class="vbquote">(Medevic @ 21:12:2007, 14:58 )</span><!--QuoteEBegin-->Кстати, имя формы можно явно прописать как default value (или просто value в случае computed-поля) в поле на форме.
    [snapback]90899" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Оптимальный вариант. :angry:
    Спасибо за помощь.
     
  20. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Я бы вообще сказал, что иметь поле Form на форме с default'ным значением равному имени/псевдониму формы - хороший тон программирования.
     
Загрузка...

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