• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

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

wowa

Подскажите, вот мой код(в кратце)

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, - нормально работает, но возникают другие проблемы с работой в базе
Подскажите, плз, что я не так сделал?, кто знает...
 
V

velitchestvo

На PostOpen рефрешь дока делаешь?
 
W

wowa

Для: velitchestvo
да!!!
Я понял в чем у меня ошибка в initialize , оно не работает когда поля скрыто!!
 
W

wowa

Хотя все равно не работает... где-то сильно торможу(((((

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

Domino6

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

wowa

Для: 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

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

wowa

Для: Domino6
Пасиб, но все равно чего-то не работает, выводит ошибку:
Object variable not set
 
E

Elena Nefedova

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

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

wowa

Для: Elena Nefedova
Спасибо, за то что навела меня на мысль... .Все сработало в Postopen, просто из-за невнимательности оно у меня не работало.... Я думал оно не работает из-за того что документ якобы еще не создался, а оказалось что я указал неправильное имя поля... Блин, так облажаться )))))
Для: Ronchik
Спасиб, попробую как-н
 
Мы в соцсетях:

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