Lotus Notes NAB — добавление поля

У меня есть проект, в котором мне нужно указать Интернет-адрес, а также добавить новое поле с именем ShortName для всех групп в Примечаниях. НАБ.

Я могу ввести значения и сохранить документ, я пытался использовать doc.save и Computewithform. Это групповая форма.

После изменения люди в этой группе больше не смогут получить доступ к приложению.

У вас есть идея, что я делаю неправильно?

Пользователь A находится в группе XYZ.

Я добавил интернет-адрес xyz.com и короткое текстовое поле xyzmigration.

Приложение A имеет ACL с группой XYZ в качестве редактора. Когда пользователь А пытается открыть приложение А, он получает отказ в авторизации. Если я удалю оба значения, пользователь А сможет открыть базу данных.

Спасибо за вашу помощь


person Sébastien Boisvert    schedule 14.05.2018    source источник
comment
Являются ли эти пользователи клиентами или веб-пользователями?   -  person Duston    schedule 14.05.2018
comment
они пытаются получить доступ к базе данных Notes через клиент. Они попробовали Ctrl-F5, чтобы убедиться, что у них правильные учетные данные.   -  person Sébastien Boisvert    schedule 14.05.2018
comment
Интересно, может быть, это название поля, которое вы использовали? Краткое имя имеет особое значение в документах Person, и хотя его нет в форме Group, когда в игру вступает ACL, кто знает, на что он смотрит. Не могли бы вы попробовать использовать другое имя поля и посмотреть, так ли оно было?   -  person Duston    schedule 14.05.2018
comment
Я тоже об этом подумал, я попробовал другое имя поля, и у меня была та же проблема :(   -  person Sébastien Boisvert    schedule 14.05.2018
comment
просто для ясности - вы оба устанавливаете поле InternetAddress и поле Shortname в групповом документе? И это все, что нужно, чтобы сломать его?   -  person Normunds Kalnberzins    schedule 15.05.2018
comment
Как вы создаете поля/устанавливаете значения? Можете ли вы опубликовать свой код Lotusscript?   -  person Karl-Henry Martinsson    schedule 15.05.2018
comment
Еще одна мысль: возможно, установка интернет-адреса приводит к тому, что группа считается только для почты. Убедитесь, что группа настроена на многоцелевую.   -  person Karl-Henry Martinsson    schedule 15.05.2018
comment
If ( collection.Count ‹› 0 ) Then Set doc = collection.getfirstdocument doc.InternetAddress = InternetAddressValue success = doc.ComputeWithForm( False, False ) Если успех Then Call doc.Save( True, False ) End If Else 'End If ' (коллекция.Count = 0)   -  person Sébastien Boisvert    schedule 15.05.2018


Ответы (3)


Представление $ServerAccess проверяет документы группы и пропускает любые группы, в которых присутствует поле Shortname.

person Normunds Kalnberzins    schedule 15.05.2018
comment
Тогда как вы объясните наблюдение ОП о том, что проблема возникла с полем с другим именем? - person Duston; 15.05.2018
comment
Вероятно, он не удалил короткое имя, которое добавил. Это мое предположение :-) - person Richard Schwartz; 15.05.2018
comment
Нормундс, я думаю, вы дали мне решение с представлением $ServerAccess. Группа находится в представлении, но после добавления двух полей она исчезает из этого представления. Мне нужно проверить формулу выбора этого представления. Большое спасибо, буду держать вас в курсе. - person Sébastien Boisvert; 15.05.2018

У Нормунда есть правильный ответ, но я хочу добавить предложение: создайте новую группу вместо изменения существующей группы. То есть, если группа "MyGroup", создайте группу с именем "MyGroup_Extended" и настройте ее с помощью

  • Короткое имя = значение, которое вы хотите
  • InternetAddress = значение, которое вы хотите
  • Участники = "Моя группа"

Таким образом, вы оставляете MyGroup нетронутой, но у вас остается измененный групповой документ с добавленной дополнительной информацией и тем же списком участников.

И еще: чтобы те группы, которые вы уже изменили, снова заработали, вы должны запустить простой агент против всех групп, которые это делают:

FIELD ShortName := @DeleteField;
FIELD InternetAddress := @DeleteField; 
person Richard Schwartz    schedule 15.05.2018

После помощи некоторых ответов, которые я получил здесь. Я проверил представление $ServerAccess. Формула выбора проверяет наличие поля Shortname, и именно это вызывало мою проблему. Я создам другое имя поля, и мы сможем использовать это поле вместо ShortName. все поля := @DocFields; тест1 := 0; тест2 := 0; @For(i:=1; i ‹ @Elements(allfields); i:=i+1; test1 := test1 + @If(@UpperCase(allfields[i]) = "LISTNAME";1;0)); @For(i:=1; i ‹ @Elements(allfields); i:=i+1; test2:=test2 + @If(@UpperCase(allfields[i]) = "SHORTNAME";1;0)); SELECT (test1 ‹ 2 & test2 = 0 &Type = "Group" & (@IsUnavailable (GroupType)|GroupType="0" : "2":"3":"4")) & Form="Group" & @IsUnavailable ($Conflict)
Спасибо за помощь.

person Sébastien Boisvert    schedule 15.05.2018