как определить другую запись в поле в лотосе - PullRequest
0 голосов
/ 05 марта 2012

У меня есть кнопка Добавить в диалоговой форме, чтобы добавить элементы, их количество, цену, валюту и список в поле ниже.В форме есть поле валюты.это выпадающий список со многими валютами.Валюта должна быть одинаковой при добавлении предметов.если происходит смена валюты, должно появиться окно сообщения.ниже приведена часть кода для события добавления кнопки."cur" - это поле валюты.

Sub Click(Source As Button)
    'On Error Goto errhandle
    Dim work As New notesuiworkspace  
    Dim uidoc As notesuidocument
    Dim doc As notesdocument
    Dim item As String, weight As String
    Dim qty As String, price As String 
    Dim sbtotal As String   
    Dim gtotal As String

    Set uidoc = work.currentdocument 
    Set doc =uidoc.Document

    item = uidoc.FieldGetText("Item")
    qty = uidoc.FieldGetText("Qty")
    price = uidoc.FieldGetText("Price")
    cur = uidoc.FieldGetText("cur")
    sbtotal= uidoc.FieldGetText("SubTotal")

    Call uidoc.Refresh

    'weight = uidoc.FieldGetText("W_Qty")
    'adj = uidoc.fieldGetText("Adj")
    remark = uidoc.FieldGetText("Remarks")
    If item = "" Or qty = "" Or price = "" Then 
        Msgbox "Please complete the data entry ", 16, "Error - Incomplete Data Entry"
        Exit Sub
    End If
        recordNo = uidoc.fieldgettext("ww")

    If recordNo = "" Then
        recordNumber = 0 
    Else 
        pos = Instr(recordNo,";")
        If  pos > 0 Then 
            number = Right(recordNo , pos -1) 
        Else
            number = Left(recordNo , pos +1)
        End If 
        recordNumber = Cint(number)
    End If      


    recordNumber = recordNumber + 1  
    'to append text
    Call uidoc.FieldAppendText("no" ,";" & Cstr(recordNumber))     
    Call uidoc.FieldAppendText("Item1" ,";" & item)
    Call uidoc.FieldAppendText("Q1" , ";" & Cstr(qty))
    Call uidoc.FieldAppendText("amt" , ";" & Cdbl(price))
    Call uidoc.FieldAppendText("C1" , ";" & Cstr(cur))
    Call uidoc.FieldAppendText("TSubTotal" , ";" & Cdbl(sbtotal)) 


     'clear entering data
    uidoc.FieldClear("Remarks")
    uidoc.FieldClear("Item")
    uidoc.FieldClear("Qty")     
    uidoc.FieldClear("Price")
    'uidoc.FieldClear("W_Qty")          
    Call uidoc.FieldSetText("SubTotal","0.00")
    uidoc.refresh




    Dim subtotal As Double
    subtotal = 0
    Forall stotal In doc.TSubTotal
        If stotal <> "" Then
            subtotal = subtotal + Cdbl(stotal)
        End If
    End Forall
    total =  subtotal  '+ Cdbl(curdoc.SubTotal(0))
    Call uidoc.FieldSetText("GrandTotal",Format(total,"#,##0.00"))
    uidoc.refresh
    uidoc.gotofield"Item"
End Sub

Пожалуйста, помогите мне.Спасибо.

Ответы [ 2 ]

1 голос
/ 05 марта 2012

Создайте новое скрытое поле с именем selectedCurrency. Начальное значение этого поля должно быть пустым.

В вашем коде кнопки «Добавить» необходимо сначала проверить selectedCurrency, а если оно пустое, установить его равным cur.

Затем, также в коде для кнопки Добавить, вам нужно сравнить selectedCurrency и cur, и если они не равны, вы должны отобразить окно сообщения.

1 голос
/ 05 марта 2012

Я бы исправил валюту вне кода для кнопки «Добавить», а также сделал бы ее необходимой, прежде чем можно будет добавить «Добавить».

...