Удаление значения из поля

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

  1. kilcher

    kilcher Гость

    Всем добрый день! Возникла следующая задачка. Нужно удалить элемент из многозначного поля(или переместить его в другое поле).
    Использовала следующее:
    @Trim(@Subset(("revNameRus");1)).
    Но почему-то не сработало :D . Может синтаксис неверен?
     
  2. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    @GetField пропущен?
    @Trim(@Subset(@GetField("revNameRus"); 1)).

    Цель какая? Удалить N-ый элемент?
     
  3. kilcher

    kilcher Гость

    Да цель именно такая.Так почему-то тоже не работает ;) . Опишу подробней.Это все еще лист соглосования :D При нажатии на кнопку "СОЛГАСОВАННО" имя визирующего лица удаляется из списка.
     
  4. D!m@n

    D!m@n Гость

    Удаление i-го элемента
    Код (Text):
    FIELD revNameRus:=@Trim(@Replace(revNameRus; revNameRus[i]; ""))
     
  5. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    @Trim(@Replace(список; имя_визирующего; @Nothing))

    <!--QuoteBegin-D!m@n+4:02:2008, 12:05 -->
    <span class="vbquote">(D!m@n @ 4:02:2008, 12:05 )</span><!--QuoteEBegin-->Удаление i-го элемента
    [snapback]96496" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Не совсем так. Удалятся все элементы revNameRus в списке.
     
  6. kilcher

    kilcher Гость

    Спасибо!!! Все работает! Красота! :D
     
  7. D!m@n

    D!m@n Гость

    2kilcher: Medevic дело говорит.
    Для Вашей задачи и моя формула подойдет, но вообще удаление i-го элемента надо делать по другому:
    Код (Text):
    list:=@Trim(@Subset(list; i-1):@Subset(list; -(@Elements(list)-i)))
    При этом счет элементов идет с единицы.
     
  8. kilcher

    kilcher Гость

    Мда.Работает то все работает,но немного не так. Если удаляю первый элемент,то получается,что первым становится второй :( . А надо чтоб первоначальные индексы значений в поле не удалялись.(может их не удалять а как-нибудь скрывать в поле)?
     
  9. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: kilcher
    А для чего?
    Можно сделать два поля. Одно скрытое и содержит полный список визоров. Второе для отображения.
     
  10. kilcher

    kilcher Гость

    Если перывый сотрудник нажимает"соглосовать",то он удаляеться из списка и т.д. Но т.к. соглосование идет не в строгом порядке первый,второй,третий и т.д.,то необходимо,чтобы удалялась именно запись согласующего(если он был в списке первоначально четвертым,то за ним и должен сохраниться его номер для кода). Во как все запутанно
     
  11. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-kilcher+4:02:2008, 12:52 -->
    <span class="vbquote">(kilcher @ 4:02:2008, 12:52 )</span><!--QuoteEBegin-->Если перывый сотрудник нажимает"соглосовать",то он удаляеться из списка и т.д. Но т.к. соглосование идет не в строгом порядке первый,второй,третий и т.д.,то необходимо,чтобы удалялась именно запись согласующего(если он был в списке первоначально четвертым,то за ним и должен сохраниться его номер для кода). Во как все запутанно
    [snapback]96518" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Так делай три поля: полный список согласующих, текущий список согласующих и список тех, кто уже согласовал. :(
    Из первого и третьего легко получаем "номер для кода)" :). Второй просто для отображения.
     
  12. kilcher

    kilcher Гость

    Это все с помощью @Replace можно сделать?
     
  13. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: kilcher
    Можно. :(
     
  14. kilcher

    kilcher Гость

    А как? :( Создала еще два поля Names1и Names2.
    В кнопке прописала @Replace( revNameRus ; @Subset(revNameRus;1) ; Names1)
    Что неверно,не заносится в список :)
     
  15. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-Medevic+4:02:2008, 12:56 -->
    <span class="vbquote">(Medevic @ 4:02:2008, 12:56 )</span><!--QuoteEBegin-->полный список согласующих, текущий список согласующих и список тех, кто уже согласовал.
    [snapback]96521" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Назовем их Список1, Список2, Список3 соответственно.
    Тогда в Список2 пишем формулу @Trim(@Replace(Список1; Список3; @Nothing)).

    В кнопке, как я понял, нужно заполнять Список3. И сделать рефреш.
     
  16. kilcher

    kilcher Гость

    Чтобы добавить в список3 я пишу FIELD @Subset(Names1;1):= Lastname1 это первый элемент.Почему после сохранения остается FIELD Names1:= Lastname1? Получается я неверно присваиваю значение элементу?
     
  17. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-kilcher+4:02:2008, 15:22 -->
    <span class="vbquote">(kilcher @ 4:02:2008, 15:22 )</span><!--QuoteEBegin-->Чтобы добавить в список3 я пишу FIELD @Subset(Names1;1):= Lastname1 это первый элемент.Почему после сохранения остается FIELD Names1:= Lastname1? Получается я неверно присваиваю значение элементу?
    [snapback]96543" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    После слова FIELD должно идти имя поля.
     
  18. kilcher

    kilcher Гость

    Значение то присваивается,но меняется когда я добавляю следующее в поле.
     
  19. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: kilcher
    Надо конкатенацию делать.
    Т.е. формула для кнопки:
    Код (Text):
    FIELD Names1 := @Unique(@Trim(Names1 : Lastname1)))
     
  20. kilcher

    kilcher Гость

    Вот и новое слово в моем словаре ;) Спасибо.Но еще остались проблемы. Из списка 2 записи не удаляются. Вот что там прописано @Trim(@Replace(revNameRus;Names1;@Nothing));
     
Загрузка...

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