Глобальная переменная

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

  1. NataliGinger

    NataliGinger Гость

    Здравствуйте.

    Помогите, пожалуйста, новичку.

    Как передать значение переменной, определяемой процедурой одной формы, процедуре другой формы?

    Спасибо.
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: NataliGinger
    несколько варантов

    Через
    Поля
    Environment
    Профильный документ
    через гл. переменную LS

    ОПишитика свою задачу подробнее
     
  3. NataliGinger

    NataliGinger Гость

    Дочернему документу переназначается родительский.
    Для этого я выясняю #Ref будущего родительского в момент, когда документ выбран во view по кнопочке в форме.
    Затем во view выбирается дочерний и ему переназначается родительский, используя тот самый #Ref, значение которого храниться в переменной тоже по кнопочке в форме.

    Логичнее, конечно, сделать кнопочки в самом view. Там возникает ошибка.
    Код на кнопке:

    Dim session As New NotesSession
    Dim db As NotesDatabas
    Dim doc As NotesDocument
    Set ws = New NotesUIWorkspace
    Set uidoc = ws.CurrentDocument

    Set doc = uidoc.Document
    "Object variable not set"


    Ref1= Cstr(doc.GetItemValue("$REF")(0))
    Messagebox Ref1

    В Globals Declarations view: Public Ref1 As String
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-NataliGinger+26:09:2007, 11:37 -->
    <span class="vbquote">(NataliGinger @ 26:09:2007, 11:37 )</span><!--QuoteEBegin-->Для этого я выясняю #Ref будущего родительского в момент, когда документ выбран во view по кнопочке в форме.
    [snapback]79588" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    ниче не понял так во вью или в форме?

    <!--QuoteBegin-NataliGinger+26:09:2007, 11:37 -->
    <span class="vbquote">(NataliGinger @ 26:09:2007, 11:37 )</span><!--QuoteEBegin-->Object variable not set"
    [snapback]79588" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Читать тут

    В Globals Declarations view: Public Ref1 As String - вобще никчему
     
  5. NataliGinger

    NataliGinger Гость

    Вообщем, я пробовала сначала в форме, а теперь остановилась на вью.
    Я ограничена во времени, тороплюсь, поэтому и мечусь.
    Спасибо за ссылку. Помогло.

    Теперь другая проблема.
    Когда переназначаю родителя:

    Call doc.MakeResponse(db.GetDocumentByID(Ref1))

    Ругается:

    "Parent Document is required to make a response Document"
     
  6. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: NataliGinger
    Не понятно зачем тебе поле $Ref ?
    Сразу по-нормальному через документы нельзя сделать?
     
  7. NataliGinger

    NataliGinger Гость

    Документ уже существует и у него уже есть родительский, а теперь мне нужно определить ему другой родительский.

    Подскажите, как по-нормальному, если родительский уже есть.
    Спасибо.
     
  8. IsAvailable

    IsAvailable Гость

    Видимо, ситуация такая:

    Во вьюхе человек открывает документ (ответный), потом жмёт кнопку, появляется пиклист с вьюхой, из которой выбирается документ, который должен стать новым родителем для текущего документа.

    Вроде бы при выборе из вьюхи возвращается String... Тогда можно возвращать унид документа, по нему в бд искать документ (NotesDocument) и потом уже выполнять MakeResponse.

    Думаю, как-то так...
     
  9. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: NataliGinger
    На кнопочках код какой?

    <!--QuoteBegin-IsAvailable+26:09:2007, 13:58 -->
    <span class="vbquote">(IsAvailable @ 26:09:2007, 13:58 )</span><!--QuoteEBegin-->Вроде бы при выборе из вьюхи возвращается String... Тогда можно возвращать унид документа, по нему в бд искать документ (NotesDocument) и потом уже выполнять MakeResponse.
    [snapback]79611" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Надо использовать метод notesUIWorkspace.PickListCollection. И всё будет просто.
     
  10. IsAvailable

    IsAvailable Гость

    Для: Medevic
    А, ну да, точно. Тогда без всяких унидов - сразу можно NotesDocument получить и родителем назначить.
     
  11. NataliGinger

    NataliGinger Гость

    А можно пример кода?
     
  12. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Последнее (между разными формами) невозможно.
     
  13. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Код (Text):
    Dim ws AS New NotesUIWorkspace
    Dim pdoc As NotesDocument
    Dim rdoc As NotesDocument

    Set pdoc = ws.PickListCollection(...).GetFirstDocument
    Set rdoc = ws.PickListCollection(...).GetFirstDocument

    If Not (pdoc is Nothing Or rdoc Is Nothing) Then
    Call rdoc.MakeResponse(pdoc)
    Call rdoc.Save(True, True)
    End If
     
  14. Duedev

    Duedev Гость

    <!--QuoteBegin-Constantin A Chervonenko+26:09:2007, 14:25 -->
    <span class="vbquote">(Constantin A Chervonenko @ 26:09:2007, 14:25 )</span><!--QuoteEBegin-->Последнее (между разными формами) невозможно.
    [snapback]79619" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    А если переменную объявить в библиотеке общей для этих форм? :)
     
  15. Sandr

    Sandr Гость

    ниче не будет... переменная для них будет разной... разьве что она константа...
     
  16. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Это прокатывает только для двух субформ одной формы
     
  17. Duedev

    Duedev Гость

    <!--QuoteBegin-Constantin A Chervonenko+27:09:2007, 01:47 -->
    <span class="vbquote">(Constantin A Chervonenko @ 27:09:2007, 01:47 )</span><!--QuoteEBegin-->Это прокатывает только для двух субформ одной формы
    [snapback]79696" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Объяснишь, почему это невозможно для двух отдельных форм?
     
  18. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Duedev
    я был не прав, а Константин канечно же оказался прав...
    очень просто разные формы инициализируют библиотеку каждая от себя - результат в памяти две библиотеки и двойной набор переменных хоть и глобальных
     
  19. Duedev

    Duedev Гость

    <!--QuoteBegin-Morpheus+27:09:2007, 15:20 -->
    <span class="vbquote">(Morpheus @ 27:09:2007, 15:20 )</span><!--QuoteEBegin-->очень просто разные формы инициализируют библиотеку каждая от себя - результат в памяти две библиотеки и двойной набор переменных хоть и глобальных
    [snapback]79819" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Мне вот этот момент очень интересен.... не ужели нельзя что то вроде кэша в оперативной памяти создать?
     
  20. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Duedev
    угу... а в какой памяти? лотус та .. того мультиплатформенный ... а могёт и через Web
     
Загрузка...
Похожие Темы - Глобальная переменная
  1. admin
    Ответов:
    21
    Просмотров:
    8.075
  2. IvanFuture
    Ответов:
    0
    Просмотров:
    1.163
  3. slavon-x86
    Ответов:
    10
    Просмотров:
    4.849
  4. slavon-x86
    Ответов:
    2
    Просмотров:
    2.800
  5. slavon-x86
    Ответов:
    3
    Просмотров:
    2.303

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