2014-02-17 2 views
1

У меня есть форма, где у меня есть поле «_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, или каким-либо другим способом проверить, совпадают ли эти два?

ответ

3

Используйте встроенный вид на странице, как показано в последнем question. На этот раз первая классифицированная колонка будет @LowerCase(_reviewer) и «Показать одну категорию» будет иметь формулу @LowerCase(@Name([CN];@UserName)). Выбор вида: SELECT form = "formA".

Вы не можете использовать определенные пользователем функции, такие как @UserName в формуле выбора общественного мнения.

1

Также обратите внимание, что пользователь может сохранить документ, нажав Ctrl + S или закрыв окно и выбрав «Да» при появлении запроса. Им не нужно использовать кнопку «Сохранить». Если что-то должно произойти до того, как документ будет сохранен, это должно быть сделано в форме Querysave event. Если это должно произойти после сохранения документа, оно должно быть в событии Postsave. Претензии для проверки возвращаемого значения команды save хотя!

+0

Если я положил pick: = @Name ([CN]; @ PickList ([Name])); в событие QuerySave, тогда переменная «pick» не может использоваться ни в одной другой кнопке event /, так как ее глобально не определена, и, чтобы сделать это, id должен вмешиваться в скрипт лотоса, правильно? – Thunderer

+0

@Thunderer: поместите код своей кнопки из вашего вопроса в событие QuerySave и окружите его '@If (_reviewer =" "; @Do (' ... ');" ")' –

Смежные вопросы