1

Тема: Удаление одного значения изз множественного поля

В лотусе просто так нельзя удалить одн значение с множественного поля.
Например:
idx=Arraygetindex(doc.who, user)
doc.who(idx) = ""   ошибка
не работает.


А надо:

Set item = docref.GetFirstItem( "who" )       
        valueArray=item.values
        idx=Arraygetindex(valueArray, user)   
        If idx>=0 Then
            valueArray(idx)=""   
            Item.Values =  Fulltrim(valueArray)
            Set item = docref.GetFirstItem( "whois" )       
            valueArray=item.values
            valueArray(idx)=""   
            Item.Values =  Fulltrim(valueArray)
        End If

Поделиться

2

Re: Удаление одного значения изз множественного поля

Этот код удаляет текущего юзера "user" с поля "who", а потом по индексу idx удаляет его же данные с поля "whois"


    idx=Arraygetindex(doc.who, user)
    Print "idx" idx
    doc.empty=""
    Set itemtmp = doc.GetFirstItem("empty")
    Forall z In item.values
        If z<>user Then  Call itemtmp.AppendToTextList(z)
    End Forall
    doc.who=doc.empty
    doc.empty=""
   
   
    Set item = doc.GetFirstItem("whois")
    zz=0
    Forall z In item.values
        zz=zz+1
        If zz <> idx Then   Call itemtmp.AppendToTextList(z)  '  индекс юзера
    End Forall
    doc.whois=doc.empty
    doc.empty=""

Поделиться

3

Re: Удаление одного значения изз множественного поля

Удаление дублей значений в множественном поле.
В поле empty вносим только уникальные значения поля who.

Set item2 = doc.GetFirstItem("empty") ' удаление дублей who
Forall v In item.Values
If Not item2.contains(v) Then Call item2.AppendToTextList(v)
End Forall   
doc.who=doc.empty
doc.empty = ""

Поделиться