Можно ли открыть форму из другой базы

  • Автор темы Автор темы makaset
  • Дата начала Дата начала

makaset

Well-known member
14.03.2007
126
0
кто подскажет domino Можно ли открыть форму из другой базы
 
Для: makaset
не совсем понятно? форму или всё таки документ?
 
проблема такая есть две базы при нажатии на кнопку с первой базы должно открыватся новый документ (форма) со второй базы для заполнения далее сохраняется и закырвается
 
<!--QuoteBegin-makaset+5:06:2007, 16:25 -->
<span class="vbquote">(makaset @ 5:06:2007, 16:25 )</span><!--QuoteEBegin-->далее сохраняется и закырвается
[snapback]68196" rel="nofollow" target="_blank[/snapback]​
[/quote]
а сохраняетсья она во второй базе?
 
<!--QuoteBegin-makaset+5:06:2007, 17:25 -->
<span class="vbquote">(makaset @ 5:06:2007, 17:25 )</span><!--QuoteEBegin-->проблема такая есть две базы при нажатии на кнопку с первой базы должно открыватся новый документ (форма) со второй базы для заполнения далее сохраняется и закырвается
[snapback]68196" rel="nofollow" target="_blank[/snapback]​
[/quote]
И в чем проблема ?
 
да на второй базе, проблема в том что я код незнаю :-)
 
напиши скрипт под кнопкой который создает документ по форме из известной базы потом сделай его uidoc. при сохранении она станет на свое место.
а если не хочешь писать код, то внедри любое представление(лучше показывающий документы по нужной форме) второй базы на форму или страницу первой базы. и на том представлении должен быть действие(акшн) создающий документ по нужной форме типа комманд(компосе;форма)
 
Для: alb
Если Вы имеете в виду вложенные виды из другой базы - это маветон. НЕКОГДА не используйте вложенные виды из друго базы, бо проблем будет по самое нехочу.
а код довольно таки прост

Пример конекта к другой базе откуда угодно
Код:
 Dim db As NotesDatabase
Set db = New NotesDatabase( "Barcelona", "plan.nsf" )

Вот пример сохздания документа в обьявленной ранее базе
Код:
Set doc = db.CreateDocument
doc.Subject = "New building"
Call doc.Save( True, True )
Оговорюсь, что зедсь своит вставить строку типа doc.Form = "ИМЯ_НУЖНОЙ_МНЕ_ФОРМЫ" и получаем
Код:
Set doc = db.CreateDocument
doc.Form = "ИМЯ_НУЖНОЙ_МНЕ_ФОРМЫ"
...
Call doc.Save( True, True )

всё документ создан и сохранён, если хотете, можете открыть его на редактирование
 
<!--QuoteBegin-Morpheus+6:06:2007, 09:59 -->
<span class="vbquote">(Morpheus @ 6:06:2007, 09:59 )</span><!--QuoteEBegin-->Если Вы имеете в виду вложенные виды из другой базы - это маветон. НЕКОГДА не используйте вложенные виды из друго базы, бо проблем будет по самое нехочу.
[snapback]68266" rel="nofollow" target="_blank[/snapback]​
[/quote]
Здесь можно схитрить. Создать в другой базе форму со встроенным представлением. И открывать эту форму через DialogBox из любой базы. Всё прекрасно работает.
 
спосибо! мне надо откырть форму для заполнения, т.е некоторые даныые заполняются вручную.
 
<!--QuoteBegin-makaset+6:06:2007, 09:32 -->
<span class="vbquote">(makaset @ 6:06:2007, 09:32 )</span><!--QuoteEBegin-->спосибо! мне надо откырть форму для заполнения, т.е некоторые даныые заполняются вручную.
[snapback]68281" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ну тогда после изложеного мною выше в посте №8 добавить ещё и метод EditDocument от NotesUIWorkspace (надо будет просто вставить переменную doc и всё)

Syntax
Set notesUIDocument = notesUIWorkspace.EditDocument( [editMode] , [notesDocument] , [notesDocumentReadOnly] , [documentAnchor$] , [returnNotesUIDocument] , [newInstance] )

Будет чтото вроде
Код:
  ws As New NotesUIWorkspace
...
Call ws.EditDocument(True, doc)
...
 
можно ли писать примерно так
из 1 базы на кнопку

Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument
Set db = session.GetDatabase("","2.база")
Set doc = db.CreateDocument
doc.Form = "имя формы на 2 ом базе"
далее как откырть "имя формы на 2 ом базе" для заполнения
 
Код:
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument
Set db = session.GetDatabase("","2.база")
Set doc = db.CreateDocument
doc.Form = "имя формы во 2й базе"

добавте - Call ws.EditDocument(True, doc)
 
ура!!!! большое спосибо.
но только открываетвторую документ. но актывным остается документ который нажимаю на кнопку.мне надо чтобы активным стал 2 ой документ
 
Для: makaset
<!--QuoteBegin-makaset+6:06:2007, 09:56 -->
<span class="vbquote">(makaset @ 6:06:2007, 09:56 )</span><!--QuoteEBegin-->мне надо чтобы активным стал 2 ой документ
[snapback]68290" rel="nofollow" target="_blank[/snapback]​
[/quote]
С другой стороны, намутили мы тут воду , а надо было юзать ComposeDocument



This form action script copies the contents of the Topic field of the current document to the Clipboard. It composes a new Memo document in HERE.NSF on server Rio (changing the value of the uidoc object), and pastes the contents of the Clipboard into the Subject field of the new document.

Код:
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
...
Set uidoc = workspace.ComposeDocument _
( "Ваш_сервер", "Ваша _база.nsf", "Имя_Формы" )
...
End Sub
 
Если Вы имеете в виду вложенные виды из другой базы - это маветон. НЕКОГДА не используйте вложенные виды из друго базы, бо проблем будет по самое нехочу.
а код довольно таки прост
согласен, это был просто один из простых вариантов.
но если достоверно извесно что вторая база всегда будет в том же каталоге где и первая, можно сделать внедренное представление вычисляемым, и никаких проблем. конечно если таковое потребутся, так сказать на всякий случай.
 
<!--QuoteBegin-alb+7:06:2007, 07:24 -->
<span class="vbquote">(alb @ 7:06:2007, 07:24 )</span><!--QuoteEBegin-->но если достоверно извесно что вторая база всегда будет в том же каталоге где и первая, можно сделать внедренное представление вычисляемым, и никаких проблем.
[snapback]68408" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ключевое слово ЕСЛИ
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab