индексы Names.nsf - проблемка...

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

Klido

Гость
#1
в контексте топика http://codeby.net/forum/threads/33483.html
провел исследование на своей АК и получил неожиданные результаты...

У пользователя заполнен внешний адрес и адрес форвардинга (MailAddress).
Функции вида @expandnamelist раскрывают имена пользователей именно до MailAddress в случае, когда оно заполнено. Обратная задача - по внешнему адресу взять, скажем, FullName.

выполняю банальное
@dblookup("":"NoCache";"":"names.nsf";"($Users)";"ivanov@domain.com";3) и в 1/3 случаев получаю для пользователей еррор Entry not found in index or view's index not built

нет нужды говорить, что ребилды и прочие мероприятия с names.nsf проведены, ivanov@domain.com явно виден в ($Users) в первом столбце и в единственном экземпляре...

Чего ему надо? Впервые вижу проблему с лукапом имен на таком простом уровне...
 

hosm

* so what *
18.05.2009
2 442
9
#2
в контексте того топика - замучили животинку?
Вот если Вам хз что подсунуть вместо параметра (С альтернативным именем, кстати, недавно коллега проверяла - замечательно @namelookup работал...)

А при [FailSilent] и явном указании имени поля @dblookup пустоту вернет?
 
K

Klido

Гость
#3
оказалось всё попроще, но и понеприятнее...
база ещё под 7-кой создавалась, сейчас сервер 8.5, клиенты 8.5-8.5.1
так вот если ЯВНО указать сервер-базу (ранее тоже замечалось, что в некоторых случаях @-lookup-ы не отрабатывали) - всё работает... иначе - не желает...
т.е. @dblookup("":"NoCache";"ServerName":"names.nsf";"($Users)";"ivanov@domain.com";3) работает...
не знаю что и думать.. а вдруг оно где-то ещё некорректно работает, толкьо пок аэтого не видно? не проверять же сотни лукапов :angry2:

Добавлено: но тут-то хоть можно явно указать сервер, в а @namelookup ничего такого не укажешь.... вот оно и глюкает.. и проблема на вид админская... не могу придумать что ещё можно сделать с names.nsf - всё там есть и нормально вроде...
 

hosm

* so what *
18.05.2009
2 442
9
#4
а код выполняется в клиенте или в серверном агенте?
возможно, действительно, для сервера 8.5 поменялось поведение.
На клиенте вроде надо указывать сервер, это тут для лукапа даже вполне логичное поведение...
И если на клиенте, может, в локейшене посмотреть насчет того, правильно ли сервер указан?
 
K

Klido

Гость
#5
OKEN
код на клиенте - функция в библиотеке... или банально в письмо в тему и ctrl+f9....
на клиенте в локейшене всё указано правильно :angry2:
в целом все лукапы отрабатывают и с указанием сервер-база по-умолчанию, возможно тут - из-за лукапа из внешней базы.. но names.nsf одна на единственном же сервере...
пока оставил формулу
@name([ABBREVIATE];@transform(@Trim(@Sort(@Unique(NameList)));"x";@subset(@dblookup("":"NoCache";"ServerName":"names.nsf";"($Users)";x;3);1)))
но проблема @namelookup так и остаётся....