Учусь программировать на Лотусе

  • Автор темы STIL
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

STIL

Гость
#1
dim note as notesDocument
set collection=db.UprocessedDocuments
set note = collection.GetFirstDocument

Forall i in note.Items
End Forall

Я так понимаю, что UprocessedDocuments делает выборку, а GetFirstDocument получает первый из выборки. А зачем получать первый?
Цикл пробегает по всем документам, (note.Items что значит)?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#2
<!--QuoteBegin-STIL+28:12:2005, 12:04 -->
<span class="vbquote">(STIL @ 28:12:2005, 12:04 )</span><!--QuoteEBegin-->Я так понимаю, что UprocessedDocuments делает выборку, а GetFirstDocument получает первый из выборки. А зачем получать первый?
[snapback]28829" rel="nofollow" target="_blank[/snapback]​
[/quote]
Это у тебя надо спросить. Зачем ты получаешь первый.
UprocessedDocuments возвращает коллекцию, а GetFirstDocument документ из этой коллекции.

<!--QuoteBegin-STIL+28:12:2005, 12:04 -->
<span class="vbquote">(STIL @ 28:12:2005, 12:04 )</span><!--QuoteEBegin-->note.Items что значит
[snapback]28829" rel="nofollow" target="_blank[/snapback]​
[/quote]
Это значит получить все поля в документе.
В хелпе, кстати, все это расписано.
 
S

STIL

Гость
#4
Я не найду панель Design раздел Other объект DataBaseScript. В хелпе искала не нашла.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#5
Панель - слева в дизайнере. Там где структура базы представлена (формы, представления и т.д.). Other - самый последний пункт. Там выбирай Database Resources. Там будет Database Script.
 
S

STIL

Гость
#6
Спасибочки огромное. Сама бы никогда не нашла.
И все равно я не понимаю смысла получения первого документа. Что-то типа сначало получуть выборку, а потом открыть ее.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#7
<!--QuoteBegin-STIL+28:12:2005, 13:23 -->
<span class="vbquote">(STIL @ 28:12:2005, 13:23 )</span><!--QuoteEBegin-->И все равно я не понимаю смысла получения первого документа. Что-то типа сначало получуть выборку, а потом открыть ее.
[snapback]28838" rel="nofollow" target="_blank[/snapback]​
[/quote]
Именно первого или вообще получения документа ?
 
S

STIL

Гость
#8
Да именно первого. Как получить документ вообще я вроде разобралась.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#9
Для: STIL
Сложно сказать по этому кусочку кода. Надо бы весь код посмотреть.
Возможно, автор уверен что db.UprocessedDocuments выдаст только один документ.
 
G

Guest

Гость
#10
<!--QuoteBegin-STIL+28:12:2005, 12:51 -->
<span class="vbquote">(STIL @ 28:12:2005, 12:51 )</span><!--QuoteEBegin-->Да именно первого. Как получить документ вообще я вроде разобралась.
[snapback]28841" rel="nofollow" target="_blank[/snapback]​
[/quote]

Ну насколько я понимаю, ревый документ нужен для того чтоб корректно организовать обработку документов в коллекции.(цикл)
Т.е. получаешь первый документ (GetFisrtDocument), потом делаешь чё-нить с ним, двигаешься на следующий (GetNextDocument) - все это пока есть что выбирать из коллекции.
 
S

STIL

Гость
#11
(10) Понятно :rolleyes: спасибо.
(9) Я пока так тыкаюсь. Сейчас потыкаюсь и реальную базу начну делать.
Спасибо, что помогаете.
 
S

STIL

Гость
#12
Ребят, помогите еще, пожалуйста


Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim ws As NotesUIWorkspace
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument

Set uidoc=ws.CurrentDocument :rolleyes:
Set doc=uidoc.Document

If note.Mac_addres="123" Then
continue=False
End If
doc.Mac_addres="123"
End Sub

В строке с рожицей ошибка (так отладчик говорит)
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#13
<!--QuoteBegin-STIL+28:12:2005, 15:13 -->
<span class="vbquote">(STIL @ 28:12:2005, 15:13 )</span><!--QuoteEBegin-->Dim ws As NotesUIWorkspace
[snapback]28850" rel="nofollow" target="_blank[/snapback]​
[/quote]
Надо бы создать ws.
Т.е. должно быть так:
Код:
Dim ws As New NotesUIWorkspace
 
S

STIL

Гость
#14
Новое рабочее пространство? А вообще да, в книжке так

If doc.Mac_addres="123" Then - а здесь типы не совпадают. Тип поле doc.Mac_addres Текст.

А как вы так делаете, что у вас все в рамочках. Так красивее
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#15
<!--QuoteBegin-STIL+28:12:2005, 15:26 -->
<span class="vbquote">(STIL @ 28:12:2005, 15:26 )</span><!--QuoteEBegin-->If doc.Mac_addres="123" Then - а здесь типы не совпадают
[snapback]28852" rel="nofollow" target="_blank[/snapback]​
[/quote]
Потому что по сути поле - это массив.
Значение надо сравнивать с первым элементом. Т.е.
Код:
If doc.Mac_addres(0) = "123" Then
<!--QuoteBegin-STIL+28:12:2005, 15:26 -->
<span class="vbquote">(STIL @ 28:12:2005, 15:26 )</span><!--QuoteEBegin-->А как вы так делаете, что у вас все в рамочках. Так красивее
[snapback]28852" rel="nofollow" target="_blank[/snapback]​
[/quote]
Теги CODE и QUOTE. Можно кнопками пользоваться.
 
S

STIL

Гость
#16
Ну здорово. Это моя первая программа на Лотусе. Я теперь такая умная :rolleyes:
(я ведь читала, что нужно обрашаться к 0-му элементу, а вот не вспомнила

А теги это как в НТМL <CODE> </CODE>?
 

Гость
#17
<!--QuoteBegin-STIL+28:12:2005, 14:13 -->
<span class="vbquote">(STIL @ 28:12:2005, 14:13 )</span><!--QuoteEBegin-->Ребят, помогите еще, пожалуйста
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim ws As NotesUIWorkspace
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument

Set uidoc=ws.CurrentDocument :rolleyes:
Set doc=uidoc.Document

If note.Mac_addres="123" Then
continue=False
End If
doc.Mac_addres="123"
End Sub

В строке с рожицей ошибка (так отладчик говорит)
[snapback]28850" rel="nofollow" target="_blank[/snapback]​
[/quote]

Объявление класса NotesUIDocument не нужно - смотри обьявление Sub
и наверное не 'if note.Mac_addres(0)="123"', а 'if doc.Mac_addres(0)="123"'
 
S

STIL

Гость
#20
Ребят, я еще никак не пойму чем событие Initialize отличается от QueryOpen. Одно после другого, но перед открытием документа, зачем два. Про QueryOpen у меня написано, что оно выпоняется после Initialize и все.
 
Статус
Закрыто для дальнейших ответов.