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

  • Автор темы Elena Nefedova
  • Дата начала
Статус
Закрыто для дальнейших ответов.
E

Elena Nefedova

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

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

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

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

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

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#2
Т.е. документ открыт в режиме чтения?
Если сделать три одинаковые формы, но с разными встроенными представлениями, а потом через @Command([SwitchForm]; ...) переключаться между ними ?
 
E

Elena Nefedova

#3
Если сделать три одинаковые формы, но с разными встроенными представлениями, а потом через @Command([SwitchForm]; ...) переключаться между ними ?
Не помогает. Зато помог лотус-скрипт
Код:
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.
 
O

oshmianski

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

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#5
Затем, что в таблице нельзя растянуть встроенное представление на весь экран (свойство Fit to window).
 
O

oshmianski

#6
Затем, что в таблице нельзя растянуть встроенное представление на весь экран (свойство Fit to window).
Хм, я бы таки пробовал экспериментировать с computedtable, сделать высоту представления и\или таблицы фиксированной. Имхо, лишние элементы дизайна - это не есть гут.
 
E

Elena Nefedova

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


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

oshmianski

#8
Да нет уже ничего лишнего - работает без всякой без таблицы, только переключать надо лотус-скриптом.
Код LS, приведенный выше, тестила на всех, включая ридеров - работает!
Вопрос с самого начала стоял в определении выбора. Я высказал свое мнение. Конечно же, я могу ошибаться. Только сапогами меня бить не нужно ;)
Кстати, плохенько у них RefreshHideFormulas в этом TeamRoom-шаблоне работает: посмотрите - приходится 2 раза на ссылку нажимать, а иначе - только страничка переключается, а строчка нужная не выделяется на схеме :)
Да, действительно, активный выбор работает криво. Но это потому, что там используется OutLine. Если же использовать обычные ActionHotSpot, то все замечательно. Ну, а если нужен индикатор активного выбора, то и тут можно вопрос решить (опять же без использования OutLine).
 
Статус
Закрыто для дальнейших ответов.