powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Domino Designer. Как связать два документа?
54 сообщений из 54, показаны все 3 страниц
Domino Designer. Как связать два документа?
    #35052118
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Подскажите плиз!
Имеется база с данными. Нужно создать каждому документу еще один документ или подформу для заполнения дополнителных данных. Чтоб находясь в одном переходить на другой документ и наоборот.
Как это сделать? Если есть киньте пример!
Domino Designer (R 6.5)

Заранее спасиб!
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35053401
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
См. notesUIWorkspace.DialogBox или @DialogBox
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35055634
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
обясните поподробнее?
что мне это диалоговое окно дает и как оно работает?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35056095
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FMannyобясните поподробнее?
что мне это диалоговое окно дает и как оно работает?

Простейший пример можно увидеть в локальной адресной книге (Personal Address Book), когда при вводе или редактировании контакта там где Имя, Фамилия и пр. есть кнопочка "email", позволяющая задать тип электронной почты и отображения имени контакта - это пример очень простого диалогового окна для ввода дополнительных данных. Или вам что-то другое надо? Может быть вы о Response документах?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35058689
1211212
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GarrickСм. notesUIWorkspace.DialogBox или @DialogBox
Это будет модальное окно!?

notesUIWorkspace.EditDocument
notesUIWorkspace.ComposeDocument
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35058773
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GarrickМожет быть вы о Response документах?
вот здесь пж поподробнее?
как их связать если один документ уже существует?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35059098
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny GarrickМожет быть вы о Response документах?
вот здесь пж поподробнее?
как их связать если один документ уже существует?

В Lotus Notes существует такое понятие, как Response или "ответные" документы, т.е. как бы "подчинённые" документы. Например, посмотрите ответы на сообщения в базе "Обсуждения..." (Discussion). Они имеют связь с основным документом (сообщением) и, при необходимости, могут отображаться во взглядах в иерархическом виде.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35059567
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо! посмотрю!
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35068139
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
люди подскажите вопрос!
чето не могу связать документ и ответ на документ?
как сделать переход с одного на другой?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35068311
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "связать", что значит "переход"? Объясни чего сделать-то хочешь.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35068403
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
меня интересует как создать ответ на документ?
как они (документ и ответ на документ) связываются?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35069239
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно как-то вы вопросы задаёте, уважаемый. Спрашиваете так, бут-то бы вас интересует как это оно устроено там глубоко в недрах Лотуса. Но я думаю, вас больше интересует как реализовать какую-то задумку в интерфейсе пользователя. А что конкретно хотите "не говорите". Ну, тогда читайте сами Creating a response hierarchy
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35070278
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за ссылку!
как я здесь понял чтоб создать ответ на документ надо создать поле и сделать ссылку на него?
но создавать поле где надо в родительском или в дочке или отдельное общее поле?
какок значение туда надо загружать?
блин чето вообще не могу понять как создавать ответный документ?
объясните пж нормальным языком?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35070485
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny
блин чето вообще не могу понять как создавать ответный документ?
объясните пж нормальным языком?

Вы опять чего-то темните.
Вы точно уверены, что для реализации задуманного вам нужен именно ответный документ?

Если вы создаёте ответный документ с помощью скрипта, то есть такая функция MakeResponse, если с помощью @Commnad([Compose]; "Form"), то форма "Form" должна иметь соответствующий тип Response (Ответ) или ResponseToResponse (Ответ на ответ). В ссылке, которую я указал выше всё это написано, это, кстати, Domino Designer Help.

Ну, вот, теперь вы знаете как создать ответный документ. И что вы с этим будете делать дальше?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35070556
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ах, да! Забыл ещё, вы ж хотели про поле...
Если вы хотите в ответный документ поместить линк на главный - такой желтенький квадратик, стандартный лотусовый линк на документ, то это делается с помощью @Command([ComposeWithReference]; server : database ; "Form"; flag). В данном случае форма "Форм" должна иметь RTF поле "Body", куда автоматически будет помещён линк на главный документ. Посмотрите Help, там ещё есть различные параметры у этой функции (flag).
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35070754
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чувствую меня не в ту степь погнало!
я новичек в LN! но создавал скромные формы и представления
глубоко в нее не заходил!


постараюсь объяснить еще раз:

имеется документ с данными
надо ввести в форму дополнительные данные по каждому документу или создать еще один документ и связать (не имею понятия как связать) .

как ранее вы посоветовали мне просмотреть базу "Обсуждение"
там используются ответы на документ и я подумал может это мне нужно[src][/SRC]
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35071014
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny
имеется документ с данными
надо ввести в форму дополнительные данные по каждому документу или создать еще один документ и связать (не имею понятия как связать) .


Ну, что-то проясняется... :-))
Теперь всё зависит от выработки правильной стратегии. Тут надо определиться что за "дополнительные данные". Если к примеру основные данные это ФИО клиента, а дополнительные данные - его адрес и мы заранее знаем что это только один или два (ограниченное число) адресов, то лучше всего разместить эту информацию непосредственно в основном документе, т.е. добавить в форму этого документа недостающие поля. Если же это, например, счета клиента в банке. Мы заранее не знаем сколько может быть этих счетов (1 или 20). И кроме просто номеров счетов там ещё много другой информации - названия банков, адреса, пароли, явки :)), а то можно же просто использовать MultiValue поле. То эти данные лучше хранить в подчинённых документах. Для ввода подчинённого документа делаем специальную форму. И заполняем её как самостоятельный документ или через диалоговое окно - зависит от концепции вашего интерфейса пользователя. Когда нам понадобится найти эти документы для какой-либо обработки, то мы воспользуемся функцией Documet.Responses. Она возвращает NotesDocumentsCollection ответных документов. Можно даже, при желании, на форме основного документа сделать EmbededView, который будет показывать эти подчинённые документы (это отдельная небольшая тема - в хелпе есть описания). На, самом деле, технически, внутри Лотуса, каждый подчинённый документ имеет специальное поле $REF в котором хранится UniversalID родительского документа - вот и вся связь. В принципе, вы можете и сами сделать какое-то поле с уникальным ключом и связать с его помощью любые документы как записи реляционной базы. Но различная последующая обработка этих документов потребует написания собственных специальных процедур поиска этих документов по вашему ключу.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35071362
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот теперь проясняется
спасибо инфо

$Ref как его использовать?
опишите подробнее?
а как он будет определять с каким именно документом он связан?
ведь в базе могут быть несколько родительских документов и несколько дочек
например как вы привели в примере счета банков и наименование его и т.п.
ведь если просто создать документ и поменять его тип на ответ на документ, то он же сразу не будет связан с родительским документом?
вот меня интересует именно как все это происходит?
и $Ref тоже он (дочерний документ) откуда то берет уникалный код родителя?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35071504
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny
$Ref как его использовать?
опишите подробнее?


Вам пока не надо его использовать. Это информация для общего развития. Потом когда-нибудь пригодится.

FManny
а как он будет определять с каким именно документом он связан?
ведь в базе могут быть несколько родительских документов и несколько дочек


Дочерний документ может иметь только один родительский. Связь только один-ко-многим. Связь многие-ко-многим в Lotus Notes не реализуется.

FManny
например как вы привели в примере счета банков и наименование его и т.п.
ведь если просто создать документ и поменять его тип на ответ на документ, то он же сразу не будет связан с родительским документом?
вот меня интересует именно как все это происходит?
и $Ref тоже он (дочерний документ) откуда то берет уникалный код родителя?

Каждый документ Lotus Notes имеет уникальный код UNID. Когда вы вызываете скриптовую функцию MakeResponse, то в дочерний документ в поле $REF записывается UNID родительского документа. Тоже самое происходит при вызове формулы @Command([Compose]) когда она выполняется в открытом родительском документе или во взгляде с выделенным родительским документом, а форма нового создаваемого документа имеет тип Response .
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35071652
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот теперь точно все понятно кроме Ref
а при обратном
например находясь в дочернем как можно перейти на родительский вы надо?
этот пример связан когда создаешь отдельное представление для дочернего документа и через него (типа как ссылка) переходишь на родитель

и еще вопрос на счет гиперобъектов. какое отношение они имеют к связам? или они просто ссылки?

заранее спасибо за инфо!
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35071844
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FMannyвот теперь точно все понятно кроме Ref
Я же, "сказал" $REF пока не надо... Оно просто содержит UNID родительского документа, знайте это на всякий случай - когда нибудь пргодится.

FManny
а при обратном
например находясь в дочернем как можно перейти на родительский вы надо?

Получить родительский документ на LotusScript можно с помощью функции NotesDatabase.GetDocumentByUNID(notesDocument.ParentDocumentUNID)


FManny
этот пример связан когда создаешь отдельное представление для дочернего документа и через него (типа как ссылка) переходишь на родитель

В событии представления QueryOpenDocument или какой-то кнопке для получения родительского документа используйте функцию описанную выше.

FManny
и еще вопрос на счет гиперобъектов. какое отношение они имеют к связам? или они просто ссылки?
заранее спасибо за инфо!

Это как линки в HTML.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35075314
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо!
я вот сделал как вы тут описали
например
юзаю кнопку (в родителе) для открытия ответа на документ
открывается форма (дочка) ввожу данные сохраняю и закрываю, но данные не сохраняется, почему?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35075533
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny
открывается форма (дочка) ввожу данные сохраняю и закрываю, но данные не сохраняется, почему?

Ну, батенька, я ж не телепат. Кто его знает чего и как вы там наколбасили, но ошибки у вас точно есть.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35075609
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
создал в документе действие с кодом
@Command([Compose];"";"response")

создал еще одну форму и дал названия "response" и тип ответ
в этой форме поставил две поля и стандартные действия и все

нажимаю кнопку в главном открывается дочка ввожу данные и нажимаю сохранить и закрыть, закрывает!
потом для проверки дочки создал представление но там пусто!

может че забыл поясните пж? или в настройках надо шариться?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35076172
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте представление с формулой SELECT Form = "response". Галочку в свойствах представления "Отображать ответные документы в виде иерархии" (Show response document in a hierarchy) надо снять. Посмотрите есть ли в нём документы?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35077517
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GarrickСоздайте представление с формулой SELECT Form = "response". Галочку в свойствах представления "Отображать ответные документы в виде иерархии" (Show response document in a hierarchy) надо снять. Посмотрите есть ли в нём документы?

да блин я так делал, но вот галочку не убирал
данные есть и линк (желтый квадратик) на родитель работает

тока вот почему они (ответы) в представление All не видны?
и какая функция проверяет на наличие ответа на документ и если ответ существует то открывать его, а если нет то создать новый?
думал примерно так:
@If(@Responses=0; @Command([Compose];"";"response"); "" )
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35078035
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny
тока вот почему они (ответы) в представление All не видны?

Надо правильно его "готовить". Посмотрите в той же базе "Дискуссии", там для ответных документов в представлении есть специальный столбец.

FManny
и какая функция проверяет на наличие ответа на документ и если ответ существует то открывать его, а если нет то создать новый?
думал примерно так:
@If(@Responses=0; @Command([Compose];"";"response"); "" )

В хелпе к каждой формуле и функции есть примечание когда, где и как это работает. Так вот, там сказано что @Responses работает только в представлении, где эти responses документы представлены. Подозреваю, что в форме документа эта функция не работает. Всегда получить коллекцию ответных документов можно с помощью LotusScript функции NotesDocument.Responses, я уже "говорил" про это ранее.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35078135
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как в найденной коллекции определить именно тот ли ответ на документ?
ведь может же быть такое что один документ имеет несколько ответов?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35078497
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FMannyа как в найденной коллекции определить именно тот ли ответ на документ?
ведь может же быть такое что один документ имеет несколько ответов?

А как вы их различаете визуально? Есть же у них какие-то различия? Так же и программно - по значениям каких-то полей, имени формы и пр.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35081377
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Garrick

вот примерно так?

Sub Click(Source As Button)
Dim doc As NotesDocument
Dim collection As NotesDocumentCollection
Dim currentResponse As NotesDocument
Dim workspace As NotesUIWorkspace
Dim docRes As NotesDocument
Set collection = doc.Responses
docRes.form = "response"
If collection.Count = 0 Then
Set currentResponse = collection.GetFirstDocument
While Not ( currentResponse Is Nothing )
Call workspace.DialogBox (currentResponse, True,True,False,False,False,False)
Set currentResponse = collection.GetNextDocument _
( currentResponse )
Wend
Else
Call docRes.MakeResponse(doc)
End If
End Sub

кажись dialogbox не в теме там стоит?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35081472
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny
вот примерно так?


Извините, но здесь какая-то фигня понаписана. Этот код ничего делать недолжен.Чего вы хотели из сделать-то? На словах объясните.

P.S. А вы вообще какую-нибудь книжку по программированию Domino читали? Или ред-бук какой-нибудь?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35081580
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все тоже самое
открыть из родича дочку если имеется, если нет то создать новую дочку
ну я же говорил что тока учусь создавать документы с ответом

Set collection = doc.Responses
найдет ли он ответы документа?
если да то как их открыть (вот проблема в этом)?

книги есть но они некчемные
самое главное куда копать не знаешь
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35081993
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FMannyвсе тоже самое
открыть из родича дочку если имеется, если нет то создать новую дочку
ну я же говорил что тока учусь создавать документы с ответом

Set collection = doc.Responses
найдет ли он ответы документа?
если да то как их открыть (вот проблема в этом)?

книги есть но они некчемные
самое главное куда копать не знаешь

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Dim session as New NotesSession
Dim ws as New NotesUIWorkspace
Dim db as NotesDatabase 'текущая база
Dim doc as NotesDocument 'текущий родительский документ
Dim col as NotesDocumentCollection 'коллекция дочерних документов
Dim res as NotesDocument 'дочерний документ
Dim found_doc as NotesDocument 'искомый дочерний документ

set database = session.CurrentDatabase
set col = doc.Responses 'получаем коллекцию дочерних документов
If col.Count >  0  then 'коллекция не пустая
   set res = col.GetFirstDocument 'первый документ коллекции
   Do While not res is Nothing 'цикл по всем документам коллекции
      if .... then ' что-то там проверяете, а тот ли это документ
          Set found_doc = res ' если всё совпадает и документ найден
          Exit Do 'выходм из цикла, т.к. документ уже найден 
      end if
    Loop
End If   

If found_doc is Nothing Then 'дочерний документ не был найден
    Set found_doc = New NotesDocument(db) 'создаём новый документ
End If

found_doc.Form = "ИМЯ ФОРМЫ ДОЧЕРНЕГО ДОКУМЕНТА"
'Здесь можно заполнить ещё какие-то поля значениями по умолчанию
found_doc.MakeResponse(doc) 'делаем его дочерним
Call ws.EditDocument(found_doc, True) 'открываем на редактирование

Да, и если хотите в дочернем документе иметь ссылку на родительский в виде жёлтого квадратика, то вам её следует добавить самостоятельно. См. в хелпе метод AppendDocLink у класса NotesRichTextItem, там есть примеры. Да и матчасть всё же поучить следует, без этого ничего путного не получится. Книжку себе купите или вот эту почитайте Domino Designer 6: A Developer's Handbook
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35084645
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Sub Click(Source As Button)
	Dim session As New NotesSession
	Dim ws As New NotesUIWorkspace
	Dim db As NotesDatabase
	Dim doc As NotesUIDocument 
	Dim col As NotesDocumentCollection 
	Dim res As NotesUIDocument 
	Dim found_doc As NotesUIDocument 
	Dim undoc As NotesItem 
	Dim unres As NotesItem 
	Set doc = ws.CurrentDocument
	Set db = session.CurrentDatabase
	Set col = doc.Responses 
	Set undoc = doc.GetItemValue (main_id)
	If col.Count >  0  Then 
		Set res = col.GetFirstDocument 
		Do While Not res Is Nothing 
			If res.IsResponse Then
				unres=	res.GetItemValue (par_id)
				
				If undoc.Text  = unres.Text  Then 
					Set found_doc = res 
					Call ws.EditDocument(found_doc, False,False)
					Exit Sub 
				Else
					Set res = col.GetNextDocument 
				End If
			End If
		Loop
	End If   
	
	If found_doc Is Nothing Then 
		Set found_doc = New NotesDocument(db) 
	End If
	
	found_doc.Form = "response"
	found_doc.MakeResponse(doc)
	Call ws.EditDocument(found_doc, True) 
	
End Sub

выводит ошибку Not a member: RESPONSES
как быть?

ответ на документ существует
открываю с дочки
Код: plaintext
@If(@IsNewDoc; @Unavailable; $Ref)
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35085029
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, да не
Код: plaintext
Dim doc As NotesUIDocument
надо, а
Код: plaintext
Dim doc As NotesDocument
Если в лотусовом редакторе набирать - он сам подскажет как правильно. И ещё надо добавить
Код: plaintext
Set doc = ws.CurrentDocument.Document
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35085092
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
теперь пишет
object variable not set

а так там без ошибок сохранил!
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35085784
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FMannyтеперь пишет
object variable not set

а так там без ошибок сохранил!

В вашем коде
Код: plaintext
1.
Dim undoc As NotesItem 
Dim unres As NotesItem 
c
Код: plaintext
Set undoc = doc.GetItemValue (main_id)
и
Код: plaintext
unres=	res.GetItemValue (par_id)
никак не сочетается - это невозможно. Читайте учебник! Как получить значение поля. GetItemValue возвращает не NotesItem, а массив значений поля. Объявляйте undoc и unres как String и считывайте их как doc.GetItemValue("ИМЯ ПОЛЯ")(0)

Это явно лишнее
Код: plaintext
If res.IsResponse Then
мы же уже получили коллекцию только дочерних документов, зачем каждый документ отдельно проверять ещё раз?

И вот это в цикле
Код: plaintext
1.
2.
3.
Call ws.EditDocument(found_doc, False,False)
					Exit Sub 
				Else
замените на
Код: plaintext
Exit Do
код, выполняющий это есть ниже.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35086624
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот все изменил сохраняет без ошибок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Sub Click(Source As Button)
	Dim session As New NotesSession
	Dim ws As NotesUIWorkspace
	Dim db As NotesDatabase
	Dim doc As NotesDocument 
	Dim col As NotesDocumentCollection 
	Dim res As NotesDocument 
	Dim found_doc As NotesDocument 
	Dim undoc As NotesItem   
	Dim unres As  NotesItem 
	Set doc = ws.CurrentDocument.Document
	Set db = session.CurrentDatabase
	Set col = doc.Responses 
	Set undoc = doc.GetFirstItem ("main_id")
	If col.Count >  0  Then 
		Set res = col.GetFirstDocument 
		Do While Not res Is Nothing 
			Set unres=res.GetFirstItem ("par_id")
			If undoc.Text = unres.Text  Then 
				Set found_doc = res 
				Call ws.EditDocument(found_doc, False,False)
				Exit Do 
			Else
				Set res = col.GetNextDocument(res) 
			End If
		Loop
	End If   
	
	If found_doc Is Nothing Then 
		Set found_doc = New NotesDocument(db) 
	End If
	
	found_doc.Form = "response"
	Call 	found_doc.MakeResponse(doc)
	Call ws.EditDocument(found_doc, True) 
	
End Sub

когда запускаю с родака опять пишет
object variable not set

и когда открываю через дочку
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub Click(Source As Button)
	Dim s As New NotesSession 
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Set db = s.CurrentDatabase
	If doc.IsResponse Then
		Call  db.GetDocumentByUNID(doc.ParentDocumentUNID)
	End If
End Sub

тоже самое пишет

а через желтый квадратик
Код: plaintext
@If(@IsNewDoc; @Unavailable; $Ref)
открывает

блин скажите почему не работает?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35086886
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оно же говорит object variable not set . Это значит не инициализирована объектная переменная. Объект не создан до обращения к его методам или свойствам. Если бы вы прошли свой код в отладчике, то он вам даже показал бы в какой строке кода это происходит. Скорее всего, это Set doc = ws.CurrentDocument.Document . Потому, что ws объявлен Dim ws As NotesUIWorkspace , но не создан. Раньше в моих примерах, да и в вашем же коде было правильно Dim ws As New NotesUIWorkspace.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35087064
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GarrickОно же говорит object variable not set . Это значит не инициализирована объектная переменная. Объект не создан до обращения к его методам или свойствам. Если бы вы прошли свой код в отладчике, то он вам даже показал бы в какой строке кода это происходит. Скорее всего, это Set doc = ws.CurrentDocument.Document . Потому, что ws объявлен Dim ws As NotesUIWorkspace , но не создан. Раньше в моих примерах, да и в вашем же коде было правильно Dim ws As New NotesUIWorkspace.
все равно не работает
выдает ту же ошибку

но когда сохраняешь форму он не выдает ошибку!
а почему не работает скрипт выложенный выше которая открывает родителя с дочки???
а другой код который ниже работает но почему то неправильно, выдает не тот родитель???
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35087832
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
теперь вот еще
хотел создать ответ так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub Click(Source As Button)
	Dim session As New NotesSession
	Dim ws As New NotesUIWorkspace 	
	Dim db As NotesDatabase
	Dim docA As NotesDocument
	Dim docB As NotesDocument 
	Set db = session.CurrentDatabase
	docA.form  = "Document" 	
	Set docB = New NotesDocument(db) 
	Call docB.MakeResponse( docA )
	docB.Form = "Response"
	Call ws.EditDocument (True, docB)
End Sub

все ту же ошибку пишет
может где какой класс неправильный?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35088075
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запусти свой код в дебагере - сразу увидишь.
Как дебагер включить-то знаешь?
Меню "Файл"-"Сервис"-"Отладчик LotusScript"
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35091421
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот спасибо за советы!
разобрался!
и вправду не знал что здесь есть дебаггер! :))

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

заранее спасибо!
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35091660
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще момент
создаю ответ на док с MakeResponse поля не наследуются
чтоб приписать в поля дочки пишу следующее

Код: plaintext
1.
2.
3.
4.
fmain = uidoc.FieldGetText( "main_id" )
found_doc.Form = "response"
Call found_doc.MakeResponse(doc)
Call ws.EditDocument(True,found_doc) 
Call found_doc.FieldSetText ( "f2", Cstr( fmain))

тута:
fmain - стрин
found_doc - NotesDocument
f2 - поле в дочке
main_id - поле в родителе
uidoc - NotesUIDocument

но дебаггер выдает ошибку на последней строчке FieldSetText
"Illegal use of PROPERTY"
я думаю он требует чтоб found_doc был NotesUIDocument (или что-то другое)?
когда делаю через команд композ все ок!
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35091818
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny
еще один момент
как перейти на родителя с дочки если он открыть?
точнее как проверить открыть ли он если да то перейти если нет открыть его?
а то получается столько не нужный окон открывается
заранее спасибо!

У NotesUIWorkspcae.EditDocument есть параметры, см. хелп.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35091843
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny
но дебаггер выдает ошибку на последней строчке FieldSetText
"Illegal use of PROPERTY"


У NotesUIDocument нет метода FieldSetText, используй ReplaceItemValue. В редакторе же после точки отображаются доступные варианты, не надо ничего туда от себя дописывать - работать всё равно не будет. При создании документов через Lotus Script содержимое полей не наследуется, нужно все поля заполнять скриптом.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35093407
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GarrickУ NotesUIDocument нет метода FieldSetText

а хелп говорит что есть
Syntax
Call notesUIDocument.FieldSetText( fieldName$, textValue$ )
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35093438
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за советы!

GarrickУ NotesUIWorkspcae.EditDocument есть параметры, см. хелп.

но с дочки открываю через
Код: plaintext
@If(@IsNewDoc; @Unavailable; $Ref)

пытался открыть с дочки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub Click(Source As Button)
Dim s As New NotesSession 
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Set doc = ws.CurrentDocument.Document 
Call  db.GetDocumentByUNID(doc.ParentDocumentUNID)
End Sub
дебаггер ошибки не дает но форма не открывается

есть ли какая либо формула (собачки) которая проверяет открыть ли родитель если да то переходит если нет то открывает?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35093532
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GarrickУ NotesUIWorkspcae.EditDocument есть параметры, см. хелп.

он не подходит потому что у клиента 5-ый релиз стоит а он вышел тка в 6-ом релизе

есть еще какие либо функции или т.п.?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35093535
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Garrick FManny
но дебаггер выдает ошибку на последней строчке FieldSetText
"Illegal use of PROPERTY"


У NotesUIDocument нет метода FieldSetText, используй ReplaceItemValue. В редакторе же после точки отображаются доступные варианты, не надо ничего туда от себя дописывать - работать всё равно не будет. При создании документов через Lotus Script содержимое полей не наследуется, нужно все поля заполнять скриптом.
с этим уже разобрался!
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35093786
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick FManny
еще один момент
как перейти на родителя с дочки если он открыть?
точнее как проверить открыть ли он если да то перейти если нет открыть его?
а то получается столько не нужный окон открывается
заранее спасибо!

У NotesUIWorkspcae.EditDocument есть параметры, см. хелп.

Ну, да, конечно, я имел ввиду как раз NotesDocument, а не NotesUIDocument. Ведь found_doc у вас NotesDocument, следовательно, к нему неприменимо FieldSetText. Очепятался.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35093802
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny

пытался открыть с дочки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub Click(Source As Button)
Dim s As New NotesSession 
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Set doc = ws.CurrentDocument.Document 
Call  db.GetDocumentByUNID(doc.ParentDocumentUNID)
End Sub
дебаггер ошибки не дает но форма не открывается


А чего бы это ему открываться? Где тут NotesUIWorkspace.EditDocument?
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35093850
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FManny
есть ли какая либо формула (собачки) которая проверяет открыть ли родитель если да то переходит если нет то открывает?

Я не знаю как там у вас пользовательский интерфейс задуман, но может быть, в таком случае, вам лучше открывать дочерние документы в диалоговых окнах из родительского?

quot FManny]
он не подходит потому что у клиента 5-ый релиз стоит а он вышел тка в 6-ом релизе
есть еще какие либо функции или т.п.?[/quot]

Ничего другого нету. Есть ещё notesDocument.IsUIDocOpen, но, по-моему, оно вам не поможет.
...
Рейтинг: 0 / 0
Domino Designer. Как связать два документа?
    #35096193
FManny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за ответы!
...
Рейтинг: 0 / 0
54 сообщений из 54, показаны все 3 страниц
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Domino Designer. Как связать два документа?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]