использование значений категорезированной колонки

  • Автор темы kilcher
  • Дата начала
K

kilcher

#1
Всем добрый день!

существует вьюшка,где первая колонка это имена пользователе(должников). Эта колонка категоризирована,т.к. у пользователя могут быть долги по нескольким док-там.
Вопрос следующий: можно ли разослать уведомления используя имена из этой колонки? Если делать это,используя поля в документах,то одному человеку прридет несколько уведомлений.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 807
21
#2
можно, если имена пользователей это имена в Domino.
Иначе - надо делать сопоставления.

и колонка должна быть отсортирована, а не только категаризована

см. хелп Set notesDocumentCollection = notesView.GetAllDocumentsByKey( keyArray [, exactMatch% ] )
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 807
21
#4
ой... нет. немного не то

смотри классы NotesViewEntry, NotesViewEntryCollection
NotesViewEntry - по моему возвращает данные по первому категоризованому столбцу
NotesViewEntryCollection - по любому столбцу

это если я ничего не путаю.
Подробней см. хелп
 

Gor

Well-known member
07.06.2005
517
1
#6
существует вьюшка,где первая колонка это имена пользователе(должников). Эта колонка категоризирована,т.к. у пользователя могут быть долги по нескольким док-там.
Вопрос следующий: можно ли разослать уведомления используя имена из этой колонки? Если делать это,используя поля в документах,то одному человеку прридет несколько уведомлений.
Можно собрать нужную коллекцию, собрать нужный массив значений для отправки писем со всей информацией по долгам, фамилии итд, там есть замечательные функции типа Arrayunique() и уведомления один раз приходить будут....
 
K

kilcher

#7
Можно собрать нужную коллекцию, собрать нужный массив значений для отправки писем со всей информацией по долгам, фамилии итд, там есть замечательные функции типа Arrayunique() и уведомления один раз приходить будут....


А можно по подробней? Я в принципе понимаю как это можно сделать. Т.е. проверять по каждому из сотрудников есть ли он поле "не согласовали". Но вся проблема в том что в нашей организации нет пока даже справочника сотрудников! А вот эту задачу уже надо выполнить ;)

ой... нет. немного не то

смотри классы NotesViewEntry, NotesViewEntryCollection
NotesViewEntry - по моему возвращает данные по первому категоризованому столбцу
NotesViewEntryCollection - по любому столбцу

это если я ничего не путаю.
Подробней см. хелп

С помощью этих классов я вытащю доки из категории,а мне надо само значение. Я думала импользовать NotesViewNavigator,но что то не выходит.
Вот пример вида

>Aleksandr S Gogolevski
02-152 02. Этап 02 Согласован
.............
>Alla L Ilyina
02-153 02. Этап 01 Черновик
.............
............
 

Gor

Well-known member
07.06.2005
517
1
#8
А можно по подробней? Я в принципе понимаю как это можно сделать. Т.е. проверять по каждому из сотрудников есть ли он поле "не согласовали". Но вся проблема в том что в нашей организации нет пока даже справочника сотрудников! А вот эту задачу уже надо выполнить
Опишите задачу поподробней. Какая у вас выборка во вьюхе? Кому необходимо посылать уведомление по какому признаку? Что должно содержать уведомление? Или это просто обычный ремайндер без информации из документов в письме?
 
K

kilcher

#9
Опишите задачу поподробней. Какая у вас выборка во вьюхе? Кому необходимо посылать уведомление по какому признаку? Что должно содержать уведомление? Или это просто обычный ремайндер без информации из документов в письме?
Если в документе поле "не согласовали" не пустое,то доки попадают в этот вид.
В каждом документе в поле "не согласовали" может содержатся несколько человек.Это поле многозначное.
Затем я сделала категоризацию первого столбца,в нем и выводятся имена должников.(и уже при раскрытии категории человек видит по каким документам у него долги). Формула для столбца такая @Name([Abbreviate];ne_soglasovali)
Разослать уведомления я должна всем этим людям. В уведомлении можно просто указать ссылку на вид.(У вас есть долги в базе,нажмите сюда->"ссылка на вид" )
Вобщем вот так как то. Я тут попробовала сделать с помощью NotesViewColumn,но видимо так как колонка категоризирована выдает ошибку



Ой! Я кажись сделала ;) Только вот уточню,на всякий случай куда рассылку пихать

Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim view As NotesView
Set view = db.GetView("5.Не ознакомились")
Dim nav As NotesViewNavigator
Set nav = view.createViewNav
Dim entry As NotesViewEntry
Set entry = nav.GetFirst
While Not (entry Is Nothing)
If entry.IsCategory Then
If entry.ColumnValues(0) <> "" Then
REM Индекс в массиве - номер столбца - 1
Messagebox Cstr(entry.ColumnValues(0))
'''''Вот сюда? вместо сообщения

End If
End If
Set entry= nav.GetNext(entry)
Wend




Я просто не верю своему счастью!
 

alb

Well-known member
13.07.2005
212
0
#10
чето не пойму вы пытаетесь уведомления рассылать или по требованию показать на экране?
похоже на последнее.
 

Gor

Well-known member
07.06.2005
517
1
#11
хех=) ну если так, просто ссылка на вид если есть долги, тогда

получаете коллекцию поиском по вашей форме и по полю не согласовали типа
Set coll = db.Search({Form = "ваша форма" & (ne_soglasovali <> "")},Nothing,0)

собираете всех должников из поля ne_soglasovali в цикле по всем полученным документам в некую Variant переменную предположим reciptiens.
А дальше делаете ResultRecipt = Arrayunique(reciptiens,0) и mail.Recipients = ResulTRecipt