При создании нового дока

wowa

Well-known member
01.02.2007
848
0
#1
Подскажите, вот мой код(в кратце)

Set doc = db.GetDocumentByID("1096")

' получаю текущий список формул
Forall formula In doc.GetItemValue("GXE_ListF_CandidListFormul_TX")
stListFormul=stListFormul & Chr(10) & formula
End Forall

Call uidoc.FieldSetText("поле№1", stListFormul)
Call uidoc.Refresh()

Мне, нужно, чтобы при создании нового документа в поле№1 было записано,сразу, stListFormul
Я этот код засунул в Initialize (правильно???????)
поле№1 - скрыто
ошибка на предпоследней строке "Cannot locate field"
Методом тыка запихнул в Postopen, - нормально работает, но возникают другие проблемы с работой в базе
Подскажите, плз, что я не так сделал?, кто знает...
 

wowa

Well-known member
01.02.2007
848
0
#3
Для: velitchestvo
да!!!
Я понял в чем у меня ошибка в initialize , оно не работает когда поля скрыто!!
 

wowa

Well-known member
01.02.2007
848
0
#4
Хотя все равно не работает... где-то сильно торможу(((((

вот почему на этой строке
Call uidoc.FieldSetText("поле№1", stListFormul)
cannot locate field??
 
D

Domino6

#5
<!--QuoteBegin-wowa+19:06:2007, 09:52 -->
<span class="vbquote">(wowa @ 19:06:2007, 09:52 )</span><!--QuoteEBegin-->Call uidoc.FieldSetText("поле№1", stListFormul)
cannot locate field??
[snapback]69849" rel="nofollow" target="_blank[/snapback]​
[/quote]

уйди от UI
Код:
call doc.поле№1=stListFormul
где doc Notesdocument
 

wowa

Well-known member
01.02.2007
848
0
#6
Для: Domino6
И что получается, я из doc беру stListFormul ,и в него же потом это же записываю?
Вот полностью мой код


Dim s As New NotesSession
Dim wks As New NotesUIWorkspace
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument
Dim stListFormul As Variant

Set s = New NotesSession
Set db = s.CurrentDatabase
Set uidoc = wks.CurrentDocument
Set doc = db.GetDocumentByID("1096")

' получаю текущий список формул
Forall formula In doc.GetItemValue("поле№1")
stListFormul=stListFormul & Chr(10) & formula
End Forall


Call uidoc.FieldSetText("поле№1", stListFormul)
Call uidoc.Refresh()
 
D

Domino6

#7
<!--QuoteBegin-wowa+20:06:2007, 08:57 -->
<span class="vbquote">(wowa @ 20:06:2007, 08:57 )</span><!--QuoteEBegin-->Call uidoc.FieldSetText("поле№1", stListFormul)
[snapback]69994" rel="nofollow" target="_blank[/snapback]​
[/quote]

заменить на
Код:
uidoc.Document.поле№1=stListFormul
 

wowa

Well-known member
01.02.2007
848
0
#8
Для: Domino6
Пасиб, но все равно чего-то не работает, выводит ошибку:
Object variable not set
 
E

Elena Nefedova

#9
<!--QuoteBegin-wowa+25:06:2007, 11:28 -->
<span class="vbquote">(wowa @ 25:06:2007, 11:28 )</span><!--QuoteEBegin-->Object variable not set
[snapback]70470" rel="nofollow" target="_blank[/snapback]​
[/quote]
  1. в какой строке ошибка? дебаггером следил?
  2. скорее всего, еще не существует текущего дока в рабочем пространстве в момент инициализации
  3. Я бы повесила на Queryopen, раз уж на onLoad=PostOpen нельзя; а что за проблемы-то возникали в этом случае?
 
R

Ronchik

#10
Для: wowa
зачем работаешь с текушим документом??...не проще было-бы создать документ програмно с заполнением нужных полей , а уже потом открыть на редактирование
 

wowa

Well-known member
01.02.2007
848
0
#11
Для: Elena Nefedova
Спасибо, за то что навела меня на мысль... .Все сработало в Postopen, просто из-за невнимательности оно у меня не работало.... Я думал оно не работает из-за того что документ якобы еще не создался, а оказалось что я указал неправильное имя поля... Блин, так облажаться )))))
Для: Ronchik
Спасиб, попробую как-н