Поменять значение у поля $

Тема в разделе "Lotus - Программирование", создана пользователем motogarri, 20 май 2010.

  1. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    На формулах получается, а на срипте не знаю как. И примера найти не могу.

    FIELD $Table1 := "3";
    @Command([RefreshHideFormulas])

    Пытаюсь менять вкладки у таблицы.
    Так не срабатывает:
    doc.~$Table1 = "3"

    И второй вопрос. Вкладки таблицы можно блокировать от редактирования, как разделы? Или скрывать? Не найду ничего по этой теме, а в свойствах таблицы этого нет.
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    garri
    Call Doc.ReplaceItemValue("$Table1 " , "3")
     
  3. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    а что, doc.replaceItemValue(имя_поля, значение) уже не в моде?
     
  4. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Наверное в моде, только не знал о нем. Спасибо))
     
  5. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    вкладка скрывается, если скрыть всё ее содержимое.
     
  6. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Понятно, спс.
     
  7. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Через расширенный синтаксис можно так:

    Doc.~$Table1="3"

    Т.е. добавив "~"
     
  8. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Так автор так и писал в первом посте. Наверное, не хватает
    uidoc.RefreshHideFormulas
     
  9. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Скорее так автор добавил сегодня. Хотя, можт я просто не заметил.
     
  10. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Да, я пытался рефрешить uidoc.Refresh, вылетала ошибка. Кстати, а на какой событие можно повесить переключение вкладок? QueryOpen и PostOpen, как я понял (методом тыка) происходят раньше чем появляется uidoc и таблица. А мне нужно при открытии документа делать проверку и в зависимости от статуса переходить на нужную вкладку.

    И так и не получилось блокировать по условию отдельные поля или вкладки на форме. Только скрывать. А если документ переводят в режим редактирования, в скрытое поле, как-то случайно может попасть фокус и измениться значение?

    TIA, вы несправедливы к автору)) У меня есть умная книжка, там написано как к таким полям обращаться. Косяк с рефрешем вышел, а я подумал, что неправильно к полю обращаюсь.
     
  11. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Значит не заметил.
     
  12. Klido

    Klido Гость

    garri
    см. тема похожая тут - http://codeby.net/forum/threads/35711.html
     
  13. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Для запрета на редактирование определённых полей в Лотусе часто применяется скрытие редактируемого поля и отображение вместо него computed-for-display поля со значением вычисляемого. Фокус в скрытое поле попадать не должен.

    UIdoc.Refresh вызовет ошибку, если документ не в режиме редактирования, попробуйте uidoc.RefreshHideFormulas
     
  14. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Уже попробовал. Все работает. Спасибо.
     
Загрузка...

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