Проблемы с embedded view

Тема в разделе "Lotus - Программирование", создана пользователем Amfion, 5 мар 2015.

  1. Amfion

    Amfion Well-Known Member

    Регистрация:
    26 май 2010
    Сообщения:
    138
    Симпатии:
    3
    Domino 6.5.1

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

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    добавлю свою печаль :)
    эмбеднута вьюшка в таблицу (типа вкладки), отбор отображения по категории + подменяется (в зависимости от ключа) источник (другая вьюшка). При открытии дока отображается как если бы ключ пустой (хотя ключ показывает верный)
    в постопен есть обновление дока (принудительное)
    НО если кликнуть на область таблицы - вьюшка отобразится правильно
    Это поведение появилось с нотусей 8.5+ (в 7-ке все отображалось правильно)
     
  3. Leoric

    Leoric Well-Known Member

    Регистрация:
    15 окт 2003
    Сообщения:
    57
    Симпатии:
    16
    Ух ты, не думал, что где-то еще стоит это ископаемое :)

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

    Amfion Well-Known Member

    Регистрация:
    26 май 2010
    Сообщения:
    138
    Симпатии:
    3
    Да по F9 тоже все ок становится. Наскока знаю Embedded View появился тока в 6 может были глюки и надо fix какой накотить. Выбор правда идет респонс документов для view.

    Индекс авто после первого использования.
     
    #4 Amfion, 5 мар 2015
    Последнее редактирование модератором: 5 мар 2015
  5. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    в PO (PostOpen) событие формы впилить код source.Refresh
    [DOUBLEPOST=1425550859,1425550765][/DOUBLEPOST]у вьюшки есть свой рефреш, но вопрос - будет ли он действовать для встроенной
    [DOUBLEPOST=1425550939][/DOUBLEPOST]еще есть NotesUIWorkspace.ViewRefresh - действует по контексту (обновление именно воркспейса)
     
  6. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    @lmike, по твоей проблеме: начиная с 8.5.1 лотус переводит фокус с открытого документа / фреймсета - черт знает куда.
    У меня в адресную строку.
    В 9-ке это сохранилось, возможно стоит сделать перевод фокуса внутрь документа при открытии.

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

    Leoric Well-Known Member

    Регистрация:
    15 окт 2003
    Сообщения:
    57
    Симпатии:
    16
    Это нормальная ситуация, если в левом верхнем углу вида есть значек refresh, то у вас на экране в вид не соответствует индексу сервера.
    Посмотрите в сторону таймера и автообновления через ViewRefresh, на PostOpen код ничего не даст по идее, т.к. документ уже открыт и остается открытым.

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

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    самое "смешное" что все интерактивные команды типа перемесить фокус в доке - работают
    и если давить на клаву - будет набираться текст
    вощем с фокусом там какие-то фокусы (индусыматьих)
     
  9. Amfion

    Amfion Well-Known Member

    Регистрация:
    26 май 2010
    Сообщения:
    138
    Симпатии:
    3
    Так а как это сделать. Пользователь открывает док и оставляет на пару часов и результат тот что выше. Он не хочет переоткрывать или нажимать что то.
    [DOUBLEPOST=1425556512][/DOUBLEPOST]
    Скоро планируем переход на 9. а что значит в сторону таймера.
    [DOUBLEPOST=1425556552][/DOUBLEPOST]
    поясни что ты имел ввиду под
    Посмотрите в сторону таймера и автообновления через ViewRefresh
     
  10. Amfion

    Amfion Well-Known Member

    Регистрация:
    26 май 2010
    Сообщения:
    138
    Симпатии:
    3
    Непонятно почему он отображает спустя пару часов то чего там быть не должно.
     
  11. Leoric

    Leoric Well-Known Member

    Регистрация:
    15 окт 2003
    Сообщения:
    57
    Симпатии:
    16
    Индекс view строится на сервере. А т.к. Lotus это распределенная система, то на клиенте может быть что угодно. Синхронизация с сервером = F9 либо программный вызов спец функция перечисленных выше.

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

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    @Amfion, у нас тоже есть такие, честно отвечаем - если переоткрыть все обновится, хотят не хотят - переоткрывают.
    javaScript таймер, я выше ссылку кидал где расписано как сделать.
    Нужен designer естественно и редактировать дизайн базы.
     
  13. erdi

    erdi Well-Known Member

    Регистрация:
    20 авг 2008
    Сообщения:
    261
    Симпатии:
    36
    это не проблема 6-ки
    у меня на 8.5.3 и на 9-ке такая же беда периодически появляется...иногда даже это приводило к абсолютно непредсказуемым последствиям
    точного ответа, какое именно действие вызывает такой эффект - я не нашел
    частично удалось компенсировать его поигравшись с настройками автообновления вьюшки + проанализировал где, когда и как часто вызывается notesUIWorkspace.ViewRefresh
     
  14. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    Ключ не из листбокса-ли? (или подобное, embView, в том числе ). Тогда конечный embView ShowSingleCat может "недовычисляеться" (от вёрстки зависит).
    Двойной рефреш постоупен? Не?
     
  15. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    @If(condition="";"FieldsWOFormula";"FieldsCategorizedWOFormula")
    формула для категории UID+condition
    да хоть тройной ;) - ему пох
    [DOUBLEPOST=1425563589,1425563512][/DOUBLEPOST]причем condition CFD и оно гарантировано не пустое
    Код (Text):
    REM {С formversion версии 3: typeChooser содержит сам префикс, а не название};
    @if(formversion=3;
    @Do(tmp:={|}+typeChooser;
    @If(!@IsDocBeingEdited;@Return(tmp);"");
    FIELD tmp_condition:=tmp;
    @Return(tmp));
    "");
     
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    кастыль следующий, в JSHeader:
    Код (Javascript):
    function runFake(){
    document.forms[0].fake.click();
    }
    window.setTimeout("runFake();", 500);
     
    в кнопке uidoc.Refresh
    в PO: Set uidoc=source
    uidoc - глобальна для формы
     
  17. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    CFD иногда фортели кидает (как раз, на 8-ке и 9-ке) - приходилось делать просто computed с запретом сохранения.
     
  18. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    именно затем и сделано
    Код (Text):
    FIELD tmp_condition:=tmp;
    [DOUBLEPOST=1425569876,1425569756][/DOUBLEPOST]а в ЛС
    Код (LotusScript):
    Dim item As NotesItem
    Set item=doc.GetFirstItem({tmp_condition})
    item.SaveToDisk=False
    condition=item.Text
     
  19. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    Ну, те ничо полезного не кинешь :happy:
    Опыт - колоссаль. С трёшки на нотусне сидишь?
     
  20. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    починил (нашел свою лагу еще с древних времен)...
    убрал @If(!@IsDocBeingEdited;@Return(tmp);"");
    и поменял @If(tmp_condition="" | tmp_condition="|0" ;"FieldsWOFormula";"FieldsCategorizedWOFormula")
    UID+@If(tmp_condition="|0";"";tmp_condition)
    всем спасибо - а тобы и копать не начал :)
    [DOUBLEPOST=1425570812,1425570775][/DOUBLEPOST]
    с 4-ки
     
Загрузка...
Похожие Темы - Проблемы embedded view
  1. aliaksandr89
    Ответов:
    3
    Просмотров:
    123
  2. Amfion
    Ответов:
    5
    Просмотров:
    120
  3. wowa
    Ответов:
    7
    Просмотров:
    378
  4. John_Tavarez
    Ответов:
    0
    Просмотров:
    335
  5. Валентин Амбер
    Ответов:
    11
    Просмотров:
    344

Поделиться этой страницей