Нужна помощь

sanch

Well-known member
17.07.2006
215
0
#1
Set dcol = db.Search({@IsUnavailable(AgentCheck) },Nothing,0), что необходимо дописать в запрос что б выбрать документы из ($Inbox)? грубо говоря необходим аналог GetView("($Inbox)").
ЗЫ dcol объект NotesDocumentCollection
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
наверно подойдет HasItem

но для этого надо пройтись по всем докам view "($Inbox)"
 

morpheus

скриптописец
07.08.2006
3 915
1
#4
Given the name of an item, indicates whether that item exists on the document.
Defined in
NotesDocument
Syntax
flag = notesDocument.HasItem( itemName$ )
Parameters
itemName$
String. The name of an item.
Return value
True indicates that an item with itemName$ exists in the document.
False indicates that there is no item with itemName$ in the document.

This script displays a message about a document.
Код:
Dim doc As NotesDocument
'...set value of doc...
If doc.HasItem( "Subject" ) Then
Messagebox _
( "There is a Subject item on this document." )
Else
Messagebox _
( "There is no Subject item on this document." )
End If
 

sanch

Well-known member
17.07.2006
215
0
#5
Спасибо.Но я так понял HasItem лог. ф-ция и мне не подойдет
 

morpheus

скриптописец
07.08.2006
3 915
1
#6
ну канечно , в отборе не сработает, вариант пройтись по всем докам папки и проверить hasitem
 
O

oshmianski

#7
Set dcol = db.Search({@IsUnavailable(AgentCheck) },Nothing,0), что необходимо дописать в запрос что б выбрать документы из ($Inbox)? грубо говоря необходим аналог GetView("($Inbox)").
ЗЫ dcol объект NotesDocumentCollection
что в конечном итоге нужно получить7 коллекцию документов из представления7
тогда не понимаю зачем колбасить всю бд7 у представления есть метод FTSearch.
 

sanch

Well-known member
17.07.2006
215
0
#8
<!--QuoteBegin-oshmianski+17:08:2006, 12:30 -->
<span class="vbquote">(oshmianski @ 17:08:2006, 12:30 )</span><!--QuoteEBegin-->что в конечном итоге нужно получить7 коллекцию документов из представления7
тогда не понимаю зачем колбасить всю бд7 у представления есть метод FTSearch.
[snapback]42369" rel="nofollow" target="_blank[/snapback]​
[/quote]

Я понимаю.Но проблема не в этом, я не могу понять как в Search вписать, что нужно взять документы только из ($Inbox) :)
 

sanch

Well-known member
17.07.2006
215
0
#10
<!--QuoteBegin-oshmianski+17:08:2006, 14:20 -->
<span class="vbquote">(oshmianski @ 17:08:2006, 14:20 )</span><!--QuoteEBegin-->копируешь формулу выбора в ($Inbox) и добавляешь свое условие
[snapback]42377" rel="nofollow" target="_blank[/snapback]​
[/quote]
я искал искал так и не нашел. :) можешь подсказать формулу?
 

morpheus

скриптописец
07.08.2006
3 915
1
#11
<!--QuoteBegin-sanch+17:08:2006, 14:45 -->
<span class="vbquote">(sanch @ 17:08:2006, 14:45 )</span><!--QuoteEBegin-->я искал искал так и не нашел. можешь подсказать формулу?
[snapback]42380" rel="nofollow" target="_blank[/snapback]​
[/quote]

да ты же сам написал формулу !!!

<!--QuoteBegin-sanch+16:08:2006, 13:30 -->
<span class="vbquote">(sanch @ 16:08:2006, 13:30 )</span><!--QuoteEBegin-->@IsUnavailable(AgentCheck)
[snapback]42311" rel="nofollow" target="_blank[/snapback]​
[/quote]
 

sanch

Well-known member
17.07.2006
215
0
#12
<!--QuoteBegin-Morpheus+17:08:2006, 15:04 -->
<span class="vbquote">(Morpheus @ 17:08:2006, 15:04 )</span><!--QuoteEBegin-->да ты же сам написал формулу !!!
[snapback]42382" rel="nofollow" target="_blank[/snapback]​
[/quote]

Да нет :).Эта формула проверяет наличие поля в документе, а мне нужна формула котрая выберает все письма из ($Inbox)
 
O

oshmianski

#13
Да нет :).Эта формула проверяет наличие поля в документе, а мне нужна формула котрая выберает все письма из ($Inbox)
если речь идет о почтовой бд, то $Inbox - это папка.
попробуй вот так:
Код:
Dim session As New NotesSession	
Dim db As NotesDatabase
Dim colEntry As NotesViewEntryCollection
Dim search As String
Dim folder As notesview

search = {[Твое_поле] contains твое_значение} 'это если строка
Set db = Session.CurrentDatabase
Set folder = db.GetView("($Inbox)")
folder.FTSearch search, 0
Set colEntry = folder.AllEntries
Notes 6.5
 

morpheus

скриптописец
07.08.2006
3 915
1
#14
Обратись к папке в скрипте, пройдись по всем докам с проверкой HasItem и те что подойдут запихивай в колекцию и дальше с ней(колекцией) мона работать!
 

sanch

Well-known member
17.07.2006
215
0
#15
<!--QuoteBegin-oshmianski+17:08:2006, 16:17 -->
<span class="vbquote">(oshmianski @ 17:08:2006, 16:17 )</span><!--QuoteEBegin-->Dim db As NotesDatabase
Dim colEntry As NotesViewEntryCollection
Dim search As String
Dim folder As notesview

search = {[Твое_поле] contains твое_значение} 'это если строка
Set db = Session.CurrentDatabase
Set folder = db.GetView("($Inbox)")
folder.FTSearch search, 0
Set colEntry = folder.AllEntries
[snapback]42385" rel="nofollow" target="_blank[/snapback]​
[/quote]
Вроде делаю все правильно но в colEntry ниче не передается
 

sanch

Well-known member
17.07.2006
215
0
#17
<!--QuoteBegin-oshmianski+17:08:2006, 16:38 -->
<span class="vbquote">(oshmianski @ 17:08:2006, 16:38 )</span><!--QuoteEBegin-->что пишешь в строку запроса7
[snapback]42389" rel="nofollow" target="_blank[/snapback]​
[/quote]
я вообще ниче не писал. сразу без ftsearch написал colEntry= folder.AllEntries.
а когда писал в ftsearch {@IsAvailable(Agentchek)},0 то вылетала ошибка.Я так понял Search и ftsearch разные вещи. Если можешь помоги написать запрос в ftsearch.
запрос аналог "@IsUnavailable(AgentCheck)"
 
O

oshmianski

#18
я вообще ниче не писал. сразу без ftsearch написал colEntry= folder.AllEntries.
а когда писал в ftsearch {@IsAvailable(Agentchek)},0 то вылетала ошибка.Я так понял Search и ftsearch разные вещи. Если можешь помоги написать запрос в ftsearch.
запрос аналог "@IsUnavailable(AgentCheck)"
здесь моно пойти от обратного.
если у тебя поле AgentCheck может принимать значения "0" и "1", то попробуй вот так
search = {Not (([AgentCheck] contains 0) or ([AgentCheck] contains 1))}
 

sanch

Well-known member
17.07.2006
215
0
#19
<!--QuoteBegin-oshmianski+17:08:2006, 17:09 -->
<span class="vbquote">(oshmianski @ 17:08:2006, 17:09 )</span><!--QuoteEBegin-->здесь моно пойти от обратного.
если у тебя поле AgentCheck может принимать значения "0" и "1", то попробуй вот так
search = {Not (([AgentCheck] contains 0) or ([AgentCheck] contains 1))}
[snapback]42394" rel="nofollow" target="_blank[/snapback]​
[/quote]
а можно как нить сделать тоже самое только потом folder.AllEntries передать в переменную типа NotesDocumentCollection?