ОБСУЖДЕНИЕ

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

12 ответов 6,7 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Здраствуйте!!!У меня на форме есть computed поле и оно почему - то автоматически не перещитывается,только если я открою форму для редактирования и сохраню.Пожалуста подскажите
 
На форме включена опция - автоматического рэфреша
Поле пересчитывается после выполнения скриптом каких либо операций или после ручного ввода
Какой именно computed у поля (for display или when composed)
 
У меня на форме есть computed поле и оно почему - то автоматически не перещитывается,только если я открою форму для редактирования и сохраню
а ты хотел чтобы как было? :(
значения полей пересчитываются при обновлении формы.
автоматически обновление происходит при переходе в режим редактирования, перед УИ сохранением.
еще можно в некоторых полях сказать, чтобы при его изменении происходил пересчет формы, ну и кодом.
зы: ну и как выше указано, на форме можно включить галку, но с ней надо осторожно.
 
Итак для чего мне это нужно.Я пишу веб страницу и там поместил такой раздел "Сегодня день рождение у"
и во вьюхе Xpage отображаю у кого сегодня день рождение,проблема в том что в пятницу 6 го числа для теста указал 2 человека типа у них день рождение,сегодня проверяю а они отображаются,тоесть поле не перещиталось,поле у меня просто компутед
 
какое поле не пересчиталось? где? :(
если надо в режиме чтения чтобы пересчитывалось, использую CFD, но оно не хранится
 
В форме документа на postrecalc поставь refresh, а на view обновление раз в сутки

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

Какой механизм сохранения дока у тебя, нужно ли видеть пересчитанное в документе (тогда переоткрытием решить и вернуть док в режим чтения)
 
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
 
На PostreCalc повесь
Код:
@If(dayBirth = dayNow & monthBirth=monthNow;@SetField("твое поле";"1");@SetField("твое поле";"0"))


.
 
текстовое поле.Есть 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) инфа отображается так как тебе надо, а не в виде;
имхо :(
 
Решил с помощью шедульного агента,куда поместил этот же код

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"))
Протестировал работает нормально.Спасибо за помощь!
 
Код:
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
 

Статистика тем

Создано
xKlonx,
Последний ответ от
ToxaRat,
Ответы
12
Просмотры
6 732