У созданного Uidoc отсутствует свойство Document

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

psyhaus

#1
код на кнопке во view:
Set uidoc = ws.ComposeDocument(,, "История")
Set docRes = uidoc.Document 'uidoc.Document пустой ????????

при этом на соседней кнопке такой же код работает:
Set uidoc = ws.ComposeDocument(,, "Блок")
Set docRes = uidoc.Document 'в uidoc.Document как и положено ссылка на doc

форма История была типа Response, менял на Document и Response to Response (ну мало ли..) - ничего не изменилось.

явно косяк лотуса, но что делать?..
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#2
косяк у кого-то в голове!

вы создаете документ не фоново а через УИ
кто запрешает в указанной форме на квериопене или еще где запретить открытие/создание по такой форме?
не говоря уже о случай когда явный компос запрешен, например в вашем случае когда вы сделалу форму ответной и создать док по ней теперь можно лишь встав на какой нибудь, иначе ответный не создается вообще
 
P

psyhaus

#4
эмм.. вы о чем вообще...

кто запрешает в указанной форме на квериопене или еще где запретить открытие/создание по такой форме?
Никто не запрещает, только зачем мне это? Мне создать надо а не заблокировать. Код что-то запрещающий, если вы об этом, и в квериопенах и в других местах отсутствует.

не говоря уже о случай когда явный компос запрешен, например в вашем случае когда вы сделалу форму ответной и создать док по ней теперь можно лишь встав на какой нибудь, иначе ответный не создается вообще
Естественно создавая Response я встаю на Document дабы ответный создался.

Уточню. Форма и uidoc создаются, но uidoc не имеет ссылки на document, при том что в соседней кнопке такой же код и все в порядке.

uidoc.Document is Nothing в событии QueryOpen, если документ НОВЫЙ ;)
При чем тут QueryOpen, код выполняется в кнопке на view, QueryOpen пустой. Документ хоть и новый, это не мешает ему иметь uidoc.document в таком же коде:
Set uidoc = ws.ComposeDocument(,, "Блок")
Set docRes = uidoc.Document
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#5
скажем так, респонс будет полностью инициирован лишь после сохранения документа в форме

есть вам ничего не мешает, то создавайте док полностью програмно, обходя компос

set doc = db.CreatedDocumtn
Call Doc.Repl....("Form", "1212")

и до момента
call ws.editdocumtn(truem Doc)
 
P

psyhaus

#6
Как я писал в первом посте я менял тип формы на document так что все замечания по поводу того что это не работает в респонзах безосновательны. Вы правы, можно создать док полностью программно, это решает мою задачу, но усложняет необходимостью создания связи вручную и поиском отцов в трехуровневом списке. Все решается намного проще - uidoc.refresh и uidoc.document появляется, видимо из-за непонятного поведения лотуса мне это сразу в голову не пришло.
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#8
а может была какая-то проблема с конкретной формой? может, собака какая не отрабатывала или еще что...
пробовал в "неработающей" кнопке "работающую" форму писать? :)
это так, интереса ради...