Добавление значения в поле с массивом на собакоформуле

Тема в разделе "Lotus - Программирование", создана пользователем Wanderer, 30 окт 2007.

  1. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    Нужен довольно срочный хелп. Пока ищу ответа, но неудачно.
    Как через собакоформулы добавить значение в поле, в котором содержится массив значений?
    Речь идет, например, о полях из АК типа Shortname, где может быть несколько алиасов.
    Пробовал обходной вариант - добавление значения через точку с запятой. Не помогает. Но если открыть измененный документ, поле с алиасом автоматически правится, разделитель уходит и значения выстраиваются в столбик. Если сохранить такой документ, то все становится ОК.
    Получается, мне надо через агент добавлять значение через точку с запятой, а затем - как-то рефрешить документ.
    А более красивого варианта нет? На скриптах вроде было что-то готовое.. типа appendToTextList
     
  2. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Через оператор ":" ?
     
  3. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    Забыл сказать, ":" пробовал - не катит
     
  4. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: Wanderer
    Show code :)
    ":" должно работать
     
  5. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: Wanderer
    Значит не так пробовал. Потому что именно так добавляются значения в многозначное поле.
    Посмотри еще @Implode.
     
  6. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    я бы попробовал

    Код (Text):
    FIELD Field1 := [code]@Explode(@implode( Field1; "^^*^^" ); "^^*^^"):"NewValue"
     
  7. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    Вот код с ":"
    Код (Text):
    @If(@IsMember(@Left(InternetAddress; "@"); shortname);"";FIELD shortname:=shortname+":"+@Left(InternetAddress; "@"));
    SELECT @All
    Когда захожу после работы агента в измененный документ, поле Шотнейм не обновляется - получается, двоеточие не распознается им как разделитель, как было с ";".

    Вместо ":" пробовал вставлять новую строчку через @Newline. Результат аналогичен вариант с двоеточием.
     
  8. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    я агентом в документ в поле так добавляю
    FIELD Readers:=Readers:"CN=Mariya A Galickih/OU=URSO/O=Probusiness Bank";
    SELECT @All
     
  9. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Надо так:
    <!--QuoteBegin-Wanderer+30:10:2007, 14:31 -->
    <span class="vbquote">(Wanderer @ 30:10:2007, 14:31 )</span><!--QuoteEBegin-->shortname:=shortname : @Left(InternetAddress; "@"));
    [snapback]83603" rel="nofollow" target="_blank[/snapback]​
    [/quote]
     
  10. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    Спасибо за помощь, коллеги! Помогло.
    Про оператор : не был в курсе. Или был, но уже давным-давно забыл - не программировал давно )
     
Загрузка...

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