Names.nsf Не Дает Работать

beloff

Well-known member
24.07.2012
113
1
#1
Всем хай. Проблема с обращением к корпоративной директории (names.nsf). Оттуда нужно вытянуть из учетной карточки поле InternetAddress (для корпоративной подписи единообразной), проблема в том что программно база подключается, но работать с собой ни в какую не дает. Коллекции не ищет. Дебаг показывает, что база открыта, задаю поиск - коллекция даже не думает искаться, просто проскакивает этот пункт, переменная пустая. Обычно хоть count = 0 показывает, тут бы никаких проблем,понятно что дело не в бобине. Права стоят максимальные. Вобщем, Ай Нид Хэлп.
 

savl

Lotus team
28.10.2011
2 136
104
#3
Клиентский/серверный агент?
Если серверный в пределах одного работает?
Разрешения?
db.IsOpen показывает True? или только в дебагере это ?
 

beloff

Well-known member
24.07.2012
113
1
#4
вьюха получается, и ентри тоже получается но вот стремаюсь вьюху свою склепать чтобы нужное инфо получить (GetDocumentByKey) чтобы не положить всю базу, она ж одна на все сервера реплицируется

Добавлено: db.IsOpen показывает True, пока тестирую на клиенте (т.к. нужно потом в автоматический серверный режим перевести), открываю на том же сервере - тот же результат, т.е. никакой.
 

savl

Lotus team
28.10.2011
2 136
104
#5
Ну стрёмно или не стрёмно, а Search работать будет дольше, чем GetDocumentByKey.
Можно попробовать сделать ReBoot но думаю не вариант :)
Попробуй получить документ или Entry, а из нее уже потом документ или даже просто значение колонок...


Добавлено:
Оттуда нужно вытянуть из учетной карточки поле InternetAddress (для корпоративной подписи единообразной)
Для автоматической рассылки?
Просто я не уверен что можно при отправке письма вставлять подпись на каждого сотрудника автоматически при отправке из его ПЯ.
Да и кажись точно не возможно.
А если эта рассылка идет из какой-то базы, то проще сделать список отправителей с подписями в каждое письмо вставлять необходимый текст из справочника.
 

beloff

Well-known member
24.07.2012
113
1
#6
GetDocumentByKey все берет, док получен, осталось в шаблон подсунуть вьюху. Интересно, почему GetDocumentByKey работает а Search нет. Загадки во тьме
 

beloff

Well-known member
24.07.2012
113
1
#8
nie ma sprawy.

Set maildb = ses.GetDatabase("msqbw2/BWD","names.nsf") 'все подключается все нормально
strg = {Form = "Person" & @Contains(FullName;}+key+{)}
Set mcol = maildb.Search(strg,Nothing,1) ' тут коллекция пустая, не просто count=0 , а EMPTY

а если так
Set mview = maildb.GetView("main")
key = entry.ColumnValues(13)
Set mdoc = mview.GetDocumentByKey(key)
xlSheet.Cells(i,9).Value = mdoc.InternetAddress(0)

здесь все окай
 

beloff

Well-known member
24.07.2012
113
1
#10
думаю это без разницы, поисковая строка формировалась нормально
 

Мыш

Премиум
12.02.2008
1 097
10
#11
Если key - строковая переменная, то 146% надо в кавычки...
Вообще, проверил у себя - все работает и находится...
 

Мыш

Премиум
12.02.2008
1 097
10
#14
savl, вот с этим согласен - мне лично в исходном варианте выдавало type mismatch. Баг дебаггера... :)
 

beloff

Well-known member
24.07.2012
113
1
#16
отчего и затупил - строка поиска не ругалась на некорректность, коллекция пустая. Подумал мот засекреченая база
 

savl

Lotus team
28.10.2011
2 136
104
#17
Мыш
Вопрос типизации, если key был строка, то ошибки не будет, если вариант, то возможна.
beloff
А вот это не мудрено, ошибку Db.Search выдаст только если не сможет сделать Evaluate от этой формулы.
Лучший способ проверки формулы для Search: вьюха (при возможности ее сделать), либо:
Код:
dim macro as variant
macro =Evaluate(sFormula,doc)
Где sFormula наш поисковый запрос, а doc документ попадающий под условия.
Если macro(0) = 1 все ок, формула рабочая, как минимум для одного документа.

Но использовать Search для поиска только одного документа, ну право не надо :)
Вьюха лучше)
 

Мыш

Премиум
12.02.2008
1 097
10
#18
Мыш
Вопрос типизации, если key был строка, то ошибки не будет, если вариант, то возможна.
У меня (без кавычек и еще без явного объявления каких-то переменных, коллеции что ли) стабильно Mismatch вываливало, что с вариантом, что со строкой, чесслово. Ну фик знает...
 

savl

Lotus team
28.10.2011
2 136
104
#19
Мыш
Забавно) значит мой клиент такой))
а у меня вот так:
---------------------------IBM Lotus Notes---------------------------
Notes error: Formula Error (Form = "Person" & @Contains(FullName;123))
---------------------------ОК ---------------------------
Release 8.5.3FP2|July 03, 2012
 

Мыш

Премиум
12.02.2008
1 097
10
#20
savl, ну мы ж не абсолютно одинаковый код наверняка использовали. У меня, к слову, 8.5.3 FP5...