У меня есть форма, где у меня есть поле «_reviewer», которое является текстовым/редактируемым. Поле заполняется при нажатии кнопки сохранения нажата кнопка имеет следующий код:Сравнение пользователей из @username и @picklist
pick := @Name([CN];@PickList([Name]));
@SetField("_reviewer"; pick);
@If(@Command([FileSave]);
@Do(
@MailSend(pick;"";"";"Subject";"Body";"";[IncludeDoclink]);
@Command([CloseWindow]);
@StatusBar("Success.")
);
@StatusBar("Fail!"));
У меня есть viewA, где документ должен быть показан, если текущий пользователь является таким же, как человек в поле «_reviewer», то код в View Selection является:
LCName := @LowerCase(@Name([CN];@UserName));
LCPeople := @LowerCase(_reviewer);
SELECT form = "formA" & (@Contains(LCPeople; LCName))
у меня есть другой viewB, где я могу увидеть все документы, и один из столбцов является "_reviewer. Теперь проблема в том, что, хотя на viewB я вижу, что John Doe является рецензентом для документа A, документA не отображается в viewA, когда John Doe входит в систему как текущий пользователь. Сложная часть, документы иногда отображаются в viewA, а иногда и нет, хотя я повторяю те же шаги при создании документа. Такое поведение неприемлемо. Есть ли другой способ проанализировать текущего пользователя и пользователя, выбранного из @PickList, или каким-либо другим способом проверить, совпадают ли эти два?
Если я положил pick: = @Name ([CN]; @ PickList ([Name])); в событие QuerySave, тогда переменная «pick» не может использоваться ни в одной другой кнопке event /, так как ее глобально не определена, и, чтобы сделать это, id должен вмешиваться в скрипт лотоса, правильно? – Thunderer
@Thunderer: поместите код своей кнопки из вашего вопроса в событие QuerySave и окружите его '@If (_reviewer =" "; @Do (' ... ');" ")' –