У меня есть представление, в котором мне нужно получить имя диспетчера документов, но не иерархическое имя. Мне нужно получить фамилию и имя. Я использовал функцию @Name, но не знаю, как ее использовать. Любая помощь будет оценена.
Как получить имя менеджера документов/назначений с помощью формулы @
Ответы (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%.
Если вы ищете способ просто отформатировать имя, как уже упоминалось, вы можете использовать @Name:
@Name([CN]; DocumentManager);
Если вам нужна конкретная информация об этом пользователе, вы можете использовать @NameLookup:
lastNameList := @NameLookup([ForceUpdate]; DocumentManager; "Lastname");
(где DocumentManager — это элемент с именем вашего пользователя, а «Фамилия» — это значение из документа Person, который вы пытаетесь получить);
В этом примере возвращается «Mary Tsen», если поле AUTHOR в документе содержит «CN=Mary Tsen/OU=Illustration/O=Acme»:
@Name([CN]; AUTHOR)
Замените AUTHOR именем поля, в котором хранится имя менеджера документов.