Замена функций

Тема в разделе "Lotus - Программирование", создана пользователем kilcher, 28 фев 2008.

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

    kilcher Гость

    Доброе утро! Можно ли заменить функцию @GetField на @SetField в формуле
    @If(@Elements(revpositions) >= 2; @GetField("revpositions")[2]; @Nothing)?
     
  2. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Нет. На собаках нельзя менять элементы по индексу напрямую.
     
  3. kilcher

    kilcher Гость

    Это получается,что для Lotus 5.0 эта формула не подходит и надо скрипт писать? :blink:
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    нет , потому что к масиву можно обратиться по индексу Х, но нельзя записать ( используя кв. скобки )
    поэтому я вычислял все элементы с индексом меньше Х(пусть А), и все элементы с индексом больше Х (Пусть С ), а потом компоновал

    @SetField("revpositions"; А : ЭлементНаЗамену : С ) ;
     
  5. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Или я не так понял и ты не про индекс?
    В 5-ке перед @SetField нужно задекларировать поле. Т.е. FIELD revpositions := revpositions.
     
  6. kilcher

    kilcher Гость

    Дело в том,что я не знаю заранее какие у меня элементы массива.И элемент на замену чего? Мне же просто надо вытащить конкретный(по индексу) элемент
     
  7. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Не понятно. Если надо вытащить элемент, то зачем @SetField?
     
  8. kilcher

    kilcher Гость

    А какой в 5ке есть аналог @GetField?
     
  9. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    kilcher
    да зачем вам гетфиелд? обратитесь к полю по имени )))
    revpositions[2]
     
  10. kilcher

    kilcher Гость

    Если я просто присваиваю FIELD position2 := revpositions[2] Возникает ошибка Unable to interpret Time or Date [2]
     
  11. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    @Subset ( revpositions; 2 ) ?
     
  12. kilcher

    kilcher Гость

    Так я уже делала. Он заносит в поле все значения из списка.Т.е если ( revpositions; 2 ),то первое и второе
     
  13. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Тогда уж @Subset(@Subset(revpositions; 2); -1).

    А еще есть:
    @GetDocField(@DocumentUniqueID; ...)
     
  14. kilcher

    kilcher Гость

    Можно задам еще вопрос опять же по замене функций? В Lotus 6.5 в кнопке работал код

    @If ( (myFieldFlag = "0":"") &(Lastname1!="");
    @Do(
    FIELD Untitled1 := "1. ";
    @Command( [RefreshHideFormulas] );
    FIELD myFieldFlag := "1"
    )
    ...........

    После переноса в 5ку код изменился на

    @If ( (myFieldFlag = "0":"") &(Lastname1!="");
    @Do(
    Untitled1 DEFAULT "1. " ;@Command
    ([RefreshHideFormulas] ) ;myFieldFlag
    DEFAULT "1" ) ;
    ..........
    И соответственно перестал работать.Я не поняла,а что не так то? Почему он заменяет функции? Ведь FIELD и @Do так же есть в 5ке. И так везде,где используется @if и @Do.

    P.S. Сделала так @Subset(@Subset(revpositions;2); -1). Вроде все работает.Спасибо.
     
  15. Sandr

    Sandr Гость

    Гы, прикольно... перепишите руками... :angry:
    @SetField используйте... тогда не сломается...
     
  16. kilcher

    kilcher Гость

    Я вроде так и сделала
    FIELD Untitled1:=Untitled1;
    @If ( (myFieldFlag = "0":"") &(Lastname1!="");
    @Do(@SetField( Untitled1 ; "1. ");
    @Command([RefreshHideFormulas] ) );
    @Success)
    Но ничего не работает :angry:
     
  17. Sandr

    Sandr Гость

    в @SetField названия полей в кавычки брать надо...
     
  18. Гость

    Насколько я помню в 5-ке есть проблемы с @Do, лучше его не использовать
     
  19. Sandr

    Sandr Гость

    Обоснуйте, какие проблемы? Не слышал никогда...

    ЗЫ: А что использовать? :angry:
     
  20. Гость

    Проблемы те, что не работает. По крайней мере у меня была такая ситуация, что в 5-ке появлялась ошибка в связи с этим оператором (какая точно уже не помню). В данной ситуации этот оператор можно заменить на несколько @IF
     
Загрузка...
Статус темы:
Закрыта.

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