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

  • Автор темы SOFTOBZOR.ru
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

SOFTOBZOR.ru

Добрый день!

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

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

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

morpheus

Вам надо создать док в другой базе, сохранить, и вывести его в диалог боксе

Создаем документ в другой базе
Код:
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)
 
S

SOFTOBZOR.ru

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

morpheus

Для: 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 и т.п.
 
S

SOFTOBZOR.ru

выхзываете метод AppendDocLink( со ссылкой на uidoc.document)

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

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

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

oshmianski

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

Код:
	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
все
 
M

morpheus

<!--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

Код:
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, "сЦылка на главный документ" )
сохраняем документ и открываем в дилог боксе(если надо)
 
S

SOFTOBZOR.ru

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Имхо, удобнее поместь UNID в поле.
А рядом кнопку сделать (картинка в виде ссылки) с небольшим кодом на скрипте.
 
S

SOFTOBZOR.ru

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

oshmianski

Не пойдет, тут Маил используется а нужено именно в БД создаваить, что бы могли смотреть определенный круг людей.
ну так яж и сказал, что бд будет твоя, т.е.
Set db = ... ' инициируешь свою бд, не почтовую. а которую тебе нужно

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

morpheus

Для: oshmianski
Согласен с Medevic, у меня тоже так зделано, недоверяю я как то этим ссылкам, с ID удобнее работать ПАТОМ будет
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--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.
 
S

SOFTOBZOR.ru

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--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]
Ну а что тут сложного?

Код:
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) 'открываем документ-замечание
 
S

SOFTOBZOR.ru

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("","Temp/base.nsf")
Set doc = db2.CreateDocument()
doc.Form = "Blanck"
doc.Link = uidoc.Document.UniversallID
Call ws.EditDocument(True, doc, False)

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

SOFTOBZOR.ru

Не понял?

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

oshmianski

Работать проще.
Потом вдруг захотим и встроенное представление добавим.
Простой поиск: GetDocumentByUIND, GetAllDocumentsByKey.
не понял. у представления тоже NotesURL есть. чем проще то?
проще писать отдельный скрипт, чем кликнуть на ссылку?

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--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]
Как будет ссылка работать на другой реплике? Т.е. к какому серверу поломится? Я сам не знаю, вот и спрашиваю. :)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!