Как получить имя менеджера документов/назначений с помощью формулы @

У меня есть представление, в котором мне нужно получить имя диспетчера документов, но не иерархическое имя. Мне нужно получить фамилию и имя. Я использовал функцию @Name, но не знаю, как ее использовать. Любая помощь будет оценена.


person user3712014    schedule 05.06.2014    source источник


Ответы (3)


У многих сложилось впечатление, что @Name([G];theName) назовет имя, а @Name([S];theName) назовет фамилию, потому что это то, что документация Lotus. На самом деле это так, но это всегда работало только для иерархических имен, которые приходили в сообщениях, полученных через старый шлюз Lotus X.400, которые могли включать компоненты G и S (например, CN=first last/G=first/S=last/OU). =ou1/O=org/C=US).

Лучшее, что вы можете сделать с @Name для обычного пользователя Notes/Domino, это использовать @Name([CN];theName), как предложил @Mike Zens, а затем, если вам нужно разделить имя и фамилию, вы можете использовать @Left и @Right. К сожалению, нет идеального способа сделать это, потому что CN может выглядеть так: «Мэри Энн Джонс», где имя может быть «Мэри» или может быть «Мэри Энн». (И я действительно столкнулся с пользователем с таким именем, который был зол на то, что программа, которую я поддерживал, предполагала, что «Энн» было ее вторым именем!) Или вы могли столкнуться с таким именем: «Хосе де ла Мадрид». Просто не существует возможного алгоритма, который всегда будет разбирать имя на правильные части.

Поэтому, если вам действительно нужно получить имя и фамилию отдельно, лучше всего использовать @NameLookup для извлечения полей FirstName и LastName из Domino Directory. Конечно, это будет работать только в том случае, если эти поля заполнены, что не гарантируется на 100%.

person Richard Schwartz    schedule 05.06.2014

Если вы ищете способ просто отформатировать имя, как уже упоминалось, вы можете использовать @Name:

@Name([CN]; DocumentManager);

Если вам нужна конкретная информация об этом пользователе, вы можете использовать @NameLookup:

lastNameList := @NameLookup([ForceUpdate]; DocumentManager; "Lastname");

(где DocumentManager — это элемент с именем вашего пользователя, а «Фамилия» — это значение из документа Person, который вы пытаетесь получить);

person Ken Pespisa    schedule 05.06.2014

В этом примере возвращается «Mary Tsen», если поле AUTHOR в документе содержит «CN=Mary Tsen/OU=Illustration/O=Acme»:

@Name([CN]; AUTHOR)

Замените AUTHOR именем поля, в котором хранится имя менеджера документов.

person Mike Zens    schedule 05.06.2014