Как скрыть я ссылку горячей точки, когда она нажата? - PullRequest
0 голосов
/ 14 января 2012

У меня есть приложение лотоса, и у меня есть страница с двумя ссылками:

  1. Регистрация
  2. Check-Out

обе ссылки открывают форму посещаемости для ежедневной регистрации заезда и отъезда.

как только пользователь регистрируется, я хочу скрыть ссылку регистрации и только показать ссылку регистрации ...

У меня есть поле " Статус " в форме посещаемости, в котором указывается, зарегистрировался ли сотрудник или выписался. Как использовать это поле в формуле скрытия страницы, чтобы скрыть ссылку после ее нажатия?

1 Ответ

1 голос
/ 16 января 2012

Прежде всего, ссылки должны быть в отдельных параграфах, чтобы ими можно было управлять отдельно.

Во-вторых, у вас должно быть представление, в котором отсортирован первый столбец и содержит имя пользователя, за которым следует дата изполя в ваших ежедневных документах посещаемости.Например, он должен быть в таком формате, как "Joe User / Org-01-01-12".Второй столбец в представлении должен иметь статус из документов.Ради этого ответа давайте назовем это представление «DailyAttendance».

В-третьих, у вас есть три случая: документ посещаемости для пользователя в этот день не существует, он существует, и статус «есть»Checked In ", или он существует и имеет статус" Checked Out ".Может быть и четвертый случай, когда документ существует, но статус не «зарегистрирован» или «извлечен», но ваша логика, вероятно, должна попытаться избежать этого, и в любом случае я собираюсь написать формулы скрытия когдатак что в этом случае обе ссылки будут скрыты.

Теперь, в большинстве случаев, на самом деле, немного проще думать с точки зрения Видения-Когда, а не Скрытия-Когда, поэтому я собираюсь переформулировать вашитребования как видят когда.Ваши правила See-WHen:

  1. См. Точку регистрации, когда нет документа о ежедневном посещении для текущего пользователя и текущего дня.
  2. См. Точку выхода из системыесли для текущего пользователя и текущего дня существует документ о ежедневном посещении, а поле «Статус» в документе «Зарегистрировано».

Чтобы использовать логику «видеть когда» в формуле «скрыть когда», выпросто напишите свою формулу, основанную на правилах «видеть когда», а затем поставьте перед ней логический смысл, чтобы получить конечный результат.

Ваше скрытое время для абзаца, содержащего точку входа "Регистрация", будет выглядеть следующим образом:

key := @Name([CN];@Username) + "-" + @Text(@Today);
status := @DbLookup("Notes":"NoCache";"":"";"DailyAttendance";key;2);
notFound := @IsError(status);
seeWhen = notFound;
!(seeWHen);

Большинство опытных программистов Notes сведут это в более короткую формулу.Я оставил его в пошаговом формате, чтобы сделать его как можно более очевидным.

Ваше время скрытия для абзаца, содержащего точку доступа «Извлечение», будет выглядеть следующим образом:

key := @Name([CN];@Username) + "-" + @Text(@Today);
status := @DbLookup("Notes":"NoCache";"":"";"DailyAttendance";key;2);
found := !(@IsError(status));
seeWhen = found & (status = "Checked In");
!(seeWhen)
...