• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Не перещитываются автоматически поля

  • Автор темы xKlonx
  • Дата начала
X

xKlonx

Здраствуйте!!!У меня на форме есть computed поле и оно почему - то автоматически не перещитывается,только если я открою форму для редактирования и сохраню.Пожалуста подскажите
 
A

allex

На форме включена опция - автоматического рэфреша
Поле пересчитывается после выполнения скриптом каких либо операций или после ручного ввода
Какой именно computed у поля (for display или when composed)
 
A

Akupaka

У меня на форме есть computed поле и оно почему - то автоматически не перещитывается,только если я открою форму для редактирования и сохраню
а ты хотел чтобы как было? :(
значения полей пересчитываются при обновлении формы.
автоматически обновление происходит при переходе в режим редактирования, перед УИ сохранением.
еще можно в некоторых полях сказать, чтобы при его изменении происходил пересчет формы, ну и кодом.
зы: ну и как выше указано, на форме можно включить галку, но с ней надо осторожно.
 
X

xKlonx

Итак для чего мне это нужно.Я пишу веб страницу и там поместил такой раздел "Сегодня день рождение у"
и во вьюхе Xpage отображаю у кого сегодня день рождение,проблема в том что в пятницу 6 го числа для теста указал 2 человека типа у них день рождение,сегодня проверяю а они отображаются,тоесть поле не перещиталось,поле у меня просто компутед
 
A

Akupaka

какое поле не пересчиталось? где? :(
если надо в режиме чтения чтобы пересчитывалось, использую CFD, но оно не хранится
 
A

allex

В форме документа на postrecalc поставь refresh, а на view обновление раз в сутки

или смотри использование computedwithform

Какой механизм сохранения дока у тебя, нужно ли видеть пересчитанное в документе (тогда переоткрытием решить и вернуть док в режим чтения)
 
X

xKlonx

Akupaka
какое поле не пересчиталось? где?
текстовое поле.Есть 2 поля одно в которое я указываю день рождение человека,и другое компутед с формулой

monthBirth:= @Text(@Month(DOB));
dayBirth:= @Text(@Day(DOB));

monthNow:=@Text(@Month(@Now));
dayNow:=@Text(@Day(@Now));

@If(dayBirth = dayNow & monthBirth=monthNow;"1";"0")

Потом создал вьюху где силект формы и это поле = 1
 
A

allex

На PostreCalc повесь
Код:
@If(dayBirth = dayNow & monthBirth=monthNow;@SetField("твое поле";"1");@SetField("твое поле";"0"))


.
 
A

Akupaka

текстовое поле.Есть 2 поля одно в которое я указываю день рождение человека,и другое компутед с формулой

monthBirth:= @Text(@Month(DOB));
dayBirth:= @Text(@Day(DOB));

monthNow:=@Text(@Month(@Now));
dayNow:=@Text(@Day(@Now));

@If(dayBirth = dayNow & monthBirth=monthNow;"1";"0")

Потом создал вьюху где силект формы и это поле = 1
я бы сказал, что это очень странный подход к задаче...
т.е. фактически, тебе придется документ пользователя (а я так понял, что именно он отображается в виде и хранит дату ДР) менять дважды, если у него ДР наступил, и прошел тот день.

а может быть лучше сделать агент, который просто будет пробегать по докам юзеров и собирать данные о тех, кто счастлив в этот день, и писать эту инфу в отдельный документ в базе, а уже на странице, где нужна эта инфа, отображать нужные данные!
1) не надо править документы пользователя;
2) не нужен никакой вид;
3) инфа отображается так как тебе надо, а не в виде;
имхо :(
 
X

xKlonx

Решил с помощью шедульного агента,куда поместил этот же код

monthBirth:= @Text(@Month(DOB));
dayBirth:= @Text(@Day(DOB));

monthNow:=@Text(@Month(@Now));
dayNow:=@Text(@Day(@Now));SELECT

@If(dayBirth = dayNow & monthBirth=monthNow;@SetField("CheckBirtDay";"1");@SetField("CheckBirtDay";"0"))
Протестировал работает нормально.Спасибо за помощь!
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Код:
monthBirth:= @Text(@Month(DOB));
dayBirth:= @Text(@Day(DOB));

monthNow:=@Text(@Month(@Now));
dayNow:=@Text(@Day(@Now));SELECT

@If(dayBirth = dayNow & monthBirth=monthNow;@SetField("CheckBirtDay";"1");@SetField("CheckBirtDay";"0"))

ребята, вы чего?
Всё это можно сократить в одну строчку
@If(@Text(@Now; "D2")=@Text(DOB; "D2")....
Symbol Meaning
D0 Year, month, and day
D1 Month and day, year if it is not the current year
D2 Month and day
D3 Month and year
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!