Исчезновение CFD-полей при NotesUIDocument.refresh(False) на PMCh

VladSh

начинающий
Lotus team
11.12.2009
1 248
2
#1
Пост "на правах рекламы" :maybe: Если тема такая уже была, подскажите, объединю.

Было так:
в свойствах формы смотрю галку "Automatically refresh fields" и пытаюсь изменить эту опцию. Вообще, желательно, без острой необходимости :) её не включать.
Было несколько раз, что это не помогало... и если "Код создания форм одинаковый, свойства формы и прочего одинаковы", то на Postmodechange чтобы формулы на действиях корректно перепросчитывались ставлю:
Код:
If Source.EditMode Then Call Source.Refresh() Else Call Source.RefreshHideFormulas()
Так вот сегодня замечен сабж.

Что интересно: при Call Source.Refresh(True) CFD-поля не исчезают. Из доке все знают про параметр, за что он отвечает. Так что, видимо, и за это тоже. Вот такая баго-фича.

Ещё, строки с вызовом Refresh компилятся с двумя булевскими параметрами, но 2-й параметр ни на что видимо не влияет.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#4
ааа, чо-то ступил CFD это же у нас для отображения юзеру компутед фор ДИСПЛЕЙ

вопрос накой на них подвязываться и делать их зависимыми для других полей?

и да компьютедвичформ на них ложит по полной
 

VladSh

начинающий
Lotus team
11.12.2009
1 248
2
#7
вопрос накой на них подвязываться и делать их зависимыми для других полей?
Формула может быть большая. Чтобы каждый раз на нужных элементах дизайна (которых м.б. много) не вычислять.
Например, если формула скрытия одна и та же, то проще везде прописать CFDField или !CFDField - гораздо лучше иметь одну точку входа для редактирования формулы, а не парить мозг с тем, что где-то поменял, а где-то нет.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 492
367
#8
ну теоретически их можно "восстанавливать" кодом, хотя не уверен что это корректно отразится во фронэнде
восстанавливать типа собирать содержимое до их пропадания и записывать в док после

Добавлено: а вопщем мне сильно доставляет нотусёвый UI рендер... жутко глюкавая штука
что мешало индусам запилить webkit (ему "сто лет" уже как) в кач. отображалки - подозреваю лень и смена приоритетов на хэПаги
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#10
Формула может быть большая. Чтобы каждый раз на нужных элементах дизайна (которых м.б. много) не вычислять.
если формула большая, значит что-то пишешь совсем не правильно

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

VladSh

начинающий
Lotus team
11.12.2009
1 248
2
#11
Ситуации бывают разные. Результаты DbLookup'ов для всех форм и категорий я не запишу в профайл.
Это всё вода, тема не об этом. А о том, что есть такой трабл, и как его обходить. Всё.