Проблемы с embedded view

Amfion

Well-Known Member
26.05.2010
143
4
#1
Domino 6.5.1

Возникают проблемы с Embedded View. Embedded View отображает неверные поручения. Возникает когда документ долго остается открытым. Вечером оставляю открытый документ, утром в нем отображаются неверная выборка для Embedded View. Переоткрываю документ все ок.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 490
366
#2
добавлю свою печаль :)
эмбеднута вьюшка в таблицу (типа вкладки), отбор отображения по категории + подменяется (в зависимости от ключа) источник (другая вьюшка). При открытии дока отображается как если бы ключ пустой (хотя ключ показывает верный)
в постопен есть обновление дока (принудительное)
НО если кликнуть на область таблицы - вьюшка отобразится правильно
Это поведение появилось с нотусей 8.5+ (в 7-ке все отображалось правильно)
 

Leoric

Well-Known Member
15.10.2003
60
16
#3
Ух ты, не думал, что где-то еще стоит это ископаемое :)

А по теме... если нажать F9 ок не становится?
Посмотрите также на то, как обновляется индекс вида, возможно стоит не постоянный, а ежечасный к примеру.
 

Amfion

Well-Known Member
26.05.2010
143
4
#4
Ух ты, не думал, что где-то еще стоит это ископаемое :)

А по теме... если нажать F9 ок не становится?
Посмотрите также на то, как обновляется индекс вида, возможно стоит не постоянный, а ежечасный к примеру.
Да по F9 тоже все ок становится. Наскока знаю Embedded View появился тока в 6 может были глюки и надо fix какой накотить. Выбор правда идет респонс документов для view.

Индекс авто после первого использования.
 
Последнее редактирование модератором:

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 490
366
#5
в PO (PostOpen) событие формы впилить код source.Refresh
 
у вьюшки есть свой рефреш, но вопрос - будет ли он действовать для встроенной
 
еще есть NotesUIWorkspace.ViewRefresh - действует по контексту (обновление именно воркспейса)
 

savl

Well-Known Member
Lotus team
28.10.2011
2 126
163
#6
@lmike, по твоей проблеме: начиная с 8.5.1 лотус переводит фокус с открытого документа / фреймсета - черт знает куда.
У меня в адресную строку.
В 9-ке это сохранилось, возможно стоит сделать перевод фокуса внутрь документа при открытии.

@Amfion, если документ открыть всю ночь, то все логично, так как он не обновляется (F9).
Если в PO впилить Refresh, то надо быть уверенным, что документ в режиме редактирования.
Да, он так же обновит встроенную вьюху.
Где-то тут был JavaScript таймер, который по кнопке на форме жал и она обновлялась..
 
О, нашел линк
 

Leoric

Well-Known Member
15.10.2003
60
16
#7
Да по F9 тоже все ок становится. Наскока знаю Embedded View появился тока в 6 может были глюки и надо fix какой накотить. Выбор правда идет респонс документов для view.

Индекс авто после первого использования.
Это нормальная ситуация, если в левом верхнем углу вида есть значек refresh, то у вас на экране в вид не соответствует индексу сервера.
Посмотрите в сторону таймера и автообновления через ViewRefresh, на PostOpen код ничего не даст по идее, т.к. документ уже открыт и остается открытым.

P.S. А почему клиент не 7.0.4? Насколько я помню разница там не критичная, а стабильность получше стала...
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 490
366
#8
начиная с 8.5.1 лотус переводит фокус с открытого документа
самое "смешное" что все интерактивные команды типа перемесить фокус в доке - работают
и если давить на клаву - будет набираться текст
вощем с фокусом там какие-то фокусы (индусыматьих)
 

Amfion

Well-Known Member
26.05.2010
143
4
#9
в PO (PostOpen) событие формы впилить код source.Refresh
 
у вьюшки есть свой рефреш, но вопрос - будет ли он действовать для встроенной
 
еще есть NotesUIWorkspace.ViewRefresh - действует по контексту (обновление именно воркспейса)
Так а как это сделать. Пользователь открывает док и оставляет на пару часов и результат тот что выше. Он не хочет переоткрывать или нажимать что то.
 
Это нормальная ситуация, если в левом верхнем углу вида есть значек refresh, то у вас на экране в вид не соответствует индексу сервера.
Посмотрите в сторону таймера и автообновления через ViewRefresh, на PostOpen код ничего не даст по идее, т.к. документ уже открыт и остается открытым.

P.S. А почему клиент не 7.0.4? Насколько я помню разница там не критичная, а стабильность получше стала...
Скоро планируем переход на 9. а что значит в сторону таймера.
 
Так а как это сделать. Пользователь открывает док и оставляет на пару часов и результат тот что выше. Он не хочет переоткрывать или нажимать что то.
 

Скоро планируем переход на 9. а что значит в сторону таймера.
поясни что ты имел ввиду под
Посмотрите в сторону таймера и автообновления через ViewRefresh
 

Amfion

Well-Known Member
26.05.2010
143
4
#10
Непонятно почему он отображает спустя пару часов то чего там быть не должно.
 

Leoric

Well-Known Member
15.10.2003
60
16
#11
Непонятно почему он отображает спустя пару часов то чего там быть не должно.
Индекс view строится на сервере. А т.к. Lotus это распределенная система, то на клиенте может быть что угодно. Синхронизация с сервером = F9 либо программный вызов спец функция перечисленных выше.

Над моим ответом savl привел ссылку на действия по таймеру. (таймер надо JS, а не NotesTimer, подробности в теме по ссылке)
 

savl

Well-Known Member
Lotus team
28.10.2011
2 126
163
#12
Так а как это сделать. Пользователь открывает док и оставляет на пару часов и результат тот что выше. Он не хочет переоткрывать или нажимать что то.
@Amfion, у нас тоже есть такие, честно отвечаем - если переоткрыть все обновится, хотят не хотят - переоткрывают.
javaScript таймер, я выше ссылку кидал где расписано как сделать.
Нужен designer естественно и редактировать дизайн базы.
 

erdi

Well-Known Member
20.08.2008
265
36
#13
это не проблема 6-ки
у меня на 8.5.3 и на 9-ке такая же беда периодически появляется...иногда даже это приводило к абсолютно непредсказуемым последствиям
точного ответа, какое именно действие вызывает такой эффект - я не нашел
частично удалось компенсировать его поигравшись с настройками автообновления вьюшки + проанализировал где, когда и как часто вызывается notesUIWorkspace.ViewRefresh
 

alexas1

Well-Known Member
Lotus team
10.04.2014
706
242
#14
... подменяется (в зависимости от ключа) источник (другая вьюшка). При открытии дока отображается как если бы ключ пустой (хотя ключ показывает верный) ...
Ключ не из листбокса-ли? (или подобное, embView, в том числе ). Тогда конечный embView ShowSingleCat может "недовычисляеться" (от вёрстки зависит).
Двойной рефреш постоупен? Не?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 490
366
#15
Ключ не из листбокса-ли? (или подобное, embView, в том числе ). Тогда конечный embView ShowSingleCat может "недовычисляеться" (от вёрстки зависит).
@If(condition="";"FieldsWOFormula";"FieldsCategorizedWOFormula")
формула для категории UID+condition
да хоть тройной ;) - ему пох
 
причем condition CFD и оно гарантировано не пустое
Код:
REM {С formversion версии 3: typeChooser содержит сам префикс, а не название};
@if(formversion=3;
@Do(tmp:={|}+typeChooser;
@If(!@IsDocBeingEdited;@Return(tmp);"");
FIELD tmp_condition:=tmp;
@Return(tmp));
"");
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 490
366
#16
кастыль следующий, в JSHeader:
JavaScript:
function runFake(){
document.forms[0].fake.click();
}
window.setTimeout("runFake();", 500);
в кнопке uidoc.Refresh
в PO: Set uidoc=source
uidoc - глобальна для формы
 

alexas1

Well-Known Member
Lotus team
10.04.2014
706
242
#19
Ну, те ничо полезного не кинешь :happy:
Опыт - колоссаль. С трёшки на нотусне сидишь?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 490
366
#20
починил (нашел свою лагу еще с древних времен)...
убрал @If(!@IsDocBeingEdited;@Return(tmp);"");
и поменял @If(tmp_condition="" | tmp_condition="|0" ;"FieldsWOFormula";"FieldsCategorizedWOFormula")
UID+@If(tmp_condition="|0";"";tmp_condition)
всем спасибо - а тобы и копать не начал :)
 
Ну, те ничо полезного не кинешь :happy:
Опыт - колоссаль. С трёшки на нотусне сидишь?
с 4-ки