Чем отличается @command([refreshhideformulas]) от F9 в режиме чтения?

Тема в разделе "Lotus - Программирование", создана пользователем Elena Nefedova, 9 июн 2006.

Статус темы:
Закрыта.
  1. Elena Nefedova

    Elena Nefedova Гость

    Здравствуйте, уважаемые!

    Есть форма с 3 внедренными видами. Для каждого - свои hide-when-формулы (в каждый момент времени должен быть доступен один вид - как для чтения, так и для редактирования).
    Высота и ширина внедренных видов установлены в Fit to Window

    Варианты решения:
    (1) Action:
    Код (Text):
    FIELD $sorting := "ByDate";
    @Command([RefreshHideFormulas])
    НО! без нажатия F9 формулы скрытия не работают!!!

    (2) Разместила вьюхи на страницах Computed Table. Тот же action. Формулы скрытия идеально работают во всех режимах
    НО! перестает работать отображение высоты видов Fit to Window - вместо этого 3-4 сантиметра видно только, хотя таблица тоже Fit to Window имеет ширину (высоту задать вроде нельзя?)

    Может, кто-то нашел, как проблему эту обойти?
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Т.е. документ открыт в режиме чтения?
    Если сделать три одинаковые формы, но с разными встроенными представлениями, а потом через @Command([SwitchForm]; ...) переключаться между ними ?
     
  3. Elena Nefedova

    Elena Nefedova Гость

    Не помогает. Зато помог лотус-скрипт
    Код (Text):
    Sub swith_to_view(s_key$)
    Dim ws As New NotesUIWorkspace
    Dim uid As NotesUIDocument
    Set uid = ws.CurrentDocument
    Call uid.Document.ReplaceItemValue("$sorting", s_key)
    Call uid.RefreshHideFormulas
    Call uid.Refresh
    End Sub
    Почему-то не работает без uid.Refresh.
    Если местами поменять RefreshHideFormulas и Refresh, то тоже не работает (в хелпе, кстати, они поменяны местами).
    Видно, это и есть аналог F9.
     
  4. oshmianski

    oshmianski Гость

    Уважаемые, зачем плодить кучу элементов дизайна. Все давно придумали за нас.
    Делаете таблицу с Switch rows programmatiсally. Раскладываете представления.
    Делаете ActionHotSpot, Button и т.д. Туда пишите код
    Код (Text):
    @If($MissionPage = "Mission"; @Return(""); "");
    FIELD $MissionPage := "Mission";
    @Command([RefreshHideFormulas])
    Пример выдрал из шаблона TeamRoom, форма "TeamRoom Setup | Mission". Просто и элегантно :) Работает и в режиме редактирования и в режиме чтения.
     
  5. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Затем, что в таблице нельзя растянуть встроенное представление на весь экран (свойство Fit to window).
     
  6. oshmianski

    oshmianski Гость

    Хм, я бы таки пробовал экспериментировать с computedtable, сделать высоту представления и\или таблицы фиксированной. Имхо, лишние элементы дизайна - это не есть гут.
     
  7. Elena Nefedova

    Elena Nefedova Гость

    Да нет уже ничего лишнего - работает без всякой без таблицы, только переключать надо лотус-скриптом.
    Код LS, приведенный выше, тестила на всех, включая ридеров - работает!


    Кстати, плохенько у них RefreshHideFormulas в этом TeamRoom-шаблоне работает: посмотрите - приходится 2 раза на ссылку нажимать, а иначе - только страничка переключается, а строчка нужная не выделяется на схеме :rolleyes:
     
  8. oshmianski

    oshmianski Гость

    Вопрос с самого начала стоял в определении выбора. Я высказал свое мнение. Конечно же, я могу ошибаться. Только сапогами меня бить не нужно ;)
    Да, действительно, активный выбор работает криво. Но это потому, что там используется OutLine. Если же использовать обычные ActionHotSpot, то все замечательно. Ну, а если нужен индикатор активного выбора, то и тут можно вопрос решить (опять же без использования OutLine).
     
Загрузка...
Статус темы:
Закрыта.

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