Beiträge von harmonyker

    Hallo taurec,
    Danke,ich habs mir schon gedacht. Siehst Du Chancen, wenn man die Felder via Formelsprache in den Spalten anzeigt, das man dann bei den Antwortdokumenten eine andere Schriftfarbe einstellen kann? Wenn ja, wie geht das? In der Antwortdokumentspalte geht das ja.Dann habe ich aber immer eine "Flatterdarstellung" der 3 Feldinhalte.
    Danke für Deine Hilfe.
    Klaus Dewald

    GutenAbend,
    gibt es eine Möglichkeit in einer Ansicht 3 Felder aus den Antwortdokumenten so zu plazieren, das diese nach den übergeordneten Spalten ausgerichtet sind? Oder alternativ, kann man mehr als eine Spalte in einer Ansicht für Antwortdokumente definieren und beliebig plazieren? Letzteres scheinbar nicht.
    Ich habe leider weder hier im Forum noch bei Google noch in der mir vorliegenden IBM Literatur zu diesem Problem eine eindeutige Antwort gefunden.
    Vielen Dank für jeden Hinweis.
    Klaus Dewald

    tut mir leid, das verstehe ich nicht. Wie soll ich in ein Feld der Maske etwas reinschreiben bevor die Maske existiert?
    Der Inhalt derDialogbox wird nicht gespeichert sondern dient nur zur Auswahl. Um es genauer zu beschreiben. Ich baue in unsere Mailschablone eine Gruppenauswahl ein mit zentraler Gruppenablage. Ich weiß das man Gruppen auch anders definieren kann. Aber wir möchten in den Gruppen unterscheiden zwischen "AN" und "cc"Personen. Und das geht mit Notes Bordmitteln meines Wissens nicht. Also,für einen unwissenden, wie soll das gehen?


    Vielen Dank
    Klaus Dewald

    tut mir leid,weder in dem einen, noch in dem anderen Ereignis wird das Script durchgeführt. Das Feld "gruppen" bleibt leer. Ich lasse es mir jetzt extra wieder anzeigen.


    Wie schon geschrieben,ich benutze die Maske in einer modalen Dialogbox. Die verhält sich wohl anders als eine "normale" Maske.


    Noch ein Tipp?
    Danke
    Klaus Dewald

    Hallo taurec,
    Danke für den Hinweis. Ich habe also ein Feld über dem bisherigen positioniert und unsichtbar gemacht. Nun habe ich das Problem der Ereignisauswahl. Wenn ich den Code im "Initialize" einsetze, dann wird der Befehl ReplaceItemValue abgewiesen mit "Object not set".
    Setze ich den Code in "Entering" ein, dann wird er nicht durchlaufen da dieses Ereignis nicht eintritt (Feld ist hidden). Gleiches gilt bei "Exiting". Und in "Terminate" passt es sicher nicht hinein. Denn ich brauche es bevor die Maske beendet wird.
    Das Script funktioniert. Ich habe mir das Feld erst einmal sichtbar gelassen und geschaut was reinkommt.


    Hier das Script:
    Dim ns As New NotesSession
    Dim ws As New NotesUIWorkspace
    Dim aktDoc As NotesUIDocument
    Dim aktIT As NotesItem
    Dim db As NotesDatabase
    Dim doc As NotesDocument

    Dim Feldname As String
    Dim Zaehler As Integer
    Dim ZaehlName As String
    Dim Liste As String

    Set db = New NotesDatabase("domino1","names.nsf")
    Set doc = db.GetProfileDocument("fm_grpv")
    Set aktDoc = ws.CurrentDocument

    Liste = ""
    For Zaehler = 1 To 17
    ZaehlName = Format(Zaehler,"00;0%")
    Feldname = "name_g"+Zaehlname
    Set aktIT = Doc.GetFirstItem(Feldname)
    Liste = Trim(Liste)+aktIT.Text+"|"+Cstr(Zaehler)+","
    Next
    Call aktDoc.Document.ReplaceItemValue("gruppen",Liste)


    Der Inhalt kann dann im anderen Feld mit @Explode eingetragen und sichtbar gemacht werden. Aber auch das funktioniert nicht automatisch sondern erst wenn ich weiter wandere.
    Und zu guter Letzt hatte ich nicht erwähnt das die Maske in einem modalen Dialogfenster geöffnet werden soll. Dies hat zur Folge das auch das Script scheinbar nicht mehr funktioniert. Debuggen geht dort leider nicht. Auch wenn ich das unsichtbare Feld erst einmal sichtbar lasse funktioniert beim Exiting das Script nicht. Es wird nichts eingetragen wenn das Dialogfenster benutzt wird.


    Hast Du einen Tipp wie ich das bewerkstelligen kann?


    Danke vorab
    Klaus Dewald


    LN 8.5.1FP2 mit Domino 8.5.1 FP2

    Hallo,
    ich möchte ein Profildokument, welches ich selbst in unserer zentralen names.nsf erzeugt habe, von einer Anwendung wieder auslesen. Mit Lotusscript auch kein Problem. Nun möchte ich aber einige Informationen daraus für ein Optionsfeld als Auswahlpunkte laden. Prinzipiell habe ich die Formel dafür auch generieren können. Jedoch erhalte ich nur dann ein Ergebnis wenn das Profildokument in meiner eigenen DB enthalten ist. Es soll aber nur an einer Stelle zentral abgelegt sein. Da im Profildokument auch Felder für Benutzernamen enthalten sind, wurde unser zentrales Adressbuch als Ablageort auserkoren. Die nachfolgende Formel ist dem Optionsfeld in "Formel für Auswahl verwenden" zugeordnet.


    _fn := "name_g";
    _gruppen :="";
    @For (_z:=1; _z <= 17;_z:=_z +1;
    @If(_z<10;_fname := _fn +"0"+@Text(_z);_fname := _fn +@Text(_z));
    _gruppen := _gruppen +","+@GetProfileField("fm_grpv";_fname)+"|"+@Text(_z));
    @Explode(_gruppen;",")


    Ich habe auch schon
    @Command([FileOpenDatabase];"domino1":"names.nsf"); vor die For Schleife gesetzt. Doch dann bekomme ich die Meldung "@Command oder ander UI ....sind an dieser Stelle nicht erlaubt".
    Wie gesagt, die Formel funktioniert einwandfrei solange das Profildokument in meiner lokalen Anwendung enthalten ist.


    Eine Suche im Forum blieb erfolglos da alles zum thema Profildokument immer in der jeweiligen Anwendung verblieb.


    Wie komme ich aber in der Formelauswahl von der Anwendung in die andere DB?


    Vielen Dank für jeden Hinweis
    Klaus Dewald

    @SetDocField speichert das Dokument das verändert wird
    und welches das ist, wird durch die docid bestimmt, richtig?


    In der Maske die zur Erfassung der Ausbuchungsdaten bestimmt ist, gibt es 4 berechnete Felder. Diese bekommen aus dem Artikelstamm die Werte Artikel-Nr, Bezeichnung, Bestand und ein Datumsfeld welches mit dem Tagesdatum gefüllt wird. Hierbei werden die Inhalt z.B. über ein @DBLookup aus der View ($ArtikelnachID) geholt.


    Die beiden restlichen Felder sind bearbeitbar und erhalten vom User die Anzahl und die Kostenstelle.


    Dann soll gespeichert werden und der Bestand berechnet und zurück geschrieben werden. Es gibt also eine Beziehung zwischen Ansicht und Maske - nämlich das Feld Artikel_Bestand welches in der Ansicht angezeigt wird und durch die @SetDocField Funktion verändert werden soll.


    Hast Du so was gemeint? Was sagt mir das?

    Ja, bin ich mir. Ich habe derzeit nur wenige Dokumente in der DB. Sehr überschaubar und ich habe die ID die ch bekomme mit @Prompt anzeigen lassen und mit einer Ansicht, die auch die ID anzeigt, im Designer verglichen. Sie ist genau die ID von dem Artikel den ich ausbuchen will.


    Dein Hinweis zu FileSave bringt mich aber auf einen Weg. Das Ausbuchen findet aus einer Maske heraus statt. Durch drücken des "Speichern" Buttons wird der gezeigte Ablauf durchgeführt. Dann erfolgt das Save. Wenn dieses Save nun nicht die Artikelstammänderung betrifft, dann kann ja auch nichts geändert werden. Das Ausbuchungsdokument wird gespeichert. Fragt sich, wie kann ich denn dann die Änderung des Artikels speichern? Vielleicht muss ich den Ausbuchungsablauf an eine andere Stelle lagern?
    Hast Du dazu einen Tipp?
    Danke schon einmal für den Hinweis.

    Hallo taurec,


    klare Antwort - Jein. Folgendes Szenario:
    Artikelstamm - darauf aufbauend Bestellungen - daraus entstehen Offene Bestellungen - Wareneingang - Eingang buchen. Hier stehe ich in einer Ansicht auf dem Artikel aus der Bestellung (eigenes Dokument mit entsprechender Kennung zur Unterscheidung) und hole mir den Artikel (mit Artikel-Nr) aus dem Artikelstamm und natürlich diese docid. Dann bestand addieren und zurück speichern in den Artikelstamm.
    Beim Ausbuchen passiert im Prinzip das gleiche. Ich stehe auf dem Artikel aus dem Artikelstamm mit dem aktuellen Bestand und öffne eine Maske und kopiere mir Basisdaten aus dem Artikel da hinein (Neues Dokument mit entsprechender Kennung). Ich erfasse die Anzahl und eine Kostenstelle und speichere ab. Nun soll in das Dokument aus dem Artikelstamm der subtrahierte, neu berechnete Bestand eingetragen werden. Die docid die ich jetzt hole ist tatsächlich auch die vom Artikelstamm. Nicht aus dem gerade erzeugten Ausbuchungsdokument das zu Dokumentationszwecken und Kostenzuordnungen auch weggespeichert werden soll. Insofern also eindeutig Ja weil es die richtige ID ist, aber nein weil es nicht die ID von dem Dokument auf dem ich gerade stehe ist. In beiden Fällen nicht.


    Vielen Dank fürweitere Tipps.


    harmonyker

    Guten Tag,
    ich habe in meinem Programm an zwei Stellen einen äußerst ähnlichen Aufbau für das Ein- bzw. Ausbuchen von Beständen.
    Das Einbuchen sieht so aus:
    docid := @DbLookup("Notes":"NoCache";@DbName;"($ArtikelnachID)";erf_Produkt_ArtNr;1;[ReturnDocumentUniqueID]);
    bestand := @DbLookup("Notes":"NoCache";@DbName;"($ArtikelnachID)";erf_Produkt_ArtNr;"Artikel_Bestand");
    bestand := bestand + @ToNumber(erf_Produkt_Anzahl);
    @SetDocField(docid;"Artikel_Bestand";bestand);
    @SetField("erf_Produkt_Status";"erledigt");
    @Command([FileSave]);
    @Command([ViewRefreshFields]);


    Das Ausbuchen ist so programmiert:
    docid := @DbLookup("Notes":"NoCache";@DbName;"($ArtikelnachID)";erf_Ausbuchung_ArtikelNr;1;[ReturnDocumentUniqueID]);
    bestand := @DbLookup("Notes":"NoCache";@DbName;"($ArtikelnachID)";erf_Ausbuchung_ArtikelNr;"Artikel_Bestand");
    bestand := bestand - @ToNumber(erf_Ausbuchung_Anzahl);
    @SetDocField(docid;"Artikel_Bestand";bestand);
    @Command([FileSave]);
    @Command([ViewRefreshFields]);


    Beide Funktionen werden durch je einen Button gestartet. Das Einbuchen findet aus einer Ansicht auf dem Artikel stehend, das Ausbuchen, nach Auswahl des Artikels aus einer Ansicht in eine Maske, heraus statt.


    Das Einbuchen klappt einwandfrei. Das Ausbuchen überhaupt nicht. Der neu berechnete Bestand wird nicht zurück gespeichert. Durch @Prompt Ausgaben an den entsprechenden Stellen konnte ich sehen, das auch beim Ausbuchen die docid und der Wert von "bestand" richtig ausgewählt bzw. berechnet werden.


    Woran könnte das liegen?


    Vielen Dank für jeden Tipp.


    Ach ja, ich bin Anfänger im Programmieren mit Notes, also nicht zu viel voraussetzen. Programmiererfahrung in anderen Sprachen habe ich allerdings reichlich.


    harmonyker

    Leider habe ich hier im Forum keine L&ouml;sung auf meine Fragen gefunden. Schade. 2 dicke W&auml;lzer in Verbindung mit ca. 60 Stunden Testen und Ausprobieren haben mir dann die L&ouml;sung meines simplen Problems gebracht. Ich bin schwer entt&auml;uscht &uuml;ber die Entwicklung in Notes. In Delphi w&auml;re so etwas in 5 Sekunden erledigt gewesen. Hier muss man umst&auml;ndlich mit Lostusscript sich die Daten suchen und dann auch noch den Platz suchen wo sie hin sollen. Na ja, ich hoffe das man mich in Zukunft von der Entwicklung verschont. <br />
    <br />
    taurec Danke f&uuml;r Deine M&uuml;he. Hier ist ein Bild wie sich die Frames darstellen. Vielleicht wird dann einiges klarer. <br />
    <br />
    <img height="598" width="989" src="http://www.dominoforum.de/uploads/newbb/Maske(2).jpg" alt="" /><br />
    <br />
    Damit die Ansicht unten nur die Artikel anzeigt die man gerade im 3. Frame erfasst, ben&ouml;tigte ich die Bestell-Nr. aus dem 2.Frame als Filterkriterium. Und diese Abfrage hat mich nun eine halbe Ewigkeit besch&auml;ftigt. <br />
    <br />
    Viele Gr&uuml;&szlig;e <br />
    KD<br />
    <br />

    Ein Tipp wäre nicht schlecht. Wie würde man das in Script lösen?


    Die Konstellation sieht eine Rahmengruppe mit einer Gliederung (links) und 4 horizontale Rahmen die unterschiedlich hoch sind, vor.
    Im obersten Rahmen werden Adressdaten angezeigt. Das funktioniert.
    Im zweiten Rahmen wird der Bestellkopf (Datum und Unique-ID als Bestell-Nr.) erzeugt und angezeigt. Der Rahmen ist also sehr schmal (2 Felder).
    Im dritten Rahmen gibt es ca. 10 Felder zur Erfassung von Artikeldaten. Diese werden gespeichert mit der dazu gehörigen ID aus dem zweiten Rahmen.
    Im untersten Rahmen ist eine Ansicht auf die Artikel die gerade erzeugt und gespeichert wurden und diese ID tragen.


    Wie schon mal gesagt. Ist eine kleine Bestellverwaltung für unsere IT um einen Überblick über Tinte und Toner zu bekommen. Nichts aufregendes. Aber vielleicht habt Ihr ja dazu auch Ideen.


    Viele Grüße
    Klaus

    Hallo Helmut,
    erst einmal Danke für den Tipp.
    Ich bin normalerweise auch immer sofort bei mir bei der Fehlersuche und meistens ist das auch richtig, doch hier scheint das nicht der Fall zu sein. Dein Hinweis funktioniert bei mir nicht. Ich habe hier einen Designer 8.5.1 und einen Notes Client 8.5.1. Hier habe ich keinen Domino Server sondern "spiele" lokal. Lt. den mir vorliegenden Büchern und der Hilfeddatei sollte das auch einwandfrei funktionieren. Aber es tuts leider nicht. Ich habe nun eine kleine Testanwendung mit nur 2 Masken einem Frame und einem Button gemacht. Gerne würde ich Euch, den Fachleuten, diese mal zur Einsichtnahme zur Verfügung stellen. mangels alter Notes Versionen kann ich das nicht "nach unten" testen. Ich vermute mittlerweile das hat was mit der 8.5 Version zu tun. In der Firma haben wir Domino 8.5.1 und Notes Client noch 8.5 FP1 mit Designer 8.5 FP1. Das Update auf 8.5.1 ist nur eine Frage von 2 - 3 Wochen. Ich muss mein Problem also unter 8.5.1 zum Leben erwecken können.


    Ich habe die Anwendung mal angehängt. Ich hoffe sie ist mit 28 KB nicht zu groß für das Forum.


    Vielen Dank für jede Hilfe
    Klaus