Хитрая кнопочка!

Тема в разделе "Lotus - Программирование", создана пользователем SOFTOBZOR.ru, 22 дек 2006.

Статус темы:
Закрыта.
  1. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Добрый день!

    Подскажите пожалуйста как бы такое реализовать.

    Есть 2 базы
    В первой есть кнопочка [ZHALOBA] при нажатие на эту кнопочку во второй БД должна открыться форма для создания нового документа. При этому в этом документе есть поле [LINK] в которое хотелось бы всунуть ссылку на документ из которого мы сюда пришли.

    Буду очень признателен за помощь.
     
  2. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Вам надо создать док в другой базе, сохранить, и вывести его в диалог боксе

    Создаем документ в другой базе
    Код (Text):
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Set db = New NotesDatabase( "Barcelona", "plan.nsf" )
    Set doc = db.CreateDocument
    doc.Subject = "New building"
    Call doc.Save( True, True )
    Добавляем ссылку на документ
    ну а дальше с этим doc и ричтекст полем rtitem выхзываете метод AppendDocLink( со ссылкой на uidoc.document)
     
  3. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

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

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: SOFTOBZOR.ru
    <!--QuoteBegin-SOFTOBZOR.ru+22:12:2006, 15:07 -->
    <span class="vbquote">(SOFTOBZOR.ru @ 22:12:2006, 15:07 )</span><!--QuoteEBegin-->нужно чтобы в поле подставился линк на документ от куда мы пришли.
    [snapback]51509" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Конкретнее... распишите как для дурака чтоото вроде документ1 есть жалоба на документ2 и т.п.
     
  5. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Одни вопросы ..... можете подсказать как это разжевать?

    Конкреетне так и есть.

    Есть докуметы в безе на которые иногда нужно писать замечания, замечания записываются в др. бд.
    При этом в документе замечаний необходимо поместить линк на документ по которому поступило замечание, ну и руками вбить ряд полей. То есть, мне важно во вторую БД как то заколбасить линк на док из первой.
     
  6. oshmianski

    oshmianski Гость

    Для: SOFTOBZOR.ru
    можно так сделать

    Код (Text):
        Dim uiws As New NotesUIWorkspace
    Dim session As New NotesSession
    Dim mailDb As NotesDatabase
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Dim serverAndDbPath As Variant

    Set uidoc = uiws.CurrentDocument

    serverAndDbPath = Evaluate({@mailDbName})

    Set mailDb = New NotesDatabase(serverAndDBPath(0), serverAndDBPath(1))
    Set doc = mailDB.CreateDocument
    doc.Form = "test"

    Call doc.ReplaceItemValue("Link", uidoc.Document.NotesURL)
    uiws.EditDocument True, doc
    1. база конечно у тебя будет другая
    2. на форме Test (у тебя своя) поле Link (просто текстовое) делаешь невидимым и вычисляемым. под ним пишешь текст:
    <a href="<Computed Value>">Ссылка</a>
    делаешь его path-Thru HTML, и в <Computed Value> прописываешь Link
    все
     
  7. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-SOFTOBZOR.ru+22:12:2006, 15:23 -->
    <span class="vbquote">(SOFTOBZOR.ru @ 22:12:2006, 15:23 )</span><!--QuoteEBegin-->о есть, мне важно во вторую БД как то заколбасить линк на док из первой.
    [snapback]51514" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Ну так я ж и написал в новом документе(жалоба = newDoc ) к полю Ричтекст применить AppendDocLink

    Код (Text):
    Dim session As New NotesSession
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim db As NotesDatabase
    Dim newDoc As NotesDocument
    Dim rtitem As NotesRichTextItem
    Set db = New NotesDatabase( "Barcelona", "plan.nsf" )
    Set newDoc = New NotesDocument( db )
    Set rtitem = New NotesRichTextItem( newDoc, "Body" )
    Call rtitem.AppendDocLink( uidoc.Document, "сЦылка на главный документ" )
    сохраняем документ и открываем в дилог боксе(если надо)
     
  8. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Не пойдет, тут Маил используется а нужено именно в БД создаваить, что бы могли смотреть определенный круг людей.
     
  9. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Имхо, удобнее поместь UNID в поле.
    А рядом кнопку сделать (картинка в виде ссылки) с небольшим кодом на скрипте.
     
  10. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Вколбасил теперь пишить BD.nfs - has not been opened yet естественно в коде поменя на свое.
     
  11. oshmianski

    oshmianski Гость

    ну так яж и сказал, что бд будет твоя, т.е.
    Set db = ... ' инициируешь свою бд, не почтовую. а которую тебе нужно

    Для: Medevic
    а для чего лишняя кнопка и лишний скрипт?
     
  12. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: oshmianski
    Согласен с Medevic, у меня тоже так зделано, недоверяю я как то этим ссылкам, с ID удобнее работать ПАТОМ будет
     
  13. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-oshmianski+22:12:2006, 16:48 -->
    <span class="vbquote">(oshmianski @ 22:12:2006, 16:48 )</span><!--QuoteEBegin-->а для чего лишняя кнопка и лишний скрипт?
    [snapback]51520" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Работать проще.
    Потом вдруг захотим и встроенное представление добавим.
    Простой поиск: GetDocumentByUIND, GetAllDocumentsByKey.
     
  14. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Ну и кто заделится кодиком, для размышления на выходных :)
     
  15. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-oshmianski+22:12:2006, 16:48 -->
    <span class="vbquote">(oshmianski @ 22:12:2006, 16:48 )</span><!--QuoteEBegin-->а для чего лишняя кнопка и лишний скрипт?
    [snapback]51520" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    А кнопка и скрипт для открытия документа в другой БД. :)

    <!--QuoteBegin-SOFTOBZOR.ru+22:12:2006, 16:23 -->
    <span class="vbquote">(SOFTOBZOR.ru @ 22:12:2006, 16:23 )</span><!--QuoteEBegin-->Есть докуметы в безе на которые иногда нужно писать замечания, замечания записываются в др. бд.
    При этом в документе замечаний необходимо поместить линк на документ по которому поступило замечание, ну и руками вбить ряд полей. То есть, мне важно во вторую БД как то заколбасить линк на док из первой.
    [snapback]51514" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Ну а что тут сложного?

    Код (Text):
    Dim session As New NotesSession
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Dim db2 AS NotesDatabase

    Set uidoc = ws.CurrentDocument
    Set db2 = New NotesDatabase(путь к базе) 'получаем базу с замечаниями
    Set doc = db2.CreateDocument() 'создаем документ-замечание
    doc.Form = ...
    doc.Link = uidoc.Document.UniversallID 'пишем в документ-замечание UNID текущего документа
    Call ws.EditDocument(True, doc, False) 'открываем документ-замечание
     
  16. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Результат "Database Temp/base.nsf - has not been opened yet"
     
  17. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: SOFTOBZOR.ru
    Ну так Open её... :)
     
  18. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Не понял?

    Call db2.Open ...???
    Не помогает :)
     
  19. oshmianski

    oshmianski Гость

    не понял. у представления тоже NotesURL есть. чем проще то?
    проще писать отдельный скрипт, чем кликнуть на ссылку?

    Для: SOFTOBZOR.ru
    база у тебя на сервере лежит или локально?
     
  20. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-oshmianski+22:12:2006, 17:45 -->
    <span class="vbquote">(oshmianski @ 22:12:2006, 17:45 )</span><!--QuoteEBegin-->не понял. у представления тоже NotesURL есть. чем проще то?
    проще писать отдельный скрипт, чем кликнуть на ссылку?
    [snapback]51532" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Как будет ссылка работать на другой реплике? Т.е. к какому серверу поломится? Я сам не знаю, вот и спрашиваю. :)
     
Загрузка...
Похожие Темы - Хитрая кнопочка
  1. dmalsh
    Ответов:
    1
    Просмотров:
    1.005
Статус темы:
Закрыта.

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