Beiträge von MarcD

    Hallo meine Damen und Herren,


    ich habe mir alles zum Thema laufende Nummern mind. in diesem Forum durchgelesen.
    Meine Versorgung kann ganz rudimentär passieren(Wert soll durch Anwender auch änderbar sein) und daher möchte ich es über einen einfachen @DBLookup realisieren.


    Der meinen beschränkten Mitteln entsprechende Code ist soweit ok.
    Doch wie sichere ich den neuen Wert nun in dem entsprechenden Tabelleneintrag?


    Select Case uidoc.FieldGetText("Erfassungsort")
    Case "Augsburg", "München":
    eval = Evaluate({@DbLookup("" : "NoCache" ; @DbName; "de.xxxxxx.view.nummernkreise" ; "ALL-RW-RG-N"; "AktuelleNummer" ;[FailSilent])})
    number = Cint(eval(0))
    If number < 1 Then
    number = 1
    Else
    number = number + 1
    End If
    Call uidoc.FieldSetText("PagStempel","N-"+ Cstr(number))
    ...


    Vielen Dank für einen kurzen Wink!

    Hallo Dirk,


    ich musste sowieso wegen der Bearbeitbarkeit diverser Felder eine neue Maske bauen(kopieren), indem das Feld nun als Textfeld (Computed) erscheint.
    Die Übergabe im QuerySave funktioniert in dieser Konstellation.


    (Der Lookup holt die Kostenstelle aus einer View, die eine Liste der Kostenstellen enthält; unabhängig von Anwender und Dokumenteneigenschaft)


    Ich nehme deine Eingaben mit und komme vielleicht bei Anlass noch einmal zurück.


    Besten Dank und eine gute Zeit!


    Marc

    Ergebnis entspricht dem Verhalten, wenn ich es im 'Exiting' vom Feld ausführe: Kostenstelle_1 ist nach dem Sichern leer.
    (Ich hätte es auch lieber im Exiting, da der Zeichner ansonsten verwirrt sein könnte.)


    Der Code lautet:


    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument

    Dim kst As String
    Dim kstz As String

    Set uidoc = ws.CurrentDocument

    kst= uidoc.FieldGetText("Kostenstelle_1")
    kstz=uidoc.FieldGetText("ZKostenstelle")
    If kst <> kstz And kstz <> "" Then
    Call uidoc.FieldSetText("Kostenstelle_1", kstz)
    End If

    Der Wert soll im Frontend gefüllt werden.


    Ich habe einen Positionsblock mit Rechnungsdaten, u.a. dem Feld Kostenstelle_1.


    In einem zweiten Auruf muss ein Zeichner die relevante Kostenstelle (ZKostenstelle) in einer anderen Maske aber demselben Fenster pflegen.
    Weicht diese von Kostenstelle_1 ab soll _1 überschrieben werden.


    Beide Kostenstellenfelder sollen Comboboxen sein, die durch einen @DBLookkup mit Werten versorgt werden ...

    Hallo zusammen,


    einen habe ich noch für heute.


    Ich versuche aus einer separaten View 'de.view.kostenstellen' den Zeichner zur Kostenstelle zu finden.
    Die Formel mit festbelegter Kostenstelle bringt das gewünschte Ergebnis:
    eval = Evaluate({@DbLookup("" : "NoCache" ; "" : "" ; "de.view.kostenstellen" ; "9020"; "Zeichner" )})


    Möchte ich jedoch das Feld "Kostenstelle_1"(Combobox) verwenden, bekomme ich mit angehängter Codierung den Fehler "Variant does not contain a container"


    kst=Trim(Cstr(uidoc.FieldGetText("Kostenstelle_1")))
    kst2 = """"+kst+""""
    eval = Evaluate({@DbLookup("" : "NoCache" ; "" : "" ; "de.view.kostenstellen" ; kst2; "Zeichner" )})
    zeichner = Cstr(eval(0))
    Call uidoc.FieldSetText("Zeichner", zeichner)


    Im Debugger sehe ich, dass die Variable kst2 korrekt mit dem Wert "9020" gefüllt ist.


    Für Anregungen und Lösungen wäre ich sehr dankbar!

    Das Feld wird als leer gelesen, obwohl ich den Inhalt sehen kann( Tode: Ich habe alle Kombinationen geprüft...)


    Anhangspfad ist ein Rich Text und wurde schon unterschiedlichst befüllt(in der Anwendung auch sichtbar):


    filenames = ws.OpenFileDialog( False, "Datei auswählen", ".pdf","C:\Temp\test.pdf")
    Call uidoc.fieldsettext("Anhangspfad", filenames(0))


    ' datei = strreplace ("\","\\",filenames(0))
    ' datei = filenames(0)
    ' Call uidoc.fieldsettext("Anhangspfad", Trim(Cstr(""""+datei+"""")))


    Der GetField liefert scheinbar immer leer.
    Kann es sein, dass es daran liegt, dass der Wert im Feld durch einen Aufruf in einem anderen Feld gefüllt wird(nicht durch Eingabe) und "noch nicht realisiert ist", dass das Feld den Wert hat?

    Hallo,


    ich habe den doppelten Backslash und die Anführungszeichen wieder herausgenommen.
    Das Feld wird nun gefüllt mit : Call uidoc.fieldsettext("Anhangspfad", filenames(0))


    Den Button 'Ansehen' habe ich aktuell belegt mit : @Command([Execute];@GetField(@Text(Anhangspfad)))
    Dadurch öffnet sich der Browser mit dem Pfad C:\Program Files (x86)\IBM\Lotus\Notes\framework


    Ich glaube er sucht, dort nach dem Programm ...

    Guten Morgen,


    ein Button "Ansehen" mit der Formula-Belegung: @Command([Execute];"C:\\Program Files (x86)\\Adobe\\Reader 11.0\\Reader\\AcroRd32.exe";"C:\\Temp\\test.pdf") funktionert einwandfrei > Datei wird bei Drücken des Knopfes geöffnet.


    Jetzt gibt es bei mir jedoch die Konstellation, dass ein erster Benutzer über einen anderen Button "Hochladen" ein Feld mit Pfad und Dateinamen bestimmt. Ich wandle dies in die notwendige Form "C:\\Temp\\test.pdf". (Feld benötige ich für eine angebundene Anwendung!)


    Nun soll er und/oder ein zweiter(späterer) Benutzer die Möglichkeit haben über "Ansehen" das Dokument in einer anderen Anwendung anzusehen. Also habe ich versucht die Formel aus der ersten Zeile entsprechend anzupassen.
    Den Anwendungsnamen kann man herauslassen, sofern die notwendige Anwendung zum Öffnen in Windows belegt ist.
    > @Command([Execute];"C:\\Temp\\test.pdf")
    Jetzt kommt der Knackpuckt- ich bekomme den Feldnamen nicht ohne Fehler in die Formel.
    @Getfield, @Text, ... alles ausprobiert- zumeist interpretiert Notes den Formelausdruck als auszuführendes Programm, welches er nicht findet ...


    Hat jemand eine Idee, wie ich gewünschte Funktionaliät erreichen kann?


    Besten Dank und freundliche Grüße!


    Marc Dittberner

    Konnte mich nicht entfernen...
    Es war zu den falschen Variablen-Definitionen ein zeitleiches Problem.
    Nachdem ich den Aufruf aus dem 'OnChange' in 'Exiting' herübergeführt hatte, funktionierte es.


    Sub Exiting(Source As Field)
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = ws.CurrentDocument

    ' SUMMIEREN
    Dim umsatz As String
    Dim umsatzsumme As String
    Dim umsatz2 As Double
    Dim umsatzsumme2 As Double
    Dim summe As Double

    umsatz = uidoc.FieldGetText("Umsatz_1")
    umsatz2 = Cdbl(umsatz)
    umsatzsumme = uidoc.FieldGetText("UmsatzSumme")
    umsatzsumme2 = Cdbl(umsatzsumme)
    summe = umsatz2 + umsatzsumme2
    Call uidoc.FieldSetText("Umsatzsumme", Cstr(summe))
    End Sub


    Nun muss ich dem Feld nur noch vermitteln, dass, wenn der Wert in dem Feld geändert wird, der alte in der UmsatzSumme subtrahiert und der neue addiert wird - eine Idee?
    Kann ich im OnClick eine Variable füllen und diese dann im Exiting verwenden? Oder gibt es eine andere Lösung?

    Hallo Urs,


    dank dir für die zügige Meldung!


    Umsatz_1_1 ist definiert als Nummernfeld (Währung), daher hatte ich es noch einmal in einen String gewandelt. (wg. Fehler: Incorrect argument type; string expected)


    Ich habe scheinbar noch ein weiteres schwergewichtigeres Probelem:
    Das Ergebnis "0" ist der Inhalt des Feldes, welches rechts von Umsatz_1_1 steht- sehr merkwürdig! (Evtl. auch der Verursacher des Fehlers)


    Lasse es erst einmal bis morgen ruhen, denn es scheint doch schwerer zu sein, zwei Währungsfelder zu summieren?


    Beste Grüße und eine gute Zeit!


    Marc

    Hallo ForumsmitgliederInnen,


    ich habe das Netz und die Beiträge schon nach der Lösung durchforstet, doch nichts Passendes gefunden - nur Stückwerk.
    Nach etlichen Versuchen, möchte ich die Lösungsfindung abkürzen und euch um ein wenig Zeit bitten- es sollte für euch ein Einfaches sein!


    Ich habe eine Tabelle in welcher mehrere nummerische Währungswerte eingetragen werden.
    Aus den gefüllten Feldern möchte ich eigentlich nur die Summe in einem Feld außerhalb dieser Tabelle laufend bilden.


    Die Idee war nun in den Wertefeldern in der Aktivität 'On Change' die Summe immer um den Eintrag zu erweitern.


    Folgendes Formelwerk habe ich nun zusammengestellt ... das Ergebnis ist "0"???


    Sub Onchange(Source As Field)
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim umsatz As String
    Dim umsatzsumme As String
    Dim umsatz2 As Integer
    Dim umsatzsumme2 As Integer
    Dim summe As Integer
    Set uidoc = ws.CurrentDocument


    umsatz = uidoc.FieldGetText(Cstr(Umsatz_1_1))
    umsatzsumme = uidoc.FieldGetText(Cstr(UmsatzSumme))
    umsatz2 = Val(umsatz)
    umsatzsumme2 = Val(umsatzsumme)
    summe = umsatz2 + umsatzsumme2
    Call uidoc.FieldSetText("UmsatzSumme", Cstr(summe))


    End Sub


    Für eure Hilfe wäre ich euch sehr verbunden!


    Folgendes habe ich schon probiert ohnedass es Erfolg brachte:


    ' summe = uidoc.FieldGetText(Cstr(Umsatz_1_1))
    ' summe = uidoc.FieldGetText(Umsatz_1_1)
    ' Call uidoc.FieldSetText("UmsatzSumme", summe) >> String expected
    ' Call uidoc.Document.ReplaceItemValue("UmsatzSumme", Umsatz_1_1) >> Nichts passiert
    ' Call uidoc.FieldSetText("UmsatzSumme", uidoc.FieldGetText(Umsatz_1_1)) >> String expected
    ' Call uidoc.FieldSetText("UmsatzSumme", uidoc.FieldGetText(Cstr(Umsatz_1_1))) >> "H"
    ' Call uidoc.FieldSetText("UmsatzSumme", Cint(uidoc.FieldGetText(Cstr(Umsatz_1_1)))) >> String found, Short expected
    ' Call uidoc.Document.ReplaceItemValue("UmsatzSumme", Cint(uidoc.FieldGetText(Cstr(Umsatz_1_1)))) >> String found, Short expected
    ' Call uidoc.FieldSetText("UmsatzSumme", Clng(uidoc.FieldGetText(Cstr(Umsatz_1_1)))) >> String found. Long expetced
    ' Call uidoc.FieldSetText("UmsatzSumme", Cstr(uidoc.FieldGetText(Cstr(Umsatz_1_1)))) >> "H"
    ' Call uidoc.Document.ReplaceItemValue("UmsatzSumme",uidoc.FieldGetText(Cstr(Umsatz_1_1))) >> Nichts passiert


    Beste Grüße und eine gute Zeit!